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 1 2 1 0 0 0 0 0 0 3 3 2 1 2 6 14 23 18 8 1 0 0 0 0 0 0 0 0 0 0 0 1 4 14 10 4 0 0 0 0 1 4 3 0 0 0 0 3 4 2 0 0 0 0 0 0 0 2 5 10 14 14 10 3 0 0 0 0 0 4 2 0 1 5 17 29 28 24 23 27 28 16 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 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 1 2 3 5 9 19 30 42 52 60 66 69 68 64 58 52 50 48 48 49 51 53 56 59 60 61 62 63 66 68 70 71 72 76 82 87 86 80 74 71 71 72 72 72 71 68 67 67 67 66 64 60 59 60 59 58 58 60 60 58 56 59 78 105 122 129 127 114 78 100 135 159 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 3 1 0 0 0 0 2 1 0 0 1 4 14 24 28 20 8 1 0 0 0 0 0 0 0 0 0 0 2 8 8 2 0 0 0 0 0 2 1 0 0 0 0 2 8 9 3 0 0 0 0 0 1 3 8 15 21 23 17 5 1 0 0 0 0 2 3 1 0 4 14 30 33 26 23 24 26 18 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 10 19 30 40 49 57 62 64 64 60 54 50 48 47 47 48 49 51 52 53 52 51 49 49 51 53 55 58 64 70 75 75 70 62 58 56 54 52 48 44 42 42 43 44 43 40 36 35 36 40 42 42 39 39 43 49 55 60 75 88 94 91 83 65 102 136 153 154 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 10 10 4 1 0 0 0 1 2 1 0 0 2 10 23 34 37 26 6 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 2 0 0 0 0 0 0 7 10 7 0 0 0 0 1 3 7 14 20 25 28 23 11 0 0 0 0 0 2 5 1 0 2 10 26 38 30 22 20 20 17 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 8 15 23 33 40 45 49 50 50 47 44 41 40 38 38 37 38 38 38 37 36 33 32 31 32 34 39 45 50 53 53 50 44 40 37 34 31 28 23 24 26 27 28 27 24 20 19 21 25 27 24 20 18 20 25 30 34 36 43 49 51 50 42 69 97 112 110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 10 14 11 5 2 0 1 4 4 2 0 0 1 8 22 33 38 34 19 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 2 0 0 0 0 0 6 15 24 23 22 25 26 17 4 0 0 0 0 2 6 6 1 0 7 21 36 36 24 18 15 12 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 8 14 20 25 29 31 32 31 30 28 26 24 22 21 21 21 22 22 21 19 18 16 16 17 20 25 29 32 32 30 27 24 20 18 16 14 12 14 16 19 21 20 17 14 12 10 11 12 9 7 6 6 9 12 14 16 19 25 31 36 31 39 55 66 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 1 4 7 10 10 7 5 7 11 8 2 0 0 2 14 24 26 24 22 19 13 5 1 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 9 18 20 15 11 14 21 18 8 0 0 0 0 2 6 8 4 1 5 18 32 38 28 17 13 10 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 8 11 12 13 13 12 11 10 8 7 7 7 8 9 10 10 10 9 8 7 7 10 13 16 19 20 19 17 14 10 8 8 8 8 10 13 15 17 17 16 14 10 6 4 3 2 2 2 1 2 4 6 8 11 13 16 21 21 27 34 37 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 8 13 16 18 19 11 3 0 1 7 22 26 20 12 8 12 20 17 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 9 16 15 9 4 4 12 16 10 2 0 0 0 3 7 8 5 1 3 15 30 38 32 17 12 8 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 3 2 2 1 1 2 2 3 4 4 5 5 5 5 4 4 5 8 11 13 15 15 13 11 9 7 7 7 8 10 12 14 15 14 14 13 12 9 3 1 0 0 0 0 1 1 2 3 4 4 5 7 11 18 24 24 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 15 24 28 28 16 5 0 2 10 26 30 19 7 2 7 22 27 17 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 12 10 5 2 1 5 14 11 4 0 0 2 7 11 10 5 1 0 8 26 38 37 23 10 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 4 4 4 3 3 4 5 7 9 9 10 9 8 7 7 7 6 7 9 11 12 12 12 11 11 11 8 5 2 0 0 0 0 0 0 0 1 1 1 2 4 8 12 14 12 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 4 15 26 33 34 22 10 3 3 10 26 33 24 10 3 7 23 34 26 12 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 7 6 2 0 0 3 12 14 6 1 1 4 15 23 20 10 2 0 0 15 34 40 30 12 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 1 2 3 4 3 3 2 2 3 4 4 4 4 3 2 2 3 3 4 5 6 8 9 9 8 6 6 5 4 2 1 0 1 0 0 0 0 0 0 0 0 1 5 8 12 13 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 4 14 25 32 33 26 16 9 6 11 25 34 30 18 10 11 25 36 31 16 2 0 0 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 3 0 0 0 1 7 18 8 2 0 4 16 34 38 25 9 0 0 2 23 38 36 20 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 1 2 3 4 4 3 3 2 1 1 1 1 1 1 0 0 0 1 0 0 1 2 4 5 5 3 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 2 5 8 10 10 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 0 0 0 3 12 21 26 26 23 21 18 15 16 24 33 32 26 20 20 28 35 31 18 4 0 2 8 6 2 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 4 0 0 0 0 4 11 15 3 0 3 15 34 50 45 25 8 0 1 8 29 36 26 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 1 2 3 4 4 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 1 3 5 7 8 6 3 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 2 2 1 0 0 0 3 9 15 17 16 16 21 26 26 23 24 28 30 29 28 30 35 37 30 17 4 1 4 11 8 3 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 1 5 4 0 0 0 0 0 4 8 3 0 2 14 32 48 56 43 22 7 1 4 17 31 28 14 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 2 4 4 4 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 1 2 4 5 5 3 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 1 4 2 0 0 0 0 2 5 6 5 4 7 17 27 31 29 23 21 21 24 29 35 42 42 32 17 5 2 5 9 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 3 0 0 0 0 0 2 3 0 0 0 12 29 44 51 48 32 16 7 5 11 24 28 16 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 4 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 1 2 3 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 0 0 0 0 0 0 0 0 0 2 11 22 28 26 18 11 9 12 18 28 37 39 31 18 6 3 5 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 2 0 0 0 0 4 8 5 0 0 0 3 19 32 38 37 29 18 10 6 10 18 25 18 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 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 3 11 17 18 10 3 2 2 5 12 21 27 26 18 10 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 2 1 0 0 1 6 9 5 1 0 0 0 6 18 25 24 19 11 6 5 7 13 20 19 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 6 8 4 1 0 0 1 2 6 10 13 12 10 7 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 0 0 0 3 7 6 4 1 0 0 0 0 6 12 13 10 5 2 1 3 9 16 18 9 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 1 3 5 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 4 8 8 2 0 0 0 0 0 0 4 6 5 2 0 0 0 4 11 15 11 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 8 9 3 0 0 0 0 0 0 0 2 2 1 0 0 1 3 8 12 10 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 5 3 0 0 0 0 0 0 0 0 1 0 0 1 2 4 9 11 9 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 2 5 9 13 14 10 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 7 12 17 19 14 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 14 21 24 19 10 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 14 25 31 28 16 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 11 23 32 33 23 9 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 18 29 32 26 12 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 7 13 23 27 23 13 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 7 10 17 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 7 9 12 13 10 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 7 8 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 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 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 3 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 8 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 9 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Wind_Speed nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 11 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 17 nan nan nan nan nan nan nan nan nan nan nan nan 20 20 20 19 19 19 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 6 6 5 5 4 4 3 3 3 3 4 3 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 7 7 8 8 8 9 10 11 12 13 13 13 12 12 12 11 11 10 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 12 16 17 15 14 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 13 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 16 16 16 17 nan nan nan nan nan nan nan nan nan nan nan 20 20 20 20 20 20 20 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 8 8 8 7 7 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 7 8 8 8 9 10 11 12 13 13 12 12 11 11 10 10 9 9 9 9 9 8 8 7 8 8 9 9 9 9 8 9 12 14 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 20 nan nan nan nan nan nan nan nan nan nan nan 17 15 13 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 17 nan nan nan nan nan nan nan nan 17 17 16 16 17 17 nan nan nan nan nan nan nan nan nan nan 19 20 20 20 20 20 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 10 10 9 9 9 8 8 8 7 7 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 6 7 8 8 9 9 10 12 12 12 12 11 11 10 10 10 9 9 9 8 8 7 7 6 6 7 8 8 8 8 7 7 8 10 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 17 18 nan nan nan nan nan nan nan nan nan nan nan 18 15 13 11 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 17 17 17 17 17 17 nan nan nan nan nan nan nan nan nan nan nan 19 20 20 20 20 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 11 11 10 10 10 9 9 8 8 7 6 6 5 5 4 4 3 4 4 3 3 3 4 4 4 5 5 6 7 8 8 9 10 11 12 12 12 11 10 10 10 10 9 8 8 8 nan nan nan nan nan 6 7 7 7 7 6 6 6 7 8 8 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 nan nan nan nan nan 22 20 18 15 13 12 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 18 18 17 18 18 nan nan nan nan nan nan nan nan nan nan nan 19 20 20 20 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 11 10 10 nan nan nan nan nan nan nan 4 4 nan nan nan nan nan nan 4 4 4 5 5 6 7 8 nan nan nan nan 11 11 11 10 10 10 10 9 nan nan nan nan nan nan nan nan nan nan nan 6 6 5 6 6 6 6 6 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 19 21 22 23 nan nan nan nan 24 22 21 19 nan 15 15 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 nan nan nan 18 18 19 nan nan nan nan nan nan nan nan nan nan 19 19 20 20 20 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 5 nan nan nan nan nan nan 11 11 10 10 10 10 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 5 6 6 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 17 20 22 nan nan nan nan 25 24 23 nan nan nan 18 18 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 nan nan nan nan nan 19 19 nan nan nan nan nan 20 nan nan nan nan nan 20 20 20 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 9 10 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 6 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 17 16 17 20 nan nan nan 25 25 25 25 25 nan nan 21 20 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 nan nan nan nan 20 20 20 20 nan nan nan 20 20 20 21 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 20 18 16 18 21 nan nan 24 24 24 25 25 25 24 23 22 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 20 nan nan nan nan 20 20 20 21 nan nan nan nan 20 20 21 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 24 23 21 19 18 16 17 21 23 24 24 25 25 25 25 24 23 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 20 20 nan nan nan 20 20 20 21 21 nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 13 6 12 21 23 24 25 25 25 24 23 23 23 23 nan nan nan 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 20 20 20 21 21 nan nan nan 21 21 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 11 3 17 21 23 24 24 23 22 21 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 nan nan nan nan nan nan nan nan nan 20 20 20 20 21 21 21 nan nan 21 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 18 15 17 20 22 nan 22 21 20 19 20 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 20 21 21 21 21 22 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 19 nan nan nan nan nan 20 19 20 21 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 22 22 22 nan nan nan 22 22 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 nan nan nan nan nan 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 23 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 23 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 23 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Wind_Direction nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 2 357 359 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 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 0 360 360 nan nan nan nan nan nan nan nan nan nan nan nan 4 4 4 3 2 1 1 1 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 277 275 273 270 263 254 243 233 226 222 219 213 210 206 203 202 204 204 201 192 178 164 151 144 141 140 139 135 130 125 122 120 119 118 115 111 106 101 100 100 103 105 106 107 107 108 108 110 110 110 111 111 111 110 111 113 114 113 113 113 111 103 92 87 98 107 109 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 9 3 358 360 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 360 359 359 360 nan nan nan nan nan nan nan nan nan nan nan 4 5 5 5 4 3 2 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 290 289 287 284 281 279 275 271 267 263 259 253 249 243 237 232 229 226 220 209 192 175 162 155 151 151 151 148 140 133 127 124 121 120 118 115 111 106 102 101 103 105 107 109 109 109 110 111 112 113 113 114 115 115 116 118 118 117 116 116 117 115 108 100 107 112 111 105 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 23 nan nan nan nan nan nan nan nan nan nan nan 15 9 2 357 358 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 nan nan nan nan nan nan nan nan 2 1 360 359 359 0 nan nan nan nan nan nan nan nan nan nan 3 4 5 5 5 5 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 298 296 294 293 291 290 289 287 284 280 275 270 265 260 253 247 240 226 208 188 177 171 171 172 174 167 155 145 135 130 124 121 119 117 114 110 105 103 104 107 110 111 111 111 111 112 114 115 116 118 119 120 121 122 123 124 122 123 123 126 128 119 117 116 114 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 15 18 nan nan nan nan nan nan nan nan nan nan nan 15 7 359 354 356 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 2 1 360 360 1 nan nan nan nan nan nan nan nan nan nan nan 3 4 5 5 5 5 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 303 302 300 300 299 298 296 293 289 285 280 273 267 260 251 240 222 206 195 190 189 191 189 182 169 156 146 137 130 124 121 119 116 113 109 106 105 107 109 112 113 112 111 113 116 118 121 nan nan nan nan nan 127 131 132 132 131 133 137 135 130 126 121 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 31 nan nan nan nan nan 28 22 15 7 359 354 1 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 4 4 3 2 2 2 nan nan nan nan nan nan nan nan nan nan nan 3 3 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 306 305 304 302 299 295 nan nan nan nan nan nan nan 236 225 nan nan nan nan nan nan 176 167 159 151 141 133 126 123 nan nan nan nan 107 107 110 112 113 112 110 111 nan nan nan nan nan nan nan nan nan nan nan 142 143 144 143 141 140 137 133 127 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 19 26 29 31 nan nan nan nan 34 29 24 19 nan 6 5 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 4 4 nan nan nan 3 3 4 nan nan nan nan nan nan nan nan nan nan 2 3 4 5 5 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 187 182 180 171 155 142 nan nan nan nan nan nan 109 109 112 113 113 110 109 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 152 146 140 135 131 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 10 14 21 28 nan nan nan nan 37 34 32 nan nan nan 14 13 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 nan nan nan nan nan 5 5 nan nan nan nan nan 6 nan nan nan nan nan 3 4 5 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 115 112 112 115 115 112 110 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 149 140 131 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 13 8 11 22 nan nan nan 38 36 36 36 36 nan nan 23 19 17 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 6 nan nan nan nan 6 6 6 6 nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 155 143 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 32 24 14 9 14 28 nan nan 34 34 35 38 40 39 34 29 24 21 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 6 nan nan nan nan 5 6 7 7 nan nan nan nan 4 6 7 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 158 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 31 24 19 15 37 37 29 30 31 34 38 41 40 36 31 27 25 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 6 nan nan nan 4 4 6 7 7 nan nan nan nan 6 8 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 33 30 29 30 93 100 8 23 28 33 37 39 38 34 28 27 26 25 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 4 4 5 6 7 8 nan nan nan 7 8 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 87 122 29 8 22 29 33 33 30 24 19 21 24 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 4 4 5 6 7 8 9 nan nan 9 10 10 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 49 34 4 6 16 23 nan 26 21 15 12 15 21 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 5 6 6 8 9 10 nan nan nan 10 11 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 34 22 15 nan nan nan nan nan 14 13 16 21 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 7 8 9 10 11 nan nan nan 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 21 23 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 9 10 11 nan nan nan nan nan 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 17 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 16 16 17 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 15 15 16 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 13 14 15 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 13 14 16 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 12 13 15 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 12 13 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 -6 -6 -7 -7 -8 -9 -10 -12 -14 -15 -16 -16 -14 -14 -12 -10 -5 3 8 10 9 7 5 2 -1 -1 -0 1 0 -1 -3 -5 -8 -11 -14 -17 -19 -20 -20 -20 -19 -18 -17 -16 -16 -16 -18 -19 -20 -20 -19 -18 -17 -17 -17 -17 -17 -16 -15 -14 -14 -14 -14 -11 -4 2 0 -6 -11 -12 -13 -14 -15 -16 -16 -15 -14 -13 -13 -14 -14 -14 -13 -13 -13 -13 -13 -14 -14 -10 -5 -1 -0 -1 -4 -8 -9 -7 -4 -2 -2 -4 -6 -6 -6 -7 -7 -7 -6 -5 -3 -1 -0 -2 -4 -7 -7 -6 -4 -3 -3 -4 -6 -5 -2 0 0 -1 -3 -3 -2 -2 -4 -6 -7 -7 -7 -8 -9 -9 -9 -7 -7 -7 -8 -9 -11 -12 -12 -10 -9 -8 -8 -9 -9 -10 -10 -9 -9 -8 -8 -9 -11 -11 -11 -9 -8 -9 -10 -11 -12 -12 -12 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -11 -10 -9 -8 -8 -7 -7 -6 -6 -5 -4 -4 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -0 -0 0 0 0 1 1 0 -0 -1 -2 -2 -3 -4 -3 -2 -2 -1 -2 -4 -5 -6 -6 -7 -7 -7 -7 -6 -6 -7 -7 -7 -7 -7 -7 -9 -11 -11 -11 -10 -11 -12 -13 -12 -11 -9 -8 -8 -8 -9 -10 -9 -9 -8 -8 -8 -7 -7 -6 -5 -5 -4 -3 -2 -1 -0 -0 -1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 0 1 2 3 4 4 5 6 8 10 12 14 15 16 17 18 18 18 18 18 18 17 17 16 16 16 15 15 15 15 14 14 14 13 13 13 13 13 13 13 13 13 15 16 18 20 20 19 16 12 8 4 2 1 1 3 4 5 5 4 4 4 3 3 3 2 2 1 0 -1 -1 -1 -0 1 1 -1 -3 -5 -7 -8 -9 -12 -14 -14 -13 -13 -14 -16 -17 -17 -16 -13 -12 -11 -10 -8 -6 -7 -10 -11 -7 4 20 24 19 11 2 -3 8 21 27 21 11 -4 -5 -7 -8 -9 -10 -11 -13 -14 -15 -15 -15 -14 -12 -11 -8 -2 5 9 10 9 8 8 6 5 4 4 2 1 -0 -2 -5 -8 -11 -14 -17 -19 -20 -20 -20 -19 -19 -18 -18 -17 -17 -18 -18 -18 -18 -18 -18 -18 -19 -19 -18 -17 -15 -15 -15 -16 -17 -17 -16 -11 -4 -1 -3 -8 -11 -13 -14 -16 -16 -16 -15 -13 -13 -14 -15 -15 -15 -14 -14 -14 -14 -15 -15 -15 -10 -3 1 -0 -4 -8 -9 -6 -2 -1 -1 -4 -6 -7 -7 -7 -7 -6 -5 -4 -3 -1 0 -1 -3 -6 -7 -6 -5 -3 -2 -4 -5 -6 -3 0 1 0 -1 -2 -2 -2 -4 -6 -7 -7 -6 -7 -8 -9 -9 -8 -7 -7 -8 -10 -11 -12 -11 -9 -8 -8 -9 -10 -10 -10 -9 -9 -8 -8 -9 -10 -11 -12 -11 -10 -9 -9 -10 -11 -11 -11 -11 -11 -12 -12 -12 -11 -11 -11 -11 -11 -11 -10 -9 -8 -8 -7 -7 -7 -6 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -0 0 1 1 1 1 1 0 -1 -1 -2 -2 -2 -1 -0 0 -0 -2 -4 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -7 -7 -8 -9 -10 -10 -8 -8 -8 -10 -12 -12 -10 -8 -7 -7 -8 -9 -9 -8 -7 -6 -6 -7 -6 -5 -5 -5 -4 -4 -3 -2 -1 -1 -0 0 0 -0 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -2 -2 -1 -1 0 1 2 3 3 4 4 5 6 8 10 12 14 16 17 18 18 18 18 18 18 18 18 18 17 17 16 16 15 15 15 15 15 15 15 14 14 14 14 14 13 13 12 13 15 17 19 20 20 19 16 13 9 6 4 3 4 5 6 6 6 5 4 4 3 2 1 0 -0 -1 -2 -2 -2 -1 -0 -1 -3 -5 -8 -10 -10 -11 -12 -14 -15 -15 -16 -17 -18 -19 -18 -17 -16 -15 -15 -13 -11 -9 -9 -11 -11 -9 -2 7 11 8 1 -8 -13 1 19 23 15 5 -3 -5 -8 -10 -11 -11 -12 -14 -14 -15 -14 -14 -12 -10 -8 -4 2 8 11 12 11 11 13 12 12 10 7 4 2 2 -1 -4 -8 -11 -14 -17 -19 -20 -21 -20 -20 -19 -19 -19 -19 -19 -18 -17 -16 -16 -15 -16 -17 -19 -20 -19 -17 -16 -16 -17 -18 -19 -19 -18 -16 -11 -5 -1 -2 -9 -14 -16 -16 -16 -16 -15 -14 -14 -14 -14 -15 -16 -17 -17 -17 -16 -16 -14 -13 -9 -3 -0 -3 -7 -9 -7 -1 2 1 -1 -4 -6 -7 -7 -5 -4 -3 -3 -2 -1 -0 -1 -3 -5 -6 -6 -5 -3 -2 -3 -5 -6 -5 -1 1 1 -0 -1 -2 -2 -4 -7 -8 -7 -6 -6 -8 -9 -9 -9 -7 -7 -8 -10 -12 -12 -10 -9 -7 -7 -9 -11 -11 -10 -9 -9 -9 -9 -10 -10 -11 -12 -11 -11 -10 -10 -10 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -8 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 1 2 2 2 1 1 -0 -0 -0 -0 0 1 1 -0 -2 -4 -6 -6 -5 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -8 -8 -9 -8 -7 -6 -5 -6 -8 -11 -12 -10 -7 -6 -7 -8 -9 -8 -7 -5 -4 -4 -5 -5 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -0 0 0 0 0 0 -0 -0 -1 -1 -1 -1 -1 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 1 1 2 3 3 4 4 4 5 6 7 9 11 13 15 17 19 19 20 20 20 20 20 20 20 20 19 18 17 16 16 16 16 16 16 16 16 16 15 15 14 13 12 12 12 13 15 18 19 21 20 19 17 14 12 10 8 8 8 9 8 8 7 6 5 4 2 1 -0 -1 -2 -2 -2 -2 -2 -1 -2 -4 -7 -10 -12 -12 -12 -13 -14 -15 -16 -17 -19 -19 -19 -19 -18 -18 -17 -17 -16 -14 -12 -12 -13 -12 -9 -4 -1 -3 -5 -8 -12 -15 -4 10 13 5 -4 -3 -7 -9 -11 -11 -11 -11 -12 -13 -13 -12 -11 -9 -7 -4 0 6 12 14 14 14 15 17 17 16 13 9 5 5 4 1 -4 -8 -11 -14 -17 -19 -20 -20 -20 -20 -20 -20 -20 -20 -20 -19 -18 -16 -14 -13 -11 -12 -17 -21 -21 -19 -16 -15 -17 -19 -21 -22 -23 -21 -16 -9 -2 1 -3 -14 -18 -17 -16 -16 -16 -15 -14 -13 -13 -14 -16 -18 -18 -17 -17 -15 -13 -11 -8 -4 -2 -5 -9 -6 -1 3 4 2 -0 -4 -6 -5 -4 -1 -0 -1 -2 -2 -1 -1 -3 -5 -6 -6 -5 -3 -2 -2 -5 -6 -6 -3 1 1 0 -1 -2 -2 -4 -7 -8 -7 -6 -5 -7 -9 -10 -9 -8 -8 -9 -11 -12 -12 -11 -8 -7 -7 -9 -11 -12 -11 -9 -9 -10 -11 -12 -12 -11 -11 -11 -11 -11 -10 -11 -11 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 0 1 2 2 2 2 1 1 1 1 1 1 1 -0 -2 -3 -4 -4 -3 -2 -2 -3 -3 -4 -4 -4 -5 -5 -6 -7 -8 -8 -7 -5 -4 -3 -5 -7 -9 -10 -9 -7 -6 -6 -7 -8 -8 -6 -4 -3 -3 -4 -4 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -0 0 1 1 1 1 0 0 0 0 0 0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 2 2 3 4 4 4 4 5 5 6 7 9 11 13 15 17 19 20 21 22 22 23 23 23 23 22 21 20 20 19 18 18 18 18 18 18 18 18 17 16 15 14 13 13 12 13 14 16 18 20 21 20 19 18 17 15 13 12 12 11 10 9 8 7 6 5 3 1 -0 -1 -1 -2 -2 -3 -3 -3 -3 -6 -9 -12 -14 -14 -14 -13 -14 -15 -16 -18 -20 -20 -20 -19 -19 -18 -18 -18 -17 -16 -14 -14 -15 -14 -10 -5 -3 -4 -6 -8 -8 -8 -2 4 5 -0 -7 -4 -7 -10 -11 -11 -10 -10 -10 -10 -10 -9 -7 -5 -4 -1 3 9 14 15 14 14 16 18 18 16 12 8 6 5 4 -0 -5 -9 -12 -14 -16 -18 -19 -20 -20 -20 -21 -21 -22 -22 -21 -21 -20 -18 -16 -13 -11 -10 -12 -18 -21 -21 -17 -14 -15 -18 -22 -25 -25 -22 -19 -15 -10 -5 -3 -12 -16 -16 -15 -15 -15 -15 -13 -12 -12 -14 -16 -17 -16 -16 -16 -15 -12 -9 -4 -3 -5 -7 -8 -3 3 4 4 2 -0 -3 -3 -1 1 2 0 -2 -3 -2 -2 -3 -6 -7 -6 -5 -3 -2 -1 -3 -6 -6 -4 -0 2 1 -1 -2 -2 -4 -6 -8 -8 -6 -5 -6 -9 -10 -10 -9 -8 -9 -11 -13 -13 -11 -9 -7 -6 -9 -11 -12 -12 -10 -9 -10 -12 -13 -13 -12 -11 -11 -11 -11 -11 -11 -12 -12 -11 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -2 -1 0 1 2 2 2 2 2 1 1 1 1 1 0 -1 -1 -2 -1 -0 -0 -0 -1 -2 -2 -2 -2 -2 -3 -4 -5 -6 -6 -5 -4 -2 -2 -4 -6 -8 -9 -8 -6 -5 -6 -7 -7 -7 -5 -3 -2 -2 -3 -3 -2 -1 -2 -2 -2 -2 -1 -1 -0 -0 -0 0 0 1 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 2 2 3 3 4 4 5 5 5 5 5 6 7 8 10 12 14 16 18 20 22 23 23 24 24 24 24 24 23 23 22 22 21 21 20 20 19 19 19 19 19 18 18 17 16 15 15 15 15 16 17 18 20 20 20 20 19 18 17 15 14 12 11 9 8 7 6 5 3 2 1 1 0 -1 -2 -3 -4 -4 -5 -7 -9 -12 -14 -14 -14 -13 -14 -15 -17 -19 -20 -20 -20 -19 -19 -19 -19 -18 -18 -17 -15 -15 -15 -15 -12 -7 -5 -4 -6 -6 -5 -3 -1 1 -0 -3 -6 -5 -7 -9 -10 -10 -9 -8 -7 -7 -7 -6 -5 -4 -2 -0 3 9 12 11 11 11 12 13 12 10 7 5 3 2 -1 -4 -8 -11 -13 -15 -16 -18 -19 -19 -19 -19 -20 -21 -22 -23 -23 -23 -22 -22 -20 -18 -17 -16 -15 -14 -15 -17 -17 -14 -15 -18 -21 -23 -22 -20 -18 -18 -18 -17 -14 -15 -16 -15 -14 -13 -13 -13 -11 -11 -12 -13 -14 -14 -14 -14 -15 -16 -13 -8 -4 -4 -6 -8 -7 -2 3 3 2 1 -0 -0 1 2 3 1 -3 -5 -4 -2 -3 -5 -8 -8 -6 -3 -1 0 -1 -4 -6 -5 -1 2 3 1 -1 -3 -4 -6 -8 -7 -6 -5 -6 -8 -10 -10 -9 -8 -9 -10 -12 -13 -11 -8 -7 -6 -8 -11 -12 -12 -10 -8 -9 -12 -14 -14 -12 -11 -11 -11 -12 -12 -11 -12 -12 -12 -11 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 -1 0 1 1 2 2 2 2 2 1 1 1 1 0 0 0 1 2 2 2 1 1 1 1 1 1 -0 -1 -3 -4 -4 -3 -2 -2 -2 -4 -6 -7 -7 -6 -5 -5 -5 -6 -6 -6 -4 -3 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -1 -0 0 0 1 1 1 1 1 1 1 1 1 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 6 6 6 6 6 6 7 8 9 11 12 14 16 18 20 21 22 23 23 24 24 24 24 24 24 24 24 23 22 21 21 20 20 20 20 20 20 20 19 19 19 19 18 18 17 17 18 19 19 20 20 19 18 17 15 13 11 8 7 5 5 4 4 3 3 3 3 2 1 -1 -3 -5 -6 -7 -8 -10 -12 -12 -12 -12 -13 -15 -17 -20 -21 -21 -20 -19 -19 -19 -19 -18 -18 -17 -16 -15 -14 -15 -13 -9 -7 -6 -6 -6 -4 -3 -3 -4 -5 -6 -5 -5 -7 -9 -9 -9 -8 -7 -6 -6 -6 -6 -5 -4 -3 -1 1 5 7 5 4 5 5 4 4 2 0 -1 -2 -4 -6 -8 -11 -13 -15 -16 -17 -18 -19 -19 -18 -18 -18 -19 -21 -22 -23 -23 -24 -24 -24 -24 -25 -25 -24 -21 -15 -11 -11 -14 -16 -18 -19 -20 -19 -17 -16 -17 -20 -22 -22 -19 -17 -15 -14 -13 -13 -12 -11 -11 -12 -13 -13 -12 -12 -13 -15 -15 -13 -8 -5 -5 -6 -5 -5 -1 2 2 1 0 1 2 4 4 2 -2 -6 -5 -3 -2 -4 -7 -9 -7 -4 -1 1 2 -0 -4 -5 -2 1 3 3 0 -2 -4 -6 -7 -7 -6 -5 -6 -8 -10 -10 -9 -9 -9 -10 -11 -12 -10 -8 -6 -6 -8 -10 -12 -12 -10 -8 -8 -11 -14 -14 -13 -10 -9 -11 -13 -13 -12 -11 -12 -12 -11 -11 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -2 -1 -0 0 1 1 1 1 1 2 2 1 1 1 1 1 1 2 2 3 3 3 3 3 3 3 2 1 0 -1 -1 -2 -1 -1 -1 -2 -4 -6 -7 -6 -5 -4 -4 -5 -6 -6 -5 -4 -3 -2 -2 -2 -2 -1 -0 -0 -1 -1 -1 -1 -0 0 1 1 2 2 3 3 2 2 2 2 2 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 8 8 9 10 12 14 16 18 19 20 21 22 23 23 24 25 25 25 25 25 24 24 23 22 21 21 21 21 22 22 22 23 23 23 22 21 20 19 18 18 18 18 19 19 19 19 17 16 13 11 8 6 4 4 3 4 4 5 6 6 6 5 3 0 -2 -4 -4 -5 -6 -7 -8 -9 -10 -11 -14 -17 -20 -22 -22 -21 -20 -20 -20 -19 -18 -17 -16 -15 -14 -14 -14 -13 -11 -9 -8 -7 -5 -3 -2 -4 -7 -10 -10 -6 -6 -8 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -5 -4 -3 -1 1 1 -0 -1 -1 -1 -1 -2 -3 -3 -4 -4 -6 -8 -11 -13 -15 -17 -17 -17 -18 -18 -19 -19 -19 -18 -18 -19 -21 -22 -23 -24 -24 -25 -27 -29 -31 -31 -28 -22 -14 -9 -11 -17 -20 -20 -18 -17 -15 -14 -15 -18 -20 -22 -21 -18 -17 -17 -16 -15 -13 -12 -11 -12 -12 -12 -12 -12 -12 -13 -13 -11 -8 -8 -7 -5 -3 -3 -0 1 0 -0 0 3 5 5 3 -1 -6 -7 -4 -2 -2 -5 -8 -8 -5 -1 2 3 3 -0 -3 -2 1 3 4 2 -0 -3 -5 -7 -7 -6 -5 -5 -7 -9 -10 -9 -9 -8 -9 -10 -11 -10 -7 -6 -6 -7 -9 -11 -11 -10 -8 -8 -9 -13 -14 -12 -10 -9 -10 -13 -14 -12 -11 -11 -11 -11 -11 -10 -10 -11 -11 -10 -10 -10 -9 -9 -9 -9 -8 -8 -7 -7 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -3 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -2 -1 -0 0 0 0 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 3 2 2 1 1 0 1 1 1 0 -1 -4 -5 -6 -5 -4 -3 -3 -4 -6 -6 -5 -4 -3 -2 -2 -2 -1 -1 -0 0 -0 -0 0 0 1 1 1 2 2 3 3 4 4 4 4 3 3 3 3 3 4 4 5 5 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 8 8 8 9 9 9 9 9 9 9 8 8 9 9 10 11 13 15 17 18 20 21 22 23 24 24 25 25 25 25 25 24 24 23 23 23 23 23 23 24 24 25 26 26 25 24 23 22 20 19 18 18 18 18 18 18 17 16 14 11 9 6 4 3 3 4 5 7 8 9 10 9 7 5 3 1 0 -0 -1 -2 -4 -5 -6 -8 -10 -14 -18 -21 -23 -23 -22 -21 -20 -19 -18 -17 -15 -14 -13 -13 -13 -13 -12 -10 -9 -8 -6 -4 -3 -3 -7 -11 -13 -6 -9 -10 -11 -10 -10 -10 -11 -11 -11 -11 -9 -8 -7 -6 -5 -3 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -6 -8 -12 -14 -16 -17 -18 -18 -18 -19 -19 -19 -19 -19 -19 -20 -21 -22 -22 -22 -22 -22 -25 -28 -30 -30 -29 -26 -21 -15 -13 -17 -23 -23 -20 -16 -14 -13 -14 -15 -17 -19 -19 -19 -19 -19 -19 -17 -15 -13 -12 -12 -12 -13 -12 -12 -12 -12 -11 -10 -10 -10 -9 -5 -2 -1 1 0 -0 0 3 5 6 4 0 -4 -6 -5 -2 -2 -4 -7 -7 -4 -1 2 3 4 3 1 -1 0 3 4 3 1 -2 -4 -6 -7 -6 -5 -5 -6 -8 -9 -9 -8 -8 -8 -9 -10 -9 -7 -5 -5 -6 -9 -11 -11 -10 -8 -7 -8 -11 -13 -12 -9 -8 -9 -12 -14 -12 -10 -10 -10 -11 -10 -10 -10 -11 -11 -11 -11 -10 -10 -10 -10 -9 -9 -9 -8 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -2 -1 -1 -0 -0 -0 -0 0 1 1 1 2 2 2 2 2 2 2 2 2 3 3 4 3 2 1 1 1 1 2 2 2 1 -0 -2 -3 -4 -3 -2 -2 -3 -4 -5 -6 -5 -4 -3 -2 -2 -2 -1 -1 0 0 0 1 1 2 2 2 3 3 3 4 4 4 4 4 5 5 5 5 4 4 4 4 5 5 5 6 6 7 7 7 7 8 8 8 8 8 8 9 9 9 9 10 10 10 11 11 11 11 11 10 10 9 9 9 10 10 12 13 15 17 18 20 21 22 23 24 25 25 26 26 26 25 25 25 25 25 25 25 26 26 27 27 28 28 28 27 26 25 24 22 20 19 18 18 18 17 17 16 14 12 9 7 5 4 3 4 6 8 10 11 12 12 11 9 8 7 6 5 3 2 -0 -2 -4 -5 -7 -9 -14 -18 -22 -23 -22 -21 -20 -19 -18 -17 -15 -13 -12 -12 -11 -11 -11 -10 -9 -9 -8 -6 -4 -3 -6 -11 -11 -6 -12 -13 -13 -13 -12 -12 -12 -12 -12 -11 -10 -8 -7 -6 -5 -4 -4 -4 -3 -3 -3 -5 -6 -7 -6 -5 -5 -5 -7 -10 -13 -15 -17 -17 -18 -18 -18 -19 -19 -19 -19 -19 -20 -20 -21 -22 -23 -21 -19 -19 -20 -22 -24 -25 -26 -25 -24 -22 -20 -20 -9 -11 -17 -17 -13 -13 -14 -15 -15 -16 -16 -17 -19 -20 -21 -19 -16 -14 -12 -13 -13 -13 -13 -12 -11 -11 -11 -11 -11 -11 -9 -6 -3 -2 0 -0 1 3 6 6 4 0 -3 -5 -4 -1 -1 -3 -6 -6 -3 1 3 4 4 5 4 2 1 3 4 4 2 -1 -3 -5 -6 -6 -5 -5 -6 -7 -8 -8 -8 -7 -8 -8 -9 -9 -7 -5 -4 -5 -7 -10 -11 -10 -8 -7 -7 -9 -12 -12 -9 -8 -8 -11 -13 -12 -10 -9 -9 -10 -10 -10 -10 -10 -11 -11 -11 -11 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -0 -0 0 1 1 2 2 2 1 1 1 1 1 2 3 3 3 3 2 1 1 2 2 3 3 2 1 -1 -2 -2 -2 -1 -1 -2 -3 -5 -5 -5 -4 -4 -3 -2 -2 -2 -1 -0 0 1 1 1 2 3 3 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 8 9 9 9 9 9 9 9 10 10 10 11 11 11 12 12 12 13 13 13 13 13 12 11 11 10 10 11 11 12 14 15 17 19 20 22 23 24 24 25 26 26 26 26 26 27 27 28 28 29 29 29 29 29 30 30 30 30 29 29 27 25 23 22 20 19 18 18 17 16 14 12 10 7 6 4 4 5 7 9 11 12 12 12 12 12 11 11 11 9 8 5 3 0 -1 -2 -3 -5 -8 -13 -18 -20 -21 -21 -20 -19 -18 -16 -13 -11 -9 -9 -9 -9 -9 -9 -9 -10 -9 -7 -5 -4 -5 -9 -9 -7 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -10 -8 -7 -6 -5 -5 -5 -6 -5 -5 -6 -7 -9 -9 -8 -7 -7 -7 -9 -12 -14 -16 -17 -17 -18 -18 -18 -19 -19 -19 -19 -19 -20 -21 -22 -23 -23 -21 -19 -17 -16 -17 -19 -22 -23 -23 -22 -23 -25 -29 24 27 -3 -18 -14 -13 -14 -15 -16 -16 -15 -15 -17 -19 -20 -19 -17 -14 -13 -13 -14 -14 -13 -12 -12 -13 -13 -12 -11 -10 -7 -6 -5 -6 -2 -0 3 6 6 4 -0 -4 -5 -3 -1 1 -2 -6 -6 -2 2 5 5 5 5 5 5 3 3 4 4 2 -0 -3 -4 -5 -5 -5 -5 -5 -6 -7 -7 -6 -6 -7 -8 -8 -8 -7 -5 -4 -4 -6 -8 -10 -10 -9 -7 -6 -8 -10 -12 -9 -7 -7 -10 -12 -13 -10 -8 -8 -9 -10 -10 -10 -10 -11 -11 -11 -11 -10 -10 -10 -11 -10 -10 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -0 -0 0 0 1 1 0 0 0 0 0 0 1 2 2 3 3 3 2 2 2 3 3 3 2 1 -0 -1 -2 -1 -1 -1 -2 -3 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -1 -0 0 1 1 2 2 3 4 5 6 6 6 6 6 6 6 6 6 6 7 7 7 8 8 8 7 7 7 7 7 8 9 9 10 10 10 10 10 10 11 11 12 12 13 13 13 13 14 14 15 15 15 15 15 14 13 13 12 12 12 13 13 14 16 17 19 20 22 22 23 24 25 26 26 26 27 28 28 29 30 30 31 31 31 32 32 32 32 32 32 31 30 28 27 25 24 22 21 19 18 16 14 12 10 8 6 5 5 6 8 9 11 11 10 10 10 11 12 13 13 12 11 9 6 3 1 0 -1 -2 -4 -8 -12 -16 -18 -19 -18 -18 -16 -14 -11 -8 -6 -5 -6 -6 -7 -7 -8 -10 -10 -9 -7 -5 -5 -7 -8 -8 -11 -11 -10 -10 -10 -11 -12 -12 -12 -12 -11 -9 -8 -7 -6 -7 -7 -7 -6 -7 -8 -9 -10 -10 -9 -8 -9 -10 -11 -13 -15 -16 -17 -17 -17 -18 -18 -18 -18 -19 -19 -19 -20 -21 -23 -24 -23 -21 -20 -18 -17 -17 -17 -19 -20 -20 -20 -22 -26 -29 21 40 20 -14 -16 -14 -14 -16 -17 -16 -14 -14 -15 -17 -17 -17 -16 -14 -13 -13 -14 -14 -13 -13 -13 -14 -14 -12 -10 -9 -8 -7 -8 -10 -4 0 4 5 3 -1 -5 -5 -3 -0 1 -0 -4 -5 -2 3 6 6 6 6 6 6 4 3 3 4 3 0 -3 -4 -4 -4 -4 -4 -5 -6 -6 -6 -5 -5 -6 -7 -8 -8 -7 -5 -4 -4 -5 -7 -9 -10 -9 -7 -6 -7 -9 -10 -10 -7 -7 -8 -11 -12 -10 -8 -8 -9 -10 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -9 -8 -8 -7 -7 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 2 2 3 3 3 3 3 3 3 3 2 1 -0 -1 -2 -2 -2 -2 -2 -3 -3 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 0 1 1 2 2 3 4 5 5 6 6 6 6 6 6 6 7 7 7 8 8 9 9 9 9 9 8 8 8 9 9 10 11 11 12 12 12 12 12 12 13 13 13 14 14 15 15 16 16 17 17 17 17 17 16 16 15 15 14 14 14 14 15 16 17 19 20 21 22 24 25 25 26 26 27 28 28 29 29 30 30 31 31 32 33 33 33 34 33 33 32 31 30 28 27 26 24 22 21 18 16 13 10 8 6 5 6 7 9 10 10 9 8 7 7 8 10 12 13 13 13 11 9 6 4 2 1 -0 -2 -4 -8 -11 -14 -16 -16 -16 -15 -12 -9 -6 -4 -3 -4 -5 -5 -6 -7 -9 -10 -9 -7 -5 -4 -6 -7 -8 -10 -10 -11 -11 -12 -13 -14 -14 -14 -13 -11 -10 -8 -7 -7 -8 -7 -7 -6 -7 -8 -9 -10 -10 -9 -9 -10 -11 -13 -14 -15 -16 -17 -17 -17 -17 -17 -17 -18 -18 -18 -19 -20 -21 -23 -24 -24 -22 -20 -20 -20 -20 -18 -17 -17 -17 -18 -21 -25 -27 -21 -14 -11 -13 -16 -15 -14 -14 -14 -12 -11 -13 -15 -16 -16 -16 -15 -14 -13 -13 -13 -14 -13 -13 -14 -14 -13 -12 -11 -11 -12 -12 -12 -11 -3 1 1 -0 -3 -5 -5 -2 0 1 -0 -3 -4 -1 3 6 7 6 6 6 5 4 3 2 4 3 1 -2 -4 -4 -3 -3 -3 -4 -5 -6 -5 -4 -3 -4 -5 -7 -7 -7 -5 -4 -3 -3 -5 -7 -9 -8 -6 -5 -5 -7 -9 -9 -7 -6 -7 -10 -12 -11 -8 -8 -9 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -9 -9 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -0 0 1 2 2 3 3 3 3 3 3 2 1 -0 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -0 0 1 1 2 2 3 4 4 5 5 5 5 6 6 6 6 7 7 7 8 8 9 9 9 10 10 10 10 10 10 10 11 11 12 12 13 13 13 13 13 13 13 14 14 15 15 16 17 18 18 18 19 19 19 19 18 18 17 17 16 16 16 16 16 16 17 18 19 21 23 24 25 25 26 27 28 28 28 28 28 28 29 30 31 32 33 34 34 34 34 33 33 32 31 30 29 27 26 24 22 19 16 13 10 8 7 8 9 10 10 10 8 7 5 4 5 6 7 9 11 12 12 11 9 7 5 3 2 0 -1 -4 -7 -9 -12 -13 -13 -12 -11 -10 -7 -5 -3 -3 -4 -5 -6 -6 -6 -7 -7 -5 -4 -4 -5 -7 -7 -11 -11 -12 -13 -14 -15 -16 -15 -14 -13 -11 -9 -8 -7 -7 -8 -8 -7 -6 -7 -8 -9 -9 -9 -9 -9 -10 -11 -13 -14 -15 -16 -16 -17 -17 -17 -16 -17 -17 -18 -18 -18 -19 -21 -22 -23 -23 -22 -22 -23 -23 -23 -21 -18 -16 -15 -17 -20 -23 -25 -25 -24 -21 -18 -17 -15 -14 -13 -12 -11 -11 -14 -16 -17 -17 -17 -16 -15 -14 -14 -14 -14 -14 -14 -14 -14 -13 -12 -13 -15 -15 -14 -12 -10 -2 -2 -4 -6 -6 -4 -1 2 2 0 -2 -3 -1 2 5 6 6 5 5 4 3 2 1 3 3 2 -1 -3 -4 -3 -3 -3 -4 -5 -6 -5 -3 -2 -2 -4 -6 -7 -6 -5 -4 -3 -2 -4 -6 -7 -7 -5 -3 -4 -5 -7 -8 -6 -4 -6 -8 -11 -10 -8 -7 -8 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -1 -1 -2 -2 -3 -3 -3 -3 -2 -2 -1 -0 0 1 1 2 2 3 3 2 2 1 0 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 0 1 1 2 2 3 4 4 4 5 5 5 6 6 6 6 7 7 8 8 9 9 9 10 10 11 11 11 11 11 12 12 12 13 13 14 14 14 14 14 14 14 14 15 16 16 17 18 18 19 20 20 21 21 21 20 20 19 19 18 18 17 16 16 16 16 18 20 22 23 24 25 27 27 28 27 27 26 26 26 27 27 28 29 31 32 33 33 34 34 34 34 33 32 31 30 29 27 25 23 20 17 14 13 12 13 13 13 12 10 8 7 5 3 2 2 3 5 8 10 11 11 10 9 7 5 4 3 2 0 -2 -4 -7 -8 -9 -9 -11 -12 -10 -7 -5 -4 -5 -5 -6 -5 -4 -3 -3 -2 -1 -2 -4 -6 -7 -13 -13 -13 -13 -14 -15 -15 -15 -14 -12 -9 -8 -6 -6 -7 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -9 -10 -11 -12 -14 -15 -15 -16 -16 -16 -16 -16 -16 -17 -17 -18 -18 -19 -20 -21 -21 -21 -20 -20 -21 -23 -24 -22 -19 -16 -15 -16 -18 -20 -22 -23 -23 -22 -20 -17 -16 -15 -14 -13 -13 -13 -16 -17 -18 -18 -18 -18 -17 -16 -15 -15 -15 -15 -15 -14 -13 -13 -13 -16 -18 -17 -14 -11 -9 -4 -6 -8 -8 -6 -1 2 2 0 -2 -3 -3 -0 2 4 5 4 3 2 1 0 0 1 3 2 0 -2 -3 -3 -2 -2 -3 -4 -5 -5 -3 -1 -1 -2 -4 -6 -6 -5 -4 -3 -2 -3 -5 -6 -6 -4 -2 -2 -4 -6 -6 -5 -3 -3 -7 -9 -9 -7 -5 -7 -9 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -1 -1 -0 0 1 1 1 2 2 1 1 0 -1 -1 -2 -3 -3 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -0 -0 0 0 1 1 2 2 3 3 4 4 4 5 5 5 6 6 6 7 7 8 8 9 9 10 10 11 12 12 13 13 13 13 13 13 14 14 15 15 15 14 14 14 14 15 15 16 17 18 18 19 20 21 22 22 22 22 21 21 21 21 20 19 18 16 16 16 17 19 20 22 23 25 26 26 26 26 25 25 25 25 25 25 26 27 28 29 31 32 33 33 34 34 34 33 32 32 31 30 28 26 24 22 20 19 18 18 17 16 14 12 10 9 6 4 2 1 1 3 5 8 10 11 10 10 9 8 7 6 5 4 3 0 -2 -3 -4 -5 -9 -12 -12 -10 -7 -6 -5 -5 -5 -3 -1 0 1 2 1 -1 -4 -5 -6 -14 -13 -13 -12 -13 -13 -13 -13 -11 -9 -7 -6 -6 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -11 -12 -13 -13 -14 -15 -16 -16 -15 -15 -15 -16 -16 -17 -17 -18 -19 -21 -21 -21 -20 -19 -18 -18 -20 -21 -21 -20 -18 -16 -16 -17 -18 -20 -21 -21 -20 -19 -19 -19 -18 -17 -15 -15 -15 -17 -18 -18 -19 -19 -19 -18 -17 -16 -16 -16 -16 -15 -15 -14 -14 -15 -17 -19 -17 -13 -10 -10 -7 -9 -9 -7 -3 0 1 -1 -2 -3 -3 -2 -1 1 1 1 0 -1 -2 -2 -1 0 2 2 1 -1 -2 -2 -2 -2 -2 -3 -5 -5 -3 -1 0 -1 -3 -5 -6 -5 -4 -3 -3 -3 -5 -6 -5 -3 -1 -1 -2 -4 -5 -4 -2 -2 -5 -8 -8 -6 -4 -5 -8 -9 -10 -10 -10 -11 -11 -11 -12 -11 -11 -11 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -2 -3 -3 -3 -2 -2 -2 -1 -1 -1 -0 0 1 1 0 0 -0 -1 -1 -2 -2 -3 -4 -5 -5 -5 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -0 -0 -0 0 1 1 1 2 2 3 3 3 4 4 5 5 5 5 6 6 6 7 7 8 8 9 10 11 12 13 13 14 14 14 14 14 15 15 16 16 15 15 15 14 14 15 15 16 17 17 18 19 20 21 22 23 23 23 23 22 22 22 22 21 19 18 17 17 17 18 19 20 21 22 24 24 24 24 24 24 24 25 25 24 25 25 26 28 29 31 32 33 33 33 33 33 32 32 32 31 30 29 28 26 25 24 23 22 21 19 17 15 13 12 10 7 5 3 2 2 4 7 9 10 11 10 10 10 9 9 8 7 6 5 2 1 0 -2 -6 -10 -12 -11 -9 -7 -5 -4 -3 -0 2 4 5 4 2 -1 -3 -5 -4 -12 -11 -11 -11 -12 -12 -12 -11 -10 -8 -7 -6 -6 -7 -7 -8 -8 -9 -10 -10 -10 -10 -10 -10 -11 -12 -12 -13 -13 -13 -14 -15 -15 -15 -15 -15 -15 -15 -16 -17 -17 -18 -19 -21 -22 -22 -20 -19 -17 -17 -17 -18 -20 -20 -19 -17 -16 -16 -17 -18 -20 -20 -20 -20 -21 -22 -22 -20 -18 -16 -16 -16 -17 -17 -17 -18 -18 -17 -16 -16 -16 -17 -17 -16 -16 -15 -16 -17 -19 -19 -16 -12 -10 -12 -10 -10 -8 -5 -2 -1 -2 -3 -3 -3 -3 -2 -2 -2 -2 -3 -4 -5 -5 -3 -1 1 2 1 -1 -2 -2 -2 -1 -1 -2 -4 -4 -3 -1 0 -0 -2 -4 -5 -5 -4 -3 -3 -3 -4 -6 -5 -3 -1 0 -1 -3 -4 -2 -1 -1 -3 -6 -7 -5 -3 -3 -6 -8 -9 -9 -9 -9 -10 -11 -11 -11 -11 -11 -10 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 -0 -1 -1 -1 -1 -2 -2 -3 -4 -4 -5 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -1 -0 -0 0 0 1 1 1 2 2 2 3 4 4 5 5 5 5 6 6 6 6 6 7 7 8 9 10 11 12 13 14 14 15 15 15 16 16 16 16 16 16 15 15 15 15 15 16 17 17 18 19 20 20 21 22 23 23 23 23 23 23 23 22 21 20 19 18 18 18 17 18 19 20 21 22 22 22 23 24 25 25 25 24 24 24 25 27 28 30 31 32 32 32 32 32 32 32 32 32 31 31 30 29 29 28 26 24 22 21 19 18 17 15 13 11 9 7 5 5 5 7 9 10 10 10 9 9 9 10 10 9 9 7 5 4 3 0 -3 -7 -10 -11 -10 -8 -6 -3 -0 3 5 7 8 6 2 -1 -3 -4 -2 -6 -7 -9 -11 -13 -14 -14 -13 -11 -9 -8 -8 -7 -7 -7 -8 -9 -10 -11 -11 -11 -11 -11 -12 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -16 -16 -17 -18 -19 -21 -22 -22 -21 -20 -18 -17 -17 -18 -19 -20 -19 -17 -16 -16 -16 -18 -20 -20 -21 -22 -23 -24 -24 -22 -20 -18 -17 -16 -16 -16 -16 -16 -16 -15 -15 -15 -15 -16 -17 -17 -17 -17 -18 -19 -19 -18 -16 -14 -13 -14 -11 -9 -6 -4 -3 -4 -5 -4 -3 -3 -3 -4 -5 -5 -6 -7 -7 -7 -4 -2 1 2 1 -1 -2 -3 -2 -1 -1 -1 -3 -4 -3 -2 0 0 -1 -3 -4 -4 -4 -3 -3 -3 -4 -5 -6 -3 -1 0 -0 -2 -3 -2 -0 0 -1 -4 -6 -4 -2 -2 -4 -7 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -10 -9 -9 -9 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -5 -5 -5 -5 -5 -6 -5 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -1 -0 -0 0 0 0 1 1 2 2 3 3 4 5 5 5 6 6 6 6 6 6 6 7 7 8 9 10 11 12 13 14 14 15 16 16 17 17 17 17 17 16 16 16 16 16 16 16 17 18 18 19 20 20 21 22 23 23 23 23 23 23 23 23 22 21 20 19 18 17 17 18 19 19 20 21 22 23 24 26 26 26 25 25 25 25 26 28 29 30 31 31 31 31 31 31 32 32 32 32 32 31 31 31 29 27 25 23 22 21 20 19 19 17 16 14 12 10 8 8 8 9 10 10 9 9 9 9 10 10 10 10 9 7 6 5 2 -0 -4 -7 -9 -10 -9 -7 -3 1 5 8 10 10 6 2 -2 -3 -2 1 -7 -9 -12 -14 -16 -17 -17 -16 -14 -12 -10 -10 -9 -8 -8 -9 -10 -11 -12 -12 -12 -12 -12 -13 -14 -15 -15 -15 -15 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -16 -17 -18 -19 -20 -22 -22 -22 -21 -20 -19 -18 -19 -19 -19 -18 -17 -16 -15 -16 -17 -18 -19 -20 -21 -23 -24 -26 -26 -24 -21 -18 -17 -16 -16 -15 -15 -15 -14 -14 -14 -14 -15 -16 -16 -17 -18 -19 -19 -18 -17 -17 -16 -16 -14 -10 -7 -5 -5 -5 -5 -4 -3 -3 -3 -4 -5 -7 -8 -9 -8 -7 -4 -1 1 2 1 -0 -2 -3 -3 -2 -1 -0 -2 -3 -4 -2 -1 0 -1 -2 -3 -4 -3 -3 -3 -3 -4 -5 -5 -4 -1 -0 -0 -2 -3 -2 -0 1 -1 -3 -5 -4 -1 -0 -3 -6 -7 -7 -6 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -10 -10 -9 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -2 -2 -1 -1 -1 -0 -0 -0 -0 0 1 1 2 3 3 4 5 5 6 6 6 6 6 6 6 6 6 7 7 8 9 10 10 11 12 13 14 15 16 16 17 17 17 17 17 17 16 16 16 16 17 17 17 18 18 19 19 20 21 22 22 23 23 23 23 23 24 24 23 22 21 19 18 18 18 18 19 19 20 21 23 24 26 26 26 25 25 25 25 26 26 27 28 29 29 30 31 31 32 32 32 32 32 32 32 32 32 30 27 25 23 22 22 22 22 22 21 20 19 17 15 13 12 11 10 10 10 10 10 10 10 10 10 10 10 9 9 8 7 5 2 -1 -4 -6 -8 -8 -6 -3 2 6 10 12 10 6 1 -1 -1 1 4 -13 -15 -17 -18 -18 -18 -18 -17 -14 -12 -11 -12 -12 -11 -11 -11 -12 -12 -12 -13 -13 -13 -13 -14 -15 -15 -15 -15 -15 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -16 -17 -18 -20 -21 -22 -22 -22 -21 -21 -20 -20 -20 -19 -18 -16 -16 -16 -16 -17 -17 -17 -18 -19 -22 -24 -27 -29 -28 -25 -21 -19 -18 -17 -16 -15 -14 -14 -14 -14 -14 -15 -16 -16 -17 -18 -19 -18 -16 -16 -17 -17 -16 -12 -8 -7 -6 -6 -5 -4 -3 -2 -2 -3 -4 -6 -8 -9 -9 -7 -4 -1 1 2 2 0 -2 -3 -3 -2 -0 0 -1 -3 -4 -3 -2 -0 -0 -2 -3 -3 -3 -2 -2 -3 -3 -4 -4 -4 -2 -1 -1 -3 -4 -3 -1 0 -1 -2 -4 -4 -1 0 -1 -4 -6 -6 -5 -6 -6 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -6 -6 -5 -5 -5 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 0 1 1 2 3 4 4 5 6 6 6 6 6 6 6 7 7 7 7 7 8 8 9 10 11 12 13 14 15 15 16 16 16 17 17 17 17 17 16 16 17 17 17 17 17 18 19 19 20 21 21 22 22 22 22 23 23 24 24 23 22 21 20 19 19 18 19 19 20 21 22 24 24 24 24 25 26 26 25 25 25 26 26 27 28 29 31 32 32 32 32 32 32 33 33 33 32 30 27 25 24 23 23 23 24 24 24 24 23 22 20 18 16 14 12 12 12 12 12 12 12 12 11 10 10 10 10 9 9 7 5 3 0 -2 -4 -5 -4 -1 3 8 10 11 10 6 2 0 1 4 6 -15 -16 -16 -16 -15 -15 -14 -13 -10 -9 -9 -11 -13 -13 -13 -13 -13 -13 -13 -14 -14 -14 -15 -15 -15 -16 -15 -15 -15 -14 -13 -13 -13 -14 -14 -15 -15 -14 -14 -15 -15 -16 -17 -19 -20 -21 -21 -22 -22 -23 -23 -22 -21 -19 -17 -16 -16 -17 -18 -18 -16 -15 -16 -17 -20 -23 -27 -30 -31 -30 -27 -23 -21 -19 -17 -16 -15 -14 -14 -14 -14 -15 -15 -16 -17 -18 -18 -17 -15 -16 -18 -19 -18 -13 -8 -7 -6 -5 -4 -3 -2 -2 -3 -3 -4 -6 -9 -9 -8 -6 -2 1 3 3 1 -1 -2 -3 -2 -0 0 -0 -2 -4 -4 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -3 -2 -3 -4 -5 -5 -3 -1 -1 -3 -4 -4 -1 1 -1 -3 -5 -5 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -7 -7 -6 -5 -5 -4 -4 -4 -5 -5 -5 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 0 1 2 3 3 4 5 6 6 6 6 7 7 7 7 7 7 7 7 7 8 8 9 10 11 11 12 13 14 15 15 16 16 16 16 16 16 16 16 17 17 17 17 17 18 18 19 20 20 21 21 21 21 21 22 22 23 23 24 23 23 22 21 20 19 19 19 20 21 22 22 22 22 23 24 24 24 24 24 24 24 24 24 26 28 30 31 31 32 32 32 32 32 33 33 32 31 29 27 26 25 24 25 25 26 26 27 27 26 24 22 19 17 15 15 15 16 16 16 15 14 13 12 11 11 11 11 11 9 8 6 4 2 0 -1 -0 2 6 9 10 10 8 5 2 2 3 5 8 -10 -9 -9 -8 -7 -7 -6 -5 -3 -3 -5 -9 -11 -12 -13 -14 -14 -14 -14 -14 -14 -15 -15 -15 -16 -16 -15 -15 -14 -12 -12 -12 -13 -14 -15 -15 -15 -15 -14 -14 -15 -16 -16 -17 -18 -19 -20 -21 -23 -24 -24 -24 -22 -20 -19 -18 -17 -18 -18 -18 -16 -15 -15 -16 -18 -21 -24 -28 -32 -34 -32 -28 -25 -22 -20 -18 -17 -16 -16 -15 -14 -14 -14 -15 -16 -16 -16 -16 -15 -16 -18 -19 -18 -14 -8 -7 -6 -4 -3 -2 -2 -2 -2 -3 -4 -7 -9 -9 -7 -3 1 4 4 3 1 -1 -2 -2 -0 1 0 -1 -3 -4 -3 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -3 -3 -5 -6 -6 -4 -2 -2 -3 -4 -5 -3 0 -0 -3 -4 -4 -3 -2 -4 -5 -6 -7 -7 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -8 -8 -8 -8 -7 -7 -6 -6 -6 -5 -5 -5 -6 -6 -7 -7 -8 -8 -7 -6 -5 -4 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 0 1 2 3 4 5 5 6 6 6 7 7 7 7 7 7 7 7 7 7 8 9 9 10 11 11 12 13 14 14 15 15 15 15 15 16 16 16 16 16 17 17 17 17 18 18 19 20 20 21 21 21 21 21 21 22 22 23 23 23 23 22 21 20 20 19 20 20 21 21 21 21 21 22 22 22 22 22 22 22 22 22 23 25 27 28 29 30 31 31 31 32 32 32 31 31 31 30 29 27 26 26 26 27 28 28 29 28 27 24 22 20 19 19 19 19 19 19 18 16 15 13 13 13 13 13 12 11 10 8 7 6 5 4 4 6 8 10 11 9 7 4 2 1 3 5 9 -1 0 1 1 2 2 3 3 4 3 -1 -4 -7 -9 -11 -13 -14 -15 -15 -15 -15 -15 -15 -15 -16 -16 -15 -14 -13 -12 -12 -13 -14 -15 -16 -16 -16 -16 -15 -15 -15 -15 -16 -16 -17 -18 -20 -21 -22 -23 -24 -24 -24 -22 -20 -19 -19 -18 -18 -17 -17 -16 -15 -15 -16 -18 -21 -25 -29 -33 -35 -32 -29 -27 -24 -22 -20 -19 -18 -17 -15 -14 -14 -14 -13 -14 -14 -15 -15 -16 -17 -18 -17 -13 -8 -6 -5 -3 -3 -3 -2 -2 -2 -3 -5 -7 -8 -7 -4 0 4 6 5 2 0 -1 -1 -0 1 1 -0 -2 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -3 -3 -3 -3 -4 -5 -5 -4 -3 -2 -3 -5 -5 -4 -2 -1 -3 -4 -3 -2 -1 -2 -4 -6 -6 -6 -6 -6 -7 -7 -7 -6 -6 -5 -5 -6 -7 -7 -8 -8 -7 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -7 -7 -6 -4 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 0 1 2 3 4 5 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 9 10 10 11 12 12 13 13 14 14 14 14 15 15 15 15 16 16 16 17 17 17 17 18 18 19 19 20 20 20 20 20 21 21 21 22 22 22 22 22 22 21 21 20 20 20 20 20 20 21 21 21 20 20 20 20 20 20 19 19 20 21 22 23 25 27 28 29 30 30 31 30 30 30 30 30 30 29 28 27 27 27 28 29 29 29 28 26 24 23 23 23 22 22 21 20 19 18 16 16 15 15 15 14 13 12 11 10 10 9 9 9 9 10 11 11 10 9 6 3 1 -0 1 4 9 8 8 7 6 6 6 5 5 4 3 0 -2 -4 -6 -8 -10 -12 -14 -15 -15 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -14 -15 -17 -17 -18 -18 -17 -17 -16 -15 -15 -15 -16 -17 -18 -19 -20 -21 -23 -24 -25 -25 -24 -22 -21 -20 -19 -18 -17 -17 -17 -17 -16 -16 -17 -19 -22 -26 -30 -34 -34 -32 -30 -28 -25 -23 -22 -21 -21 -19 -18 -16 -14 -12 -12 -13 -14 -14 -15 -16 -17 -16 -12 -7 -6 -5 -4 -4 -4 -3 -2 -2 -3 -5 -7 -7 -4 0 4 7 6 4 1 -1 -1 -0 1 1 0 -1 -2 -1 -1 -1 -0 -0 -0 -0 -0 -1 -1 -0 -1 -1 -2 -3 -3 -3 -3 -4 -4 -3 -3 -2 -3 -4 -5 -4 -3 -2 -3 -3 -3 -1 -1 -1 -3 -5 -6 -6 -6 -6 -7 -7 -7 -6 -5 -5 -5 -6 -7 -7 -8 -8 -8 -7 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -5 -4 -3 -3 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 0 0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 -0 -0 0 0 0 0 0 1 1 2 3 4 5 6 6 7 7 7 7 7 7 7 7 7 7 8 8 9 10 10 11 12 12 12 13 13 13 14 14 14 14 14 14 15 15 15 16 16 16 16 17 17 17 18 19 19 20 20 20 21 21 21 21 21 21 21 22 22 22 22 21 21 21 20 20 21 21 21 21 20 19 19 19 19 18 18 18 18 18 18 19 20 22 24 26 27 28 28 28 29 29 29 29 28 28 28 27 27 27 27 28 28 28 28 27 27 26 26 25 24 23 21 20 19 18 18 17 17 16 16 15 14 13 12 11 11 12 12 13 12 12 12 11 10 8 6 3 0 -1 -1 3 8 9 7 3 0 -2 -3 -4 -4 -4 -4 -5 -6 -6 -7 -8 -9 -11 -12 -14 -15 -15 -14 -14 -15 -14 -14 -14 -14 -14 -14 -15 -16 -17 -18 -19 -19 -19 -18 -18 -17 -16 -16 -16 -16 -16 -17 -18 -19 -20 -21 -23 -25 -26 -26 -25 -23 -22 -20 -19 -18 -17 -17 -17 -17 -17 -17 -18 -19 -22 -26 -30 -34 -34 -33 -30 -27 -25 -25 -25 -25 -24 -23 -21 -17 -15 -13 -13 -14 -14 -15 -16 -17 -15 -11 -6 -6 -5 -5 -6 -5 -4 -3 -3 -5 -6 -7 -4 -0 4 7 7 5 2 -0 -1 -0 1 1 1 0 -0 -0 0 0 0 0 1 1 0 0 0 0 0 -0 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -5 -4 -3 -3 -3 -2 -1 -1 -1 -2 -4 -5 -5 -5 -6 -6 -7 -7 -6 -5 -4 -5 -6 -7 -7 -8 -8 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 -0 -1 -1 -1 -1 -0 0 0 0 0 0 0 0 1 1 1 1 1 0 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 1 1 1 1 1 1 2 3 4 5 6 6 6 7 7 7 7 7 7 7 7 8 8 9 9 10 11 11 12 12 13 13 13 13 13 13 14 14 14 14 14 14 14 15 15 15 15 15 15 16 16 17 18 18 19 20 21 21 21 20 20 20 20 21 21 21 22 22 22 21 21 21 22 22 22 21 20 20 20 19 19 18 17 17 17 16 16 16 17 18 20 21 23 24 25 26 26 26 26 26 26 26 27 26 26 26 26 26 26 27 27 28 28 28 27 26 25 23 21 20 19 18 18 18 17 17 16 15 14 13 13 13 13 13 14 15 15 14 13 12 11 9 7 3 0 -2 -1 3 8 1 -4 -8 -12 -15 -17 -17 -15 -13 -11 -10 -9 -9 -9 -10 -10 -11 -12 -13 -13 -14 -14 -14 -14 -14 -13 -13 -12 -13 -14 -15 -16 -18 -19 -19 -19 -19 -19 -18 -17 -17 -16 -16 -16 -16 -17 -17 -18 -18 -20 -21 -23 -26 -27 -28 -26 -24 -22 -20 -18 -17 -17 -17 -18 -18 -18 -18 -19 -20 -22 -26 -30 -33 -33 -32 -29 -26 -26 -26 -27 -27 -27 -27 -24 -20 -16 -14 -13 -14 -15 -16 -17 -15 -11 -7 -6 -7 -7 -7 -6 -5 -4 -5 -6 -7 -6 -2 3 6 7 5 2 -0 -1 -1 0 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -3 -3 -3 -2 -1 -1 -1 -2 -3 -4 -4 -5 -6 -7 -6 -6 -5 -4 -5 -6 -7 -7 -8 -8 -8 -8 -7 -6 -5 -4 -3 -3 -3 -4 -4 -4 -4 -4 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 0 0 0 1 1 1 1 1 1 2 2 2 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 1 2 2 2 2 1 1 1 2 3 4 5 5 6 7 7 7 7 7 7 8 8 8 8 9 9 10 10 11 11 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 15 15 16 17 18 19 20 21 21 21 21 20 20 20 20 20 21 21 21 22 22 22 22 22 21 21 21 21 21 21 20 19 19 18 17 16 16 16 16 16 17 18 19 21 22 22 23 23 24 24 24 25 25 25 25 25 24 24 24 25 26 27 28 28 28 26 25 23 21 20 19 19 19 19 18 17 16 15 15 14 14 14 14 14 15 15 16 15 14 13 12 11 8 5 1 -1 0 3 8 -12 -15 -18 -20 -22 -22 -21 -19 -17 -14 -13 -12 -11 -11 -11 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -12 -11 -11 -12 -13 -15 -17 -18 -18 -19 -18 -18 -18 -17 -17 -17 -16 -16 -17 -17 -17 -17 -17 -17 -18 -20 -22 -24 -27 -29 -29 -27 -24 -21 -19 -18 -18 -17 -17 -17 -18 -18 -19 -19 -21 -22 -26 -29 -31 -31 -29 -27 -26 -26 -26 -28 -30 -31 -28 -24 -18 -14 -12 -13 -14 -16 -16 -15 -12 -8 -8 -8 -9 -9 -7 -6 -6 -7 -8 -7 -5 -0 3 5 4 2 -1 -1 -1 0 1 2 1 2 2 3 3 2 2 3 3 2 2 1 1 2 2 2 1 0 0 -0 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -2 -2 -3 -3 -4 -5 -6 -6 -5 -5 -4 -5 -6 -6 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -3 -3 -4 -5 -5 -4 -4 -4 -5 -4 -3 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -0 -0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 1 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 2 2 2 2 2 2 2 2 3 4 5 6 6 7 7 7 8 8 8 8 9 9 9 9 10 10 11 11 11 12 12 13 13 13 13 13 13 13 13 13 12 12 12 12 12 13 13 13 13 13 13 13 14 14 15 16 18 19 20 21 21 22 21 21 20 20 20 20 20 21 21 22 22 21 21 21 21 22 22 22 22 21 21 21 20 19 18 17 16 15 15 16 17 17 18 19 20 20 21 21 22 22 23 23 24 24 23 23 23 23 23 24 25 26 27 27 26 25 24 22 22 21 21 21 21 20 19 18 17 16 16 15 15 14 14 14 14 15 15 15 15 14 12 9 5 2 1 2 5 8 -19 -20 -21 -22 -21 -20 -19 -18 -16 -15 -14 -13 -13 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -12 -12 -11 -10 -10 -11 -13 -15 -16 -17 -18 -18 -17 -17 -17 -16 -16 -16 -16 -17 -17 -17 -17 -17 -17 -17 -18 -19 -21 -23 -26 -28 -29 -28 -25 -22 -19 -18 -17 -17 -17 -17 -17 -17 -18 -19 -20 -20 -22 -24 -26 -28 -28 -26 -25 -25 -26 -28 -30 -31 -27 -22 -18 -15 -14 -13 -13 -14 -14 -14 -14 -12 -10 -10 -10 -9 -8 -7 -7 -7 -8 -7 -4 -0 1 1 -0 -2 -2 -1 -0 1 2 2 2 3 4 4 3 3 4 4 3 2 2 2 2 3 3 2 2 1 1 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -5 -5 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -4 -5 -5 -5 -4 -4 -5 -4 -3 -1 -0 -0 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -0 -0 0 1 1 2 2 2 2 2 2 2 2 2 2 2 3 3 3 2 2 2 1 1 1 1 1 1 1 1 1 0 0 -0 -0 -1 -1 -1 -0 -0 -0 0 0 1 1 2 2 2 2 2 2 3 3 4 5 5 6 7 7 8 8 9 9 9 9 10 10 10 10 10 11 11 11 12 12 12 13 13 13 13 13 13 13 12 12 12 11 11 11 11 12 12 12 12 12 12 12 12 13 14 15 16 17 19 20 21 22 22 22 21 20 20 20 20 20 20 21 21 21 21 21 21 22 22 22 22 22 23 22 22 20 19 18 17 16 16 16 16 17 17 18 18 18 18 19 19 20 20 21 21 22 22 21 21 21 21 21 22 23 24 24 25 25 24 24 24 24 24 24 23 23 22 21 20 19 18 17 16 15 14 13 13 13 13 14 14 13 11 9 6 4 3 4 6 9 -20 -21 -21 -19 -17 -15 -13 -13 -14 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -11 -9 -9 -9 -10 -12 -14 -15 -16 -17 -17 -16 -16 -15 -15 -16 -16 -16 -16 -17 -17 -17 -17 -17 -17 -17 -19 -21 -22 -25 -27 -28 -28 -26 -23 -20 -18 -18 -18 -18 -18 -18 -18 -18 -18 -19 -19 -20 -21 -22 -24 -25 -25 -25 -25 -26 -27 -29 -29 -28 -23 -18 -17 -18 -17 -16 -15 -14 -13 -14 -14 -12 -10 -10 -9 -8 -7 -7 -8 -7 -6 -4 -2 -2 -2 -3 -3 -2 -1 0 1 2 3 4 4 5 4 4 5 5 4 3 3 3 3 3 4 3 3 2 1 1 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -4 -4 -4 -4 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -4 -5 -6 -5 -4 -4 -4 -4 -4 -2 -1 -0 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -2 -2 -1 -1 -0 -0 0 1 1 2 2 3 3 3 3 2 2 2 2 2 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 3 3 4 4 5 6 6 7 8 9 9 10 10 10 11 11 11 11 11 11 11 11 11 12 12 12 12 13 13 13 13 13 13 13 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 12 13 14 15 16 17 19 20 21 22 22 22 21 21 20 20 20 20 20 21 21 21 22 22 22 22 22 22 23 23 23 22 21 20 19 18 17 16 16 16 16 17 17 17 17 17 17 17 17 17 18 18 19 19 19 19 18 18 18 18 19 20 21 23 24 24 25 25 25 26 26 26 26 26 25 24 23 21 20 18 16 15 14 13 12 12 12 11 11 9 7 5 5 6 7 9 11 -18 -18 -18 -16 -13 -10 -9 -9 -11 -11 -11 -12 -12 -12 -12 -13 -13 -13 -12 -12 -12 -12 -11 -11 -10 -8 -7 -8 -10 -11 -13 -14 -15 -16 -16 -15 -15 -14 -14 -15 -15 -16 -16 -16 -17 -18 -18 -18 -17 -18 -19 -20 -22 -24 -25 -27 -28 -27 -25 -21 -19 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -19 -20 -20 -21 -23 -24 -25 -25 -26 -26 -27 -27 -27 -25 -21 -18 -18 -19 -20 -19 -18 -15 -15 -15 -12 -10 -10 -9 -8 -8 -8 -8 -7 -6 -5 -4 -3 -3 -3 -3 -2 -0 1 2 3 4 5 5 5 5 5 5 5 4 4 3 4 4 4 4 4 3 2 2 1 1 1 0 0 0 1 1 0 0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -3 -3 -3 -4 -4 -5 -5 -4 -4 -4 -4 -4 -5 -4 -4 -3 -3 -3 -4 -6 -6 -5 -4 -3 -4 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -2 -2 -1 -0 -0 0 1 1 2 3 3 4 4 4 4 3 3 3 2 2 3 3 3 3 2 2 2 2 2 2 2 3 3 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 3 3 4 4 4 5 6 7 8 9 10 11 12 12 12 12 12 13 12 12 12 11 11 11 11 12 12 12 13 13 13 13 13 13 13 13 12 12 11 11 11 11 10 10 10 10 10 10 10 10 11 11 12 13 14 15 16 17 19 20 21 21 22 22 22 21 21 20 20 20 20 21 21 22 22 22 22 23 23 23 23 23 23 22 21 20 19 18 17 17 16 16 16 16 16 15 15 15 15 15 15 15 16 16 16 16 16 15 15 15 15 15 16 18 20 21 23 24 25 26 26 27 27 28 28 28 27 26 24 23 21 19 17 15 14 12 11 10 9 8 7 6 6 7 8 10 11 12 -16 -17 -16 -14 -11 -9 -8 -9 -9 -10 -10 -10 -10 -11 -11 -12 -12 -12 -12 -11 -11 -11 -11 -10 -9 -8 -7 -8 -9 -11 -12 -14 -14 -15 -15 -14 -14 -13 -13 -13 -14 -14 -15 -16 -17 -18 -18 -19 -18 -19 -19 -20 -21 -22 -24 -26 -27 -28 -26 -23 -21 -19 -19 -19 -19 -19 -19 -19 -18 -18 -18 -19 -19 -20 -20 -21 -22 -23 -25 -26 -26 -26 -27 -28 -27 -26 -23 -21 -20 -22 -23 -22 -19 -17 -16 -13 -10 -10 -10 -9 -9 -9 -8 -7 -6 -5 -4 -4 -3 -3 -2 -1 1 2 3 4 5 5 5 5 5 6 5 5 5 4 4 5 5 5 5 4 3 2 2 2 1 1 1 2 2 2 2 1 1 0 0 -0 -0 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -4 -4 -5 -4 -4 -3 -2 -3 -5 -6 -5 -4 -3 -4 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -4 -4 -3 -2 -2 -1 -0 0 1 1 2 3 3 4 5 5 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 3 4 4 4 5 5 6 7 8 9 10 12 13 15 15 14 14 14 14 14 13 13 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 12 12 12 11 11 11 10 10 10 10 10 10 10 10 10 11 12 13 14 14 15 17 18 19 20 20 21 21 22 22 21 21 21 20 20 21 21 22 23 23 23 23 23 24 24 24 23 23 22 21 21 20 19 18 17 17 16 16 15 14 14 14 14 14 14 14 14 14 14 14 13 13 13 13 13 14 15 16 17 19 20 22 23 25 26 27 28 28 29 29 29 28 27 26 25 23 21 19 16 14 12 10 9 7 7 7 7 8 9 11 12 13 -17 -16 -15 -14 -13 -12 -11 -11 -11 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -9 -8 -8 -8 -9 -11 -12 -13 -14 -14 -14 -14 -13 -13 -12 -12 -13 -13 -13 -14 -16 -17 -18 -19 -19 -20 -20 -20 -21 -21 -23 -25 -26 -27 -27 -25 -23 -22 -21 -20 -20 -20 -20 -20 -20 -19 -19 -19 -19 -19 -19 -20 -21 -22 -23 -24 -25 -26 -29 -30 -30 -30 -28 -24 -22 -23 -26 -25 -22 -19 -18 -15 -12 -10 -10 -11 -10 -9 -8 -6 -5 -4 -4 -3 -3 -2 -0 1 2 3 4 5 5 5 5 5 6 6 6 5 5 5 5 6 6 6 6 5 3 2 2 2 2 2 2 3 3 3 3 2 1 1 1 0 -0 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -3 -4 -4 -5 -5 -5 -4 -3 -2 -2 -3 -5 -5 -5 -4 -4 -5 -5 -5 -4 -3 -2 -2 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -4 -3 -3 -2 -1 -0 1 1 2 3 3 4 5 5 6 5 5 5 5 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 5 5 5 4 4 4 4 4 3 3 3 3 3 2 2 3 3 4 4 5 4 5 5 6 7 8 9 10 12 14 16 17 16 16 16 16 16 15 14 14 13 12 12 12 12 12 12 12 12 12 12 13 13 13 12 12 12 12 12 12 11 11 10 10 10 10 9 10 10 10 11 12 13 13 14 15 16 17 18 19 19 20 21 21 21 21 21 21 21 21 21 21 22 23 23 24 24 24 24 24 24 24 24 23 23 22 21 20 19 19 18 17 16 15 15 14 14 13 13 12 12 12 12 12 12 12 12 13 13 13 14 14 15 16 18 19 21 22 23 24 25 27 28 29 29 29 29 29 29 28 27 25 23 20 17 14 12 10 9 8 8 8 9 9 10 10 11 -17 -16 -16 -16 -16 -16 -16 -16 -15 -14 -13 -12 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -9 -9 -8 -9 -10 -11 -12 -13 -14 -14 -14 -14 -13 -13 -12 -12 -12 -12 -13 -13 -14 -16 -17 -19 -20 -20 -21 -21 -21 -21 -22 -23 -25 -27 -27 -27 -25 -24 -24 -23 -22 -21 -21 -21 -21 -21 -20 -20 -19 -19 -19 -19 -19 -20 -20 -21 -24 -27 -30 -31 -31 -31 -29 -26 -24 -25 -27 -27 -24 -21 -19 -17 -13 -11 -11 -12 -10 -8 -6 -4 -3 -3 -3 -3 -2 -0 1 2 3 4 5 5 5 4 5 5 6 6 6 6 6 6 6 7 8 7 6 4 3 3 3 3 3 3 4 4 4 4 3 2 2 1 1 0 -0 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -6 -6 -6 -5 -4 -2 -1 -2 -4 -5 -5 -5 -5 -5 -6 -6 -6 -5 -4 -3 -2 -2 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -4 -4 -3 -2 -1 -0 1 2 3 3 4 5 5 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 4 4 3 3 3 4 5 5 5 4 4 5 6 7 8 9 10 12 14 16 18 17 17 17 17 17 16 16 15 14 14 13 12 12 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 10 10 10 10 10 10 11 12 12 13 14 14 15 16 16 17 18 19 19 20 20 20 20 21 21 21 21 21 21 22 22 23 24 24 24 24 25 25 25 25 25 24 24 23 22 21 20 19 18 17 17 16 15 14 14 13 12 11 11 11 11 11 11 12 12 13 14 14 15 15 16 17 18 20 21 22 23 24 25 26 28 29 29 30 30 31 30 30 28 26 24 21 18 16 13 12 11 10 10 9 8 8 8 8 -17 -17 -16 -15 -15 -15 -17 -18 -18 -17 -15 -14 -13 -13 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -9 -9 -8 -9 -10 -11 -12 -13 -13 -14 -14 -14 -13 -13 -12 -12 -12 -12 -12 -13 -14 -15 -16 -18 -19 -20 -21 -21 -21 -21 -21 -22 -24 -25 -26 -27 -27 -26 -26 -25 -24 -22 -22 -23 -23 -22 -21 -21 -20 -19 -18 -18 -18 -18 -18 -20 -23 -26 -28 -29 -30 -29 -28 -26 -25 -25 -26 -27 -27 -22 -18 -16 -13 -12 -12 -11 -9 -6 -3 -2 -2 -2 -2 -2 -0 1 2 3 4 5 5 5 4 4 5 6 6 6 6 6 6 7 8 8 8 7 6 4 4 4 4 4 4 4 5 5 5 4 3 3 2 2 1 0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -5 -5 -6 -7 -7 -8 -7 -5 -2 -0 -1 -3 -5 -6 -6 -6 -6 -6 -6 -7 -7 -6 -4 -3 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -0 1 2 3 4 4 5 6 6 6 7 7 7 7 7 6 6 6 6 6 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 7 7 6 6 6 5 5 4 4 5 7 7 6 5 4 4 5 7 8 9 10 12 14 16 18 17 17 16 17 17 17 16 16 15 15 14 13 12 12 11 11 11 11 12 12 12 12 12 12 12 12 12 12 13 12 12 12 11 11 10 10 10 10 11 12 12 13 13 14 14 15 16 16 17 17 18 19 19 19 20 20 20 20 20 20 21 21 21 22 22 23 24 24 24 25 25 25 25 25 25 25 24 23 22 21 21 20 19 19 18 17 16 15 14 12 11 10 9 9 9 9 10 11 12 13 14 14 15 16 17 18 19 20 21 22 22 23 25 26 27 28 29 30 30 31 31 30 29 27 25 22 20 17 15 14 12 11 9 8 7 7 7 -12 -16 -16 -14 -13 -13 -15 -17 -18 -18 -17 -16 -14 -14 -13 -12 -11 -11 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -10 -11 -11 -12 -13 -13 -14 -14 -13 -13 -13 -12 -12 -12 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -21 -21 -21 -22 -23 -24 -26 -26 -26 -26 -25 -25 -24 -23 -23 -24 -24 -23 -23 -22 -20 -19 -18 -17 -17 -17 -18 -19 -22 -23 -23 -25 -26 -27 -26 -24 -23 -23 -24 -25 -25 -21 -16 -15 -13 -12 -11 -9 -6 -3 -1 -1 -1 -2 -2 -0 1 3 4 4 5 6 5 4 4 4 5 6 6 6 6 6 7 8 9 9 8 6 5 4 4 4 4 5 5 5 5 5 5 4 4 3 2 2 1 0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -7 -9 -10 -9 -7 -4 -1 -0 -2 -6 -8 -8 -7 -6 -6 -6 -8 -8 -8 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -2 -1 0 1 2 3 4 4 5 6 7 7 7 7 8 8 8 8 7 7 7 7 7 6 6 7 7 7 8 8 8 8 8 7 7 7 8 8 8 8 7 7 6 6 6 7 8 9 9 7 5 5 5 7 8 10 11 12 14 16 18 18 16 16 16 16 16 16 15 15 15 14 14 13 12 12 11 11 11 11 11 11 11 11 11 11 12 12 12 12 13 13 12 12 12 11 11 11 11 12 12 13 13 14 14 14 15 15 16 16 17 17 18 18 19 19 19 19 19 19 19 20 20 20 21 21 21 22 23 23 24 24 25 25 25 26 25 25 24 24 23 23 22 22 21 21 20 20 18 17 15 14 12 10 9 8 8 8 9 10 11 12 12 13 14 15 16 17 18 19 19 20 21 21 22 24 25 26 27 28 29 29 30 30 30 29 28 26 23 21 18 16 14 12 9 8 7 7 7 -5 -12 -15 -14 -13 -13 -14 -16 -17 -17 -17 -17 -16 -15 -14 -13 -12 -11 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -10 -10 -11 -11 -12 -12 -13 -13 -13 -13 -12 -12 -12 -12 -12 -13 -14 -15 -16 -17 -17 -18 -19 -20 -21 -21 -21 -22 -22 -24 -25 -25 -25 -24 -22 -21 -22 -22 -23 -24 -24 -24 -24 -23 -22 -20 -19 -18 -18 -17 -18 -19 -20 -21 -21 -23 -25 -26 -26 -25 -24 -23 -23 -23 -22 -18 -14 -14 -15 -13 -9 -5 -2 0 0 -0 -1 -2 -1 1 2 4 4 5 6 5 4 4 4 5 5 6 6 6 6 7 8 8 9 8 7 5 5 4 5 5 5 5 6 6 6 5 5 4 4 3 3 2 1 0 -0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -4 -4 -5 -6 -7 -9 -10 -11 -10 -6 -2 -0 -2 -6 -9 -10 -9 -6 -5 -6 -8 -10 -10 -9 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -1 0 1 2 3 4 4 5 6 7 7 8 8 8 9 9 9 8 8 8 8 8 7 7 7 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 9 11 11 10 8 6 7 8 9 10 12 12 14 16 18 18 17 16 15 15 15 15 14 14 14 14 14 13 13 12 12 12 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 13 13 14 14 14 14 15 15 15 16 16 17 17 18 18 18 18 18 18 18 19 19 19 19 19 20 20 20 21 21 22 23 24 24 25 25 25 25 25 25 24 24 23 23 23 23 22 22 21 20 19 17 15 13 11 9 8 7 7 7 8 9 10 10 11 12 13 14 16 17 17 18 18 19 19 20 21 22 23 25 26 27 27 28 28 29 29 29 27 25 23 21 18 15 13 10 9 8 8 8 -1 -10 -14 -14 -14 -14 -15 -15 -16 -16 -16 -16 -16 -16 -15 -13 -12 -11 -11 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -11 -12 -12 -13 -13 -14 -15 -16 -16 -17 -18 -18 -19 -20 -21 -21 -22 -23 -24 -24 -24 -23 -22 -21 -21 -21 -22 -22 -23 -24 -24 -24 -25 -24 -23 -22 -21 -20 -19 -19 -19 -19 -20 -21 -23 -24 -24 -24 -24 -23 -22 -21 -20 -19 -18 -15 -13 -12 -10 -5 -1 1 2 1 -1 -2 -1 0 2 3 4 4 5 4 4 4 4 4 5 5 5 5 6 7 7 8 9 8 7 5 4 4 4 5 5 5 5 6 6 5 5 4 4 4 3 3 2 1 0 -0 -0 1 1 0 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -5 -6 -7 -9 -11 -10 -8 -4 -2 -3 -7 -10 -12 -11 -7 -5 -5 -7 -10 -11 -10 -9 -8 -8 -8 -8 -8 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -4 -4 -3 -3 -2 -1 -0 1 1 2 3 3 4 5 6 7 7 8 8 9 9 9 9 9 9 9 9 8 8 8 8 9 9 10 10 10 11 10 10 10 10 10 10 10 10 10 10 9 9 10 12 13 12 11 10 9 10 11 12 13 14 14 16 17 18 18 17 15 15 15 14 14 13 14 14 14 13 13 13 13 12 12 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 13 14 14 15 15 15 15 15 15 15 15 16 16 17 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 20 20 21 22 23 23 24 25 25 25 25 25 24 24 24 24 23 23 23 23 22 22 21 19 17 15 13 11 10 8 7 7 7 8 8 9 10 11 12 13 14 15 16 17 17 18 18 18 19 20 21 22 23 24 25 25 26 26 27 27 27 26 24 22 19 17 14 12 11 10 10 9 -5 -12 -15 -15 -16 -16 -16 -16 -16 -15 -15 -15 -16 -16 -15 -14 -13 -12 -11 -11 -11 -11 -11 -11 -10 -9 -9 -8 -9 -10 -11 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -13 -14 -14 -15 -16 -16 -17 -18 -18 -19 -20 -21 -21 -22 -23 -24 -23 -22 -21 -21 -21 -22 -22 -22 -23 -23 -24 -25 -26 -27 -27 -26 -24 -23 -22 -22 -21 -21 -21 -22 -22 -22 -22 -22 -23 -23 -23 -21 -19 -19 -19 -15 -12 -10 -7 -2 2 3 2 0 -1 -1 -0 1 2 3 3 3 3 3 3 3 4 5 5 4 5 5 6 7 8 8 8 7 6 4 4 3 4 4 4 4 5 5 5 4 4 4 3 3 3 2 1 0 -0 0 1 2 2 1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -5 -6 -8 -9 -10 -8 -6 -3 -4 -8 -11 -13 -12 -9 -5 -5 -7 -10 -12 -11 -10 -9 -9 -10 -10 -10 -9 -8 -7 -7 -6 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -1 -1 0 1 1 2 2 3 4 5 6 6 7 8 8 9 9 9 9 9 9 9 9 9 8 8 9 9 10 11 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 12 13 14 14 13 12 12 14 15 16 16 16 16 17 17 17 17 16 15 15 15 14 13 13 13 14 13 13 13 13 13 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 12 12 12 12 12 12 12 13 14 15 16 16 16 16 16 15 15 16 16 17 17 18 18 18 19 19 19 18 18 18 18 18 18 18 18 18 18 19 19 20 20 21 22 23 23 24 24 24 24 24 24 24 24 24 23 23 23 23 22 22 21 19 18 16 14 12 10 9 8 7 7 7 8 8 9 11 12 13 14 15 16 16 17 16 16 17 17 18 19 21 22 23 23 23 24 24 24 25 24 24 22 20 18 16 14 13 12 11 10 -14 -17 -17 -16 -17 -17 -17 -17 -16 -14 -13 -14 -14 -15 -15 -14 -13 -12 -11 -11 -11 -11 -11 -11 -10 -9 -8 -8 -9 -9 -10 -11 -12 -12 -12 -12 -11 -11 -11 -10 -10 -11 -12 -12 -13 -14 -14 -15 -15 -16 -17 -17 -18 -19 -20 -21 -21 -22 -23 -22 -22 -21 -22 -22 -22 -22 -22 -22 -23 -24 -25 -27 -29 -30 -28 -26 -24 -24 -24 -24 -24 -24 -23 -22 -22 -22 -22 -23 -23 -24 -23 -21 -20 -19 -16 -12 -10 -7 -2 3 2 1 -1 -2 -1 -0 1 1 1 1 1 1 1 2 3 4 4 4 4 5 6 7 8 8 8 7 6 5 4 3 3 3 3 3 3 4 4 3 3 3 3 3 3 2 1 -0 -0 0 2 3 4 3 1 -1 -2 -1 -1 -1 -2 -2 -2 -2 -3 -4 -4 -5 -6 -7 -8 -8 -6 -4 -4 -8 -12 -14 -13 -10 -6 -5 -7 -10 -13 -13 -11 -10 -10 -10 -11 -11 -10 -9 -8 -8 -7 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -2 -1 -0 0 1 1 2 2 3 4 5 5 6 7 8 8 9 9 9 9 9 9 9 9 9 8 9 10 11 13 13 14 14 14 14 14 13 13 13 13 13 12 12 12 12 12 13 14 15 14 14 15 16 18 19 19 18 17 17 17 16 16 15 15 15 15 14 14 14 14 14 14 14 13 13 13 13 13 13 12 12 12 12 12 12 12 12 11 11 11 11 11 12 12 12 12 12 12 13 14 15 16 16 16 16 16 16 16 16 16 16 17 17 17 18 18 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 19 19 20 21 22 22 23 23 24 24 24 24 24 24 23 23 23 23 22 22 21 21 20 19 17 15 13 11 10 9 8 7 7 8 8 9 10 12 13 14 15 16 16 15 15 15 15 15 16 18 20 21 21 22 21 21 21 22 22 22 21 20 19 18 17 16 15 13 12 -21 -21 -19 -17 -17 -17 -18 -18 -16 -14 -13 -13 -13 -14 -14 -14 -13 -12 -11 -11 -11 -11 -11 -10 -10 -9 -8 -8 -8 -9 -10 -11 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -13 -13 -14 -14 -15 -15 -16 -17 -18 -19 -20 -21 -21 -22 -22 -22 -22 -22 -23 -23 -23 -22 -22 -23 -24 -25 -27 -29 -29 -28 -26 -25 -25 -25 -25 -26 -25 -24 -23 -23 -23 -24 -24 -24 -24 -24 -24 -23 -21 -17 -13 -10 -8 -4 0 -0 -2 -2 -2 -1 -1 -0 -0 -0 -0 -0 -0 1 2 3 4 4 4 5 6 7 8 8 7 7 7 5 4 3 2 2 2 2 2 2 3 2 2 2 2 2 2 1 0 -1 -1 -0 2 4 5 4 1 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -5 -6 -7 -7 -6 -5 -5 -7 -11 -14 -13 -10 -7 -4 -6 -10 -13 -13 -12 -10 -10 -10 -11 -12 -11 -10 -9 -9 -8 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -5 -4 -3 -2 -1 -0 0 0 1 1 2 3 3 4 5 6 6 7 8 8 9 9 9 9 9 9 9 9 9 9 10 12 14 15 16 15 15 15 15 15 15 15 15 14 14 13 13 12 12 13 14 15 15 15 16 17 19 20 20 19 18 17 17 16 15 14 14 14 14 14 14 14 14 15 15 15 14 14 14 14 14 13 13 13 13 12 12 12 12 12 12 11 11 11 11 12 12 12 13 13 12 13 13 14 15 16 16 16 17 17 17 16 17 17 17 17 17 17 18 18 19 19 19 19 19 18 18 18 17 17 17 17 17 17 17 17 17 18 18 19 20 21 21 22 23 23 23 23 23 23 23 23 23 22 22 22 21 21 21 20 20 18 17 14 12 11 9 8 8 8 8 9 9 11 12 13 14 15 14 14 13 13 12 12 13 14 16 18 19 19 19 19 19 19 19 19 19 19 19 19 18 17 16 15 14 -26 -24 -22 -20 -18 -18 -18 -19 -17 -14 -14 -13 -13 -13 -13 -13 -12 -12 -11 -11 -11 -10 -10 -10 -10 -9 -8 -8 -9 -9 -10 -11 -12 -12 -11 -11 -11 -11 -12 -12 -11 -11 -11 -11 -12 -12 -13 -13 -14 -14 -15 -15 -16 -17 -18 -19 -20 -20 -21 -21 -22 -22 -23 -23 -23 -23 -23 -23 -23 -24 -25 -26 -27 -28 -27 -26 -26 -25 -25 -25 -26 -26 -26 -25 -25 -25 -25 -25 -24 -24 -24 -24 -24 -23 -20 -15 -11 -9 -8 -6 -5 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -1 1 2 3 4 4 5 6 7 7 7 7 6 6 5 5 3 2 2 1 1 1 2 2 2 2 1 1 1 1 1 -0 -1 -2 -1 1 3 5 4 1 -1 -2 -2 -1 -0 -1 -1 -1 -1 -1 -2 -3 -3 -4 -5 -5 -6 -6 -5 -5 -7 -10 -13 -13 -10 -7 -5 -6 -9 -12 -13 -12 -11 -10 -10 -11 -12 -12 -11 -10 -10 -9 -9 -8 -7 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -2 -1 -0 0 0 1 1 2 3 4 5 5 6 7 8 8 9 9 9 9 9 9 9 9 9 9 10 12 14 16 17 16 16 15 16 16 16 17 17 17 17 15 14 13 13 13 14 15 16 16 17 18 19 20 20 19 18 17 16 16 15 15 14 13 13 13 13 13 14 15 16 17 17 16 15 14 14 14 14 14 13 13 13 13 13 13 13 12 12 12 12 12 12 13 13 13 13 14 14 14 15 16 16 16 17 17 17 17 17 17 17 17 17 17 18 18 18 19 19 19 19 19 18 18 18 18 18 17 17 17 17 17 17 17 17 17 18 19 19 20 21 21 22 22 23 23 23 23 23 23 22 22 22 21 21 21 21 21 20 19 17 15 13 11 10 9 9 9 9 9 10 11 13 13 14 14 13 12 11 10 10 10 11 13 14 16 17 17 17 16 16 16 16 16 17 18 18 19 18 17 16 16 -28 -27 -26 -24 -22 -21 -20 -19 -18 -16 -14 -13 -13 -13 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -10 -10 -9 -9 -10 -10 -11 -11 -12 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -11 -11 -12 -12 -13 -13 -13 -14 -15 -15 -16 -17 -18 -19 -20 -21 -21 -22 -22 -23 -23 -23 -23 -24 -24 -24 -25 -25 -26 -26 -27 -28 -28 -27 -27 -26 -26 -26 -27 -27 -26 -26 -26 -26 -25 -24 -23 -24 -25 -25 -23 -22 -19 -16 -14 -16 -16 -10 -7 -5 -5 -4 -4 -4 -4 -4 -3 -2 -1 1 2 2 3 4 5 6 6 6 6 5 5 5 4 3 2 2 1 1 1 1 2 2 2 1 1 1 1 0 -1 -2 -3 -2 0 3 4 4 2 -1 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -5 -5 -5 -5 -6 -8 -11 -11 -10 -7 -6 -6 -9 -12 -13 -12 -11 -10 -10 -11 -12 -12 -12 -11 -11 -10 -10 -10 -9 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -2 -1 -0 0 0 1 2 3 4 4 5 6 7 7 8 8 9 9 9 9 9 9 9 9 9 10 12 13 15 16 16 15 15 15 16 17 18 19 19 19 18 16 15 14 14 14 15 16 17 17 18 19 20 20 19 17 16 15 15 15 15 14 14 13 13 12 12 12 13 16 18 18 18 17 16 15 15 15 14 14 14 14 14 13 13 13 13 13 13 13 13 13 13 13 14 14 14 15 15 15 16 16 16 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 18 18 18 18 18 18 18 18 17 17 17 17 17 17 17 18 19 19 20 21 21 22 22 22 23 23 23 22 22 22 22 22 22 22 21 21 20 19 18 16 15 13 12 11 11 11 11 11 11 12 13 13 14 14 13 12 11 10 9 9 9 10 11 12 14 14 14 14 13 13 13 13 14 15 16 17 17 17 17 17 -28 -28 -28 -27 -26 -24 -22 -19 -17 -16 -15 -14 -13 -12 -11 -11 -11 -12 -12 -12 -12 -12 -12 -11 -11 -11 -10 -10 -10 -11 -11 -11 -12 -12 -11 -11 -11 -11 -12 -13 -13 -13 -13 -12 -12 -12 -12 -12 -13 -13 -13 -14 -15 -15 -16 -17 -19 -20 -21 -21 -21 -22 -23 -23 -23 -23 -24 -25 -25 -26 -26 -26 -26 -27 -28 -29 -30 -29 -28 -27 -27 -28 -28 -27 -26 -27 -28 -28 -26 -26 -26 -27 -26 -22 -20 -19 -18 -19 -21 -21 -12 -8 -6 -6 -6 -7 -6 -5 -5 -4 -2 -1 0 1 2 3 4 5 5 5 4 4 4 4 3 3 2 1 1 0 1 1 1 2 2 1 1 1 0 0 -1 -2 -2 -2 -1 2 4 4 2 -1 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -5 -5 -5 -6 -7 -9 -11 -10 -8 -7 -7 -8 -11 -12 -11 -10 -9 -10 -11 -12 -12 -12 -11 -11 -11 -11 -11 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -4 -2 -1 -1 -1 -0 0 2 3 3 4 4 5 6 7 8 8 8 9 9 9 9 9 9 9 9 10 11 12 14 15 15 14 14 14 16 17 18 20 20 20 19 18 16 15 15 15 15 16 17 18 18 19 20 20 19 17 15 14 14 15 15 15 14 14 13 12 11 11 12 15 17 19 20 19 18 17 16 15 15 15 15 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 16 16 16 17 17 17 17 18 18 18 18 18 18 19 19 19 18 18 18 18 18 18 19 18 18 18 18 18 18 18 18 18 18 17 17 17 17 17 17 18 18 19 20 20 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 21 21 20 18 17 16 15 14 13 13 13 13 13 13 13 14 14 14 14 13 12 11 10 9 8 8 8 8 9 11 12 12 12 12 11 11 11 11 11 12 13 14 15 15 16 -27 -27 -27 -27 -27 -26 -24 -20 -17 -15 -15 -14 -13 -12 -11 -10 -11 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -11 -11 -12 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -13 -13 -14 -15 -16 -18 -19 -20 -21 -22 -22 -22 -23 -22 -22 -23 -23 -25 -27 -28 -29 -28 -27 -28 -30 -31 -31 -31 -29 -28 -27 -28 -29 -29 -29 -29 -29 -29 -29 -30 -31 -30 -27 -22 -19 -22 -24 -25 -24 -23 -15 -10 -8 -8 -8 -7 -6 -5 -4 -3 -2 -1 -0 0 1 2 4 4 3 3 2 2 2 2 2 1 0 -0 -1 -0 0 1 1 1 1 1 1 0 0 -0 -1 -2 -2 -1 1 3 3 2 -1 -3 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -5 -5 -6 -7 -8 -9 -10 -9 -8 -8 -8 -10 -11 -11 -10 -10 -10 -11 -12 -12 -12 -11 -11 -11 -12 -12 -11 -11 -10 -9 -9 -8 -8 -8 -7 -7 -6 -6 -6 -6 -5 -4 -3 -2 -1 -1 -1 0 1 2 3 2 2 3 4 5 6 7 7 8 8 8 9 9 9 9 9 10 10 11 12 12 13 13 12 13 14 16 18 19 20 20 19 18 17 16 15 15 15 15 17 18 19 20 21 21 20 17 16 14 14 15 15 15 15 14 13 12 12 12 13 15 17 20 21 20 19 18 17 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 17 17 17 17 18 18 18 18 18 19 19 19 20 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 19 19 18 18 18 18 17 17 17 18 18 19 19 20 21 21 22 22 22 22 22 22 22 22 22 23 23 22 22 22 21 20 19 18 17 17 16 15 15 14 14 14 15 15 15 15 15 15 14 13 12 11 10 9 8 7 7 7 8 9 10 11 11 10 10 9 9 9 9 10 10 11 12 13 -25 -26 -26 -26 -26 -26 -24 -21 -18 -15 -14 -14 -12 -11 -10 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -13 -13 -14 -14 -13 -13 -12 -12 -12 -12 -12 -13 -14 -15 -16 -18 -19 -21 -22 -23 -23 -23 -23 -23 -23 -23 -24 -26 -29 -31 -31 -30 -29 -29 -31 -32 -33 -31 -30 -29 -28 -28 -29 -31 -31 -31 -31 -31 -31 -32 -34 -34 -31 -24 -21 -23 -26 -26 -23 -20 -16 -12 -10 -9 -9 -7 -6 -5 -4 -3 -3 -2 -2 -1 0 2 2 2 1 1 1 1 1 1 -0 -1 -1 -1 -1 -1 -1 -0 0 1 0 0 -0 0 0 0 -1 -1 -1 1 2 3 2 -0 -2 -4 -4 -4 -3 -2 -2 -2 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -6 -7 -8 -9 -9 -8 -8 -9 -9 -10 -11 -10 -10 -10 -11 -11 -12 -11 -11 -11 -11 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -8 -7 -6 -5 -5 -5 -5 -5 -4 -3 -2 -1 -1 -0 1 2 3 2 0 1 2 3 5 6 6 6 6 7 7 8 8 8 9 9 9 10 10 10 10 10 10 11 13 14 16 18 18 18 18 16 15 15 15 15 14 15 16 17 19 20 21 22 21 19 17 16 16 16 16 16 16 15 14 13 12 13 14 15 18 20 22 22 21 19 18 16 16 16 16 16 15 15 15 15 15 15 15 16 16 16 16 16 16 15 15 15 15 16 16 16 16 17 17 17 17 17 17 18 18 18 19 19 19 20 19 19 19 18 18 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 17 17 18 18 18 19 19 20 21 21 21 22 22 22 22 22 22 23 23 23 23 22 22 22 21 21 20 19 18 18 17 16 16 16 16 16 16 16 16 16 16 15 14 13 12 11 10 9 7 6 6 6 7 8 9 10 10 10 9 9 8 8 7 7 8 8 8 -25 -25 -25 -25 -25 -25 -24 -21 -18 -15 -14 -13 -12 -11 -11 -11 -11 -11 -12 -12 -13 -13 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -12 -12 -12 -12 -12 -12 -13 -14 -15 -16 -18 -19 -21 -22 -23 -24 -25 -25 -25 -25 -25 -26 -29 -32 -33 -33 -32 -32 -32 -33 -34 -34 -33 -32 -31 -31 -30 -30 -31 -32 -32 -33 -33 -33 -34 -37 -38 -37 -31 -26 -26 -28 -29 -25 -21 -19 -16 -13 -10 -8 -7 -6 -5 -4 -4 -3 -3 -3 -2 -1 0 1 1 0 0 0 0 -0 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 1 1 1 -0 -1 0 1 2 1 0 -1 -3 -4 -4 -4 -3 -2 -2 -3 -4 -5 -5 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -9 -9 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -3 -3 -2 -1 -0 1 3 3 1 -1 -1 -0 2 4 4 4 4 4 5 5 6 6 6 7 7 8 8 8 8 7 7 8 9 11 13 14 16 17 17 16 14 13 13 13 14 14 14 15 16 18 20 21 22 22 21 19 18 18 18 18 18 17 16 15 14 13 13 14 16 18 20 22 23 23 22 19 17 16 16 16 16 16 16 15 15 16 16 16 16 16 17 17 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 18 18 18 18 18 18 18 17 17 16 16 16 16 16 16 16 16 16 17 17 17 18 18 18 18 18 18 17 17 17 17 18 18 19 20 20 21 21 21 21 22 22 22 22 23 23 22 22 22 22 22 22 21 21 20 20 19 18 17 17 17 17 17 17 16 16 16 16 15 14 13 12 11 10 8 7 6 5 5 6 8 9 10 10 10 9 9 8 7 7 6 6 6 -25 -25 -25 -24 -23 -23 -22 -20 -17 -15 -14 -14 -13 -12 -12 -12 -11 -11 -11 -12 -12 -13 -13 -13 -13 -12 -12 -12 -13 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -13 -14 -15 -16 -17 -19 -20 -21 -23 -24 -25 -26 -27 -28 -28 -29 -32 -34 -35 -34 -33 -34 -35 -36 -37 -37 -36 -35 -35 -34 -34 -32 -32 -32 -33 -34 -34 -34 -36 -40 -43 -43 -37 -32 -30 -31 -31 -29 -25 -23 -20 -15 -10 -8 -7 -6 -6 -5 -5 -4 -4 -4 -3 -2 -1 -0 -0 -0 0 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 1 2 2 1 -0 -0 0 1 1 -0 -1 -2 -3 -4 -4 -4 -3 -3 -3 -5 -6 -6 -6 -5 -5 -6 -6 -6 -5 -5 -5 -6 -6 -7 -7 -8 -7 -8 -8 -8 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -9 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -4 -4 -4 -4 -4 -3 -2 -2 -1 1 3 3 2 -1 -3 -2 1 3 4 4 2 2 3 4 5 5 5 5 5 6 7 7 6 6 6 7 8 10 11 13 14 15 15 14 13 11 11 11 12 13 13 14 15 17 19 21 21 21 21 20 19 19 19 19 18 17 16 15 14 14 14 15 16 18 19 21 23 24 23 22 20 17 16 16 16 16 15 15 15 15 16 16 16 16 17 17 17 17 17 17 16 16 16 16 16 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 17 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 16 16 17 17 17 17 17 17 17 16 16 16 17 18 18 19 20 20 21 21 21 22 22 22 22 22 22 22 23 23 23 23 23 22 22 21 20 20 19 18 18 17 17 17 17 17 17 16 15 15 14 13 12 11 10 8 7 6 5 6 7 8 10 10 10 10 10 9 8 7 6 5 5 -27 -27 -26 -24 -23 -22 -20 -18 -16 -15 -14 -14 -14 -14 -13 -13 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -12 -13 -13 -13 -13 -13 -13 -12 -12 -13 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -12 -12 -13 -14 -15 -16 -17 -18 -20 -21 -22 -23 -25 -26 -28 -30 -31 -32 -33 -35 -35 -34 -34 -35 -36 -38 -39 -40 -40 -39 -39 -39 -38 -36 -34 -34 -34 -35 -35 -35 -39 -44 -47 -47 -42 -39 -36 -35 -33 -32 -29 -26 -22 -18 -13 -9 -7 -7 -6 -6 -5 -5 -5 -5 -4 -3 -2 -1 -1 -0 -0 0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 1 3 3 2 1 -0 -0 -0 -0 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -10 -9 -9 -8 -9 -9 -9 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -3 -2 -2 -1 1 3 3 2 -1 -4 -3 0 3 4 4 2 1 1 3 4 4 4 3 3 4 5 6 5 5 5 6 8 10 11 11 12 13 13 13 11 10 9 9 11 12 13 13 14 16 18 20 21 21 20 19 19 19 19 19 18 17 16 15 14 14 14 15 16 17 18 20 21 23 24 23 22 19 18 17 16 16 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 14 14 14 14 15 15 15 15 15 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 16 16 17 17 16 16 16 15 15 16 16 16 17 18 19 20 21 21 21 22 22 22 22 22 22 22 23 23 23 23 23 23 22 22 21 20 19 19 18 18 18 18 18 17 17 16 15 15 14 13 12 11 10 8 7 6 6 6 7 9 10 11 11 11 10 9 8 7 6 5 -29 -29 -28 -26 -24 -22 -20 -18 -16 -15 -15 -15 -15 -14 -14 -14 -13 -13 -12 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -13 -12 -11 -11 -11 -11 -11 -11 -11 -12 -13 -14 -14 -15 -16 -17 -18 -19 -20 -21 -23 -24 -25 -27 -30 -32 -32 -34 -35 -35 -34 -34 -36 -38 -40 -42 -43 -43 -42 -43 -43 -41 -39 -37 -36 -36 -36 -37 -39 -43 -48 -50 -49 -46 -45 -43 -40 -37 -34 -31 -27 -25 -22 -17 -12 -9 -8 -7 -6 -6 -6 -6 -5 -5 -4 -3 -2 -1 -1 -0 -0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 1 3 4 3 1 0 -0 -0 -1 -2 -3 -3 -4 -4 -4 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -7 -7 -8 -9 -9 -10 -10 -10 -9 -9 -10 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -3 -3 -2 -1 1 2 2 1 -2 -4 -4 -1 3 5 5 3 1 1 2 3 4 4 2 2 3 4 4 4 4 4 6 7 9 10 10 10 11 11 11 10 9 8 8 9 11 12 13 14 15 17 19 20 19 19 18 17 18 18 18 18 17 15 14 13 13 14 15 16 16 17 18 19 21 22 23 22 21 19 18 17 16 15 14 14 14 14 14 14 15 15 15 15 15 15 15 15 16 16 16 16 15 15 15 14 14 14 13 13 14 14 14 14 13 13 13 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 14 14 15 15 16 16 16 15 15 15 15 15 15 15 15 17 18 19 20 21 21 21 21 21 21 21 21 22 22 23 23 24 24 23 23 22 22 21 20 20 19 19 19 19 19 18 18 17 16 15 15 14 13 12 11 10 8 7 7 6 7 8 9 10 11 11 11 11 10 9 7 6 -28 -29 -29 -28 -27 -24 -21 -19 -16 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -13 -12 -12 -13 -13 -13 -13 -13 -13 -13 -14 -15 -15 -15 -15 -14 -13 -13 -13 -13 -13 -13 -12 -11 -11 -11 -11 -11 -11 -12 -12 -13 -14 -15 -16 -17 -18 -19 -19 -20 -21 -22 -23 -24 -26 -28 -30 -31 -32 -33 -33 -34 -35 -37 -39 -41 -44 -45 -45 -44 -45 -45 -45 -44 -43 -41 -39 -38 -38 -41 -46 -48 -48 -45 -43 -43 -42 -39 -37 -33 -30 -26 -23 -20 -18 -15 -10 -8 -7 -6 -6 -6 -6 -6 -5 -4 -3 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -2 -2 -2 -1 0 3 4 3 2 1 0 0 -1 -2 -3 -4 -4 -4 -4 -4 -5 -6 -7 -7 -8 -8 -7 -7 -8 -8 -8 -7 -7 -6 -5 -4 -4 -5 -5 -6 -6 -7 -7 -6 -6 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -10 -10 -9 -9 -8 -8 -7 -7 -7 -7 -8 -8 -7 -6 -5 -3 -3 -3 -3 -3 -3 -3 -1 -0 1 1 2 1 -2 -4 -4 -2 1 4 5 4 2 0 1 3 4 4 2 1 1 2 3 3 3 3 4 6 8 8 9 9 9 9 9 9 8 7 7 8 9 11 12 13 14 16 18 19 18 17 16 15 16 16 17 17 16 14 13 12 13 14 15 16 16 16 16 17 18 20 22 22 21 20 19 18 16 15 14 14 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 15 15 14 14 14 14 13 13 13 12 12 12 12 12 12 12 11 11 11 10 10 10 10 11 11 11 11 11 11 12 11 11 11 11 11 12 12 13 13 13 14 14 15 15 15 14 14 14 14 14 14 14 15 16 18 19 20 20 20 20 20 20 20 21 21 22 22 23 23 23 23 23 23 22 22 21 21 20 20 20 20 20 20 19 18 17 16 15 15 14 13 12 11 10 8 8 7 7 7 8 9 9 10 11 11 11 10 9 8 -26 -27 -27 -27 -26 -24 -21 -18 -16 -15 -16 -16 -16 -15 -15 -15 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -13 -14 -16 -16 -16 -14 -13 -13 -12 -13 -12 -12 -12 -12 -12 -12 -12 -12 -11 -12 -12 -13 -14 -15 -16 -17 -18 -19 -19 -20 -21 -23 -24 -25 -25 -27 -28 -28 -29 -30 -31 -32 -34 -37 -38 -40 -43 -46 -48 -48 -48 -48 -48 -47 -47 -46 -45 -43 -41 -42 -45 -46 -44 -40 -37 -37 -36 -34 -32 -30 -30 -29 -26 -22 -18 -14 -10 -7 -6 -6 -7 -7 -7 -6 -5 -4 -3 -2 -2 -1 -1 -1 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -0 2 3 3 2 1 0 1 0 -1 -2 -3 -4 -3 -3 -3 -4 -5 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -7 -7 -7 -7 -6 -7 -7 -7 -6 -5 -4 -2 -2 -2 -2 -3 -3 -2 -0 1 1 1 0 -1 -3 -4 -3 -0 2 4 4 3 1 0 2 3 3 2 0 0 1 2 2 2 2 3 4 6 6 6 6 7 7 7 7 6 5 5 6 8 9 11 12 13 14 16 16 16 14 13 13 13 14 15 15 15 13 12 12 13 14 15 16 16 16 16 16 17 19 21 22 21 20 19 17 16 15 14 13 12 12 11 11 11 11 11 10 10 10 10 11 11 11 12 12 12 13 13 13 13 12 12 12 12 11 11 11 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 10 10 10 10 9 9 10 10 10 11 11 12 12 13 13 14 14 14 14 14 14 14 13 13 14 14 15 16 17 18 19 19 19 20 20 20 20 20 21 21 22 22 22 22 23 23 23 23 22 22 21 21 21 21 21 21 20 19 18 17 16 15 14 13 12 11 10 9 9 8 8 8 8 8 8 9 10 10 11 11 10 9 -24 -25 -24 -24 -23 -21 -19 -18 -17 -18 -18 -17 -16 -16 -15 -15 -15 -14 -14 -14 -13 -13 -13 -13 -13 -13 -12 -12 -12 -13 -14 -15 -16 -16 -15 -14 -13 -12 -12 -12 -12 -12 -12 -12 -13 -12 -12 -11 -12 -12 -13 -14 -15 -16 -17 -17 -18 -19 -20 -21 -23 -24 -25 -25 -26 -26 -26 -26 -27 -28 -30 -33 -36 -39 -41 -43 -47 -49 -51 -50 -49 -48 -48 -48 -49 -50 -50 -49 -46 -45 -43 -39 -35 -31 -29 -27 -25 -25 -27 -31 -33 -29 -26 -23 -22 -19 -12 -8 -6 -7 -7 -7 -6 -5 -4 -3 -2 -2 -3 -3 -3 -2 -1 -1 -0 -0 -1 -0 -1 -1 -1 -1 0 2 2 2 1 0 1 1 -0 -1 -3 -3 -2 -2 -2 -3 -4 -5 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -6 -6 -6 -6 -6 -6 -6 -7 -7 -6 -4 -3 -1 -1 -1 -1 -2 -2 -1 0 1 1 1 -1 -3 -3 -3 -1 1 3 4 4 3 1 1 2 2 1 0 -1 0 1 2 2 2 2 3 4 4 4 4 4 5 5 4 4 4 4 5 7 8 9 10 11 11 12 12 12 10 9 10 11 12 14 14 13 12 11 11 12 14 16 17 17 17 17 16 17 18 20 21 21 20 18 17 16 14 13 12 11 10 10 9 9 8 8 7 7 7 7 7 7 7 7 8 8 9 9 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 8 8 8 8 7 7 7 7 7 8 8 8 8 8 8 8 8 9 9 10 10 11 11 12 12 13 13 13 14 14 14 14 13 13 14 14 15 16 17 18 18 19 19 19 19 20 20 21 21 21 21 22 22 23 23 23 23 23 22 22 22 22 22 22 22 21 20 19 18 18 17 15 14 12 11 10 10 9 9 9 8 8 8 8 8 9 9 10 10 11 11 -23 -24 -23 -22 -20 -18 -17 -17 -19 -20 -20 -18 -16 -16 -15 -15 -15 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -13 -15 -15 -15 -15 -14 -13 -12 -12 -12 -13 -13 -13 -13 -12 -12 -12 -11 -12 -12 -14 -15 -16 -17 -17 -17 -17 -19 -20 -21 -23 -24 -25 -25 -25 -25 -24 -24 -25 -27 -29 -32 -35 -38 -41 -44 -47 -50 -52 -52 -51 -50 -49 -49 -50 -52 -53 -53 -48 -41 -35 -32 -29 -27 -25 -22 -20 -20 -24 -30 -31 -26 -21 -20 -21 -22 -17 -11 -7 -7 -7 -7 -6 -5 -4 -3 -3 -3 -4 -4 -4 -3 -2 -1 -1 -1 -0 -0 -0 -0 -1 -0 0 1 1 0 0 1 1 0 -1 -2 -2 -2 -1 -1 -2 -3 -4 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -5 -4 -3 -3 -3 -4 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -8 -9 -9 -8 -7 -6 -6 -6 -5 -5 -5 -5 -6 -6 -6 -5 -4 -2 -0 0 0 -0 -1 -2 -1 1 1 1 -0 -2 -2 -2 -2 -0 1 3 4 4 2 1 1 2 2 1 -0 -0 1 2 2 1 2 2 3 3 2 1 1 2 3 3 2 2 3 4 6 7 8 8 8 8 8 8 7 6 6 7 8 10 12 12 12 11 10 10 11 14 15 17 17 17 17 17 17 17 19 20 21 20 18 16 14 13 11 10 9 8 8 7 7 6 5 5 4 3 3 2 2 2 2 2 3 3 4 4 5 5 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 5 5 6 6 6 6 6 7 7 7 7 8 8 8 9 9 10 10 11 12 13 13 13 14 14 13 13 13 14 14 15 16 16 17 18 18 18 19 19 20 20 21 21 21 21 22 22 23 23 23 23 23 23 22 22 22 22 22 22 21 20 19 18 17 16 15 13 11 10 10 10 10 9 9 9 8 8 8 9 9 10 10 11 11 -23 -23 -23 -21 -19 -16 -15 -16 -18 -21 -21 -19 -17 -15 -15 -15 -15 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -15 -15 -15 -15 -14 -13 -13 -13 -13 -14 -14 -14 -14 -13 -12 -11 -12 -12 -14 -16 -17 -18 -17 -17 -17 -18 -19 -21 -22 -23 -24 -25 -25 -25 -24 -24 -23 -24 -26 -28 -32 -35 -38 -42 -44 -46 -48 -50 -51 -51 -50 -50 -51 -52 -53 -54 -53 -50 -43 -38 -34 -31 -29 -29 -27 -24 -22 -25 -30 -30 -26 -21 -18 -19 -21 -18 -12 -8 -7 -7 -7 -6 -5 -4 -3 -4 -5 -5 -5 -4 -3 -3 -2 -2 -1 -0 0 0 -0 -0 -0 0 0 0 0 0 1 0 -1 -2 -2 -2 -1 -1 -2 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -1 0 2 1 0 -1 -2 -1 1 2 1 -0 -1 -1 -1 -1 0 2 4 5 3 2 1 2 2 1 1 1 1 2 2 2 2 2 3 2 0 -1 -1 1 1 2 1 2 2 4 5 6 6 6 5 5 5 5 4 3 3 4 6 9 10 11 10 9 9 9 11 13 14 15 16 16 17 17 17 17 18 19 20 19 17 15 12 11 10 8 7 6 5 5 4 3 3 2 1 0 -1 -1 -2 -3 -3 -3 -2 -2 -2 -1 -0 0 1 2 2 3 3 4 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 4 4 4 4 5 5 5 6 6 6 6 6 6 7 7 7 8 8 9 10 11 12 13 13 14 13 13 13 13 13 14 14 15 16 17 17 18 18 19 20 20 21 21 21 21 22 22 22 23 23 23 23 23 23 23 23 23 22 22 21 20 19 18 18 17 16 14 12 10 10 9 10 10 10 10 10 10 9 10 10 10 11 11 11 -23 -23 -22 -20 -17 -14 -12 -14 -17 -21 -23 -20 -17 -15 -15 -15 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -14 -14 -14 -14 -14 -15 -15 -15 -15 -15 -14 -14 -14 -15 -15 -16 -15 -15 -13 -12 -11 -12 -13 -15 -17 -19 -19 -19 -18 -17 -18 -20 -22 -23 -24 -25 -25 -25 -25 -24 -23 -23 -23 -25 -27 -31 -34 -38 -41 -44 -45 -47 -48 -50 -51 -51 -51 -52 -52 -53 -54 -54 -53 -50 -46 -43 -39 -36 -35 -32 -28 -25 -25 -27 -29 -28 -25 -21 -19 -19 -17 -13 -10 -8 -7 -7 -6 -5 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -2 -1 -0 1 1 0 0 0 0 0 0 0 0 -0 -1 -2 -3 -3 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -4 -5 -5 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -0 2 3 2 0 -1 -2 -0 1 2 1 0 -0 -1 -0 0 1 4 5 4 3 2 1 2 2 2 2 2 2 2 2 2 2 2 1 -0 -1 -1 -0 1 1 1 2 2 4 5 6 6 4 3 2 2 2 2 2 2 3 6 8 9 10 9 8 7 8 9 11 13 13 14 14 15 16 16 16 17 18 18 17 15 13 11 9 7 6 5 4 3 2 2 1 0 -1 -1 -2 -3 -4 -5 -6 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -2 -1 -0 1 2 3 3 4 4 5 5 5 5 5 6 6 6 6 5 5 4 4 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 7 7 8 9 11 12 12 13 13 13 13 13 13 13 13 14 15 16 16 17 18 18 19 20 21 21 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 22 21 20 19 18 18 17 16 15 13 12 10 10 10 10 11 11 11 11 11 11 11 11 11 12 12 -22 -22 -20 -18 -15 -12 -10 -12 -17 -22 -24 -23 -19 -16 -15 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -16 -16 -15 -15 -15 -15 -16 -16 -17 -16 -16 -15 -14 -12 -12 -13 -15 -17 -19 -20 -21 -20 -19 -19 -20 -21 -22 -24 -25 -26 -26 -25 -24 -23 -23 -23 -24 -25 -26 -29 -32 -36 -39 -42 -44 -45 -47 -50 -51 -52 -52 -52 -52 -52 -53 -54 -55 -54 -52 -50 -47 -43 -39 -34 -29 -26 -24 -23 -25 -28 -28 -26 -22 -20 -18 -17 -14 -11 -7 -7 -6 -5 -5 -5 -6 -6 -5 -5 -5 -4 -4 -3 -2 -1 0 1 1 1 1 1 1 1 1 0 -0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -5 -4 -4 -4 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -5 -5 -5 -5 -5 -5 -6 -7 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -1 0 2 3 2 1 -1 -1 0 2 2 1 0 -0 -0 0 1 3 5 5 4 2 1 1 2 2 3 3 3 3 3 2 2 2 1 -0 -1 -1 -0 1 2 2 2 2 4 5 5 5 3 1 0 1 2 2 2 2 4 6 8 9 9 8 7 6 7 8 9 11 11 12 12 13 14 15 15 15 16 16 15 13 11 9 7 5 4 3 2 1 1 -0 -1 -2 -2 -3 -3 -4 -5 -6 -7 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 0 1 2 3 4 4 5 5 5 6 6 6 6 6 6 6 5 5 4 4 4 4 4 5 5 5 6 6 6 6 5 5 5 6 6 6 7 8 9 10 11 12 12 12 12 12 12 12 13 13 14 15 15 16 17 17 18 19 20 21 21 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 22 20 19 18 17 17 17 16 15 13 12 11 10 11 11 12 12 12 12 12 12 12 12 12 13 -21 -20 -18 -14 -10 -8 -8 -12 -16 -21 -25 -25 -22 -19 -16 -15 -15 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -15 -15 -15 -16 -16 -16 -15 -15 -15 -16 -17 -17 -17 -17 -16 -15 -14 -13 -13 -14 -16 -18 -20 -21 -22 -22 -22 -22 -22 -22 -23 -24 -25 -25 -25 -25 -24 -23 -23 -24 -25 -25 -26 -28 -30 -33 -36 -40 -43 -45 -47 -49 -50 -51 -51 -51 -51 -51 -52 -52 -53 -54 -54 -53 -50 -47 -42 -36 -31 -26 -22 -21 -23 -26 -28 -28 -27 -25 -23 -21 -19 -15 -9 -7 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -3 -2 -1 0 1 1 1 1 1 1 1 1 0 -0 -1 -2 -3 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -4 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -6 -7 -7 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -2 -2 -1 -2 -1 -1 1 3 3 2 1 -1 -0 1 2 2 1 0 -0 0 1 2 4 5 4 3 2 1 1 2 3 3 4 4 3 3 2 2 1 -0 -1 -1 -0 1 2 2 2 2 3 4 4 4 2 1 -0 1 3 4 4 4 4 6 7 8 8 7 6 6 6 7 8 9 9 10 10 11 13 13 13 13 13 12 12 11 9 7 5 4 2 2 1 0 -1 -2 -3 -4 -4 -4 -4 -5 -5 -6 -6 -7 -6 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -3 -2 -1 0 1 2 3 4 5 5 6 6 6 6 6 6 7 6 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8 8 9 10 11 11 12 12 12 12 13 13 13 14 14 15 16 16 17 18 19 20 21 21 22 22 22 22 22 22 22 23 23 23 23 23 23 23 22 21 20 18 18 17 17 17 16 15 13 12 12 12 12 13 13 14 14 14 13 13 13 13 13 -19 -18 -15 -11 -8 -6 -8 -12 -16 -20 -23 -25 -24 -22 -19 -16 -15 -15 -15 -14 -14 -14 -14 -14 -14 -15 -15 -16 -16 -16 -16 -16 -16 -16 -15 -15 -15 -16 -17 -18 -18 -18 -17 -16 -14 -14 -14 -15 -17 -19 -20 -22 -22 -23 -24 -25 -25 -26 -25 -25 -24 -24 -24 -23 -23 -23 -23 -24 -25 -25 -26 -28 -30 -32 -34 -37 -40 -43 -45 -46 -48 -49 -50 -50 -51 -51 -51 -51 -52 -52 -53 -53 -51 -49 -45 -40 -36 -31 -25 -21 -21 -23 -26 -29 -31 -29 -27 -24 -20 -15 -10 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 0 1 1 1 1 1 1 1 1 1 -0 -1 -2 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -6 -6 -5 -4 -3 -3 -3 -4 -4 -5 -5 -5 -5 -6 -6 -7 -7 -6 -6 -6 -6 -6 -7 -8 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -0 1 2 2 2 1 0 1 1 1 1 1 0 1 1 2 3 4 4 3 2 1 0 1 1 3 4 4 4 3 2 2 1 -0 -1 -1 -0 1 2 1 1 2 2 3 3 2 1 -0 -0 1 4 5 5 5 5 6 7 7 7 6 5 5 5 6 6 6 7 7 8 10 11 12 12 11 10 9 9 8 6 5 3 2 1 -0 -1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 -1 -1 -2 -3 -4 -4 -5 -5 -4 -4 -3 -3 -2 -1 -0 1 2 3 4 5 5 5 6 6 6 7 7 7 7 7 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 9 10 11 11 11 12 12 13 13 13 14 14 14 15 15 16 17 18 19 20 21 21 22 22 22 22 22 22 22 22 23 23 23 23 23 23 22 21 20 18 17 17 17 16 16 15 14 13 13 13 14 14 14 15 15 14 14 14 14 14 -18 -16 -14 -10 -7 -5 -8 -12 -15 -18 -21 -23 -24 -24 -22 -19 -17 -16 -15 -15 -15 -14 -14 -14 -14 -15 -15 -16 -17 -17 -17 -17 -17 -17 -16 -16 -16 -16 -17 -18 -18 -19 -18 -17 -16 -16 -16 -17 -18 -20 -21 -21 -22 -23 -24 -25 -28 -30 -30 -27 -25 -24 -23 -22 -22 -22 -23 -24 -25 -26 -26 -27 -29 -31 -33 -36 -39 -41 -43 -45 -47 -48 -50 -51 -51 -51 -52 -52 -52 -52 -51 -51 -49 -47 -45 -42 -38 -32 -25 -21 -20 -21 -24 -28 -33 -33 -28 -23 -19 -17 -15 -10 -7 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -2 -2 -1 0 1 1 1 1 1 1 1 1 1 0 -1 -2 -2 -3 -2 -2 -2 -3 -3 -4 -5 -6 -6 -6 -5 -4 -3 -3 -3 -4 -4 -5 -5 -5 -5 -6 -7 -7 -7 -7 -6 -6 -7 -7 -7 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -2 -1 -1 -1 -1 -1 -0 1 2 2 1 0 0 1 1 1 1 1 1 2 2 3 3 4 3 2 1 1 0 0 1 2 4 4 4 3 1 0 -1 -1 -1 -0 1 1 1 0 1 1 2 2 1 0 -1 -0 1 3 5 5 5 4 4 5 6 5 5 5 5 6 5 5 5 5 5 6 7 9 10 10 9 8 7 6 5 4 3 1 -0 -1 -2 -3 -3 -4 -5 -6 -7 -7 -7 -6 -6 -5 -5 -5 -4 -4 -3 -2 -1 0 0 0 -0 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 0 1 2 3 3 4 4 5 6 6 6 7 7 6 6 6 6 6 6 7 7 8 8 8 9 9 8 8 8 8 8 7 7 7 8 8 9 10 10 11 12 12 12 13 13 14 14 14 14 15 15 16 17 17 18 19 20 21 21 22 22 22 22 22 22 22 23 23 23 23 23 22 22 20 19 18 17 17 17 17 16 16 15 14 14 14 15 15 15 16 15 15 15 14 14 -17 -15 -13 -10 -7 -6 -8 -11 -14 -16 -18 -21 -23 -24 -23 -21 -19 -18 -17 -16 -16 -16 -15 -15 -15 -15 -16 -16 -17 -18 -18 -18 -18 -18 -17 -16 -16 -16 -16 -17 -18 -18 -18 -17 -17 -18 -18 -18 -19 -20 -21 -22 -22 -23 -24 -26 -29 -32 -33 -31 -27 -25 -23 -22 -22 -22 -22 -23 -24 -25 -26 -27 -29 -30 -33 -35 -38 -40 -42 -44 -46 -47 -49 -50 -51 -51 -52 -52 -53 -53 -52 -50 -48 -45 -43 -41 -37 -32 -26 -22 -22 -21 -22 -25 -30 -33 -32 -28 -23 -19 -17 -14 -10 -6 -5 -5 -5 -4 -4 -4 -4 -3 -3 -2 -1 -0 1 1 1 -0 -1 -0 0 1 1 1 0 -0 -1 -2 -2 -1 -1 -1 -2 -3 -4 -5 -6 -5 -5 -4 -4 -3 -3 -3 -4 -4 -4 -4 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -1 -1 -1 -0 0 1 1 0 0 1 1 1 1 1 1 2 3 3 3 3 3 3 2 1 1 0 0 1 2 3 4 4 2 0 -1 -2 -1 -0 0 0 -0 -1 -1 0 0 0 -0 -1 -2 -1 0 2 4 4 3 2 2 3 4 4 4 4 5 5 5 4 3 3 3 4 5 6 7 8 7 6 5 4 3 2 1 0 -1 -3 -4 -4 -5 -6 -7 -8 -9 -8 -8 -7 -6 -5 -5 -5 -4 -4 -3 -2 -0 0 0 0 -0 -0 -1 -1 -2 -3 -3 -4 -4 -5 -5 -6 -6 -5 -5 -4 -3 -2 -2 -1 -0 0 1 2 2 3 4 5 5 5 5 5 4 4 4 5 5 6 7 8 8 9 9 9 9 9 9 9 8 8 8 8 8 9 9 10 10 11 12 12 13 13 14 15 15 15 15 15 15 16 16 17 18 19 20 21 21 21 22 22 22 22 22 23 23 23 23 22 22 22 21 20 19 18 17 17 17 17 17 16 15 15 15 15 16 16 16 16 16 15 15 15 -16 -14 -12 -9 -7 -6 -9 -12 -13 -15 -16 -18 -20 -22 -23 -23 -22 -20 -19 -19 -19 -18 -17 -16 -16 -16 -16 -17 -18 -18 -19 -19 -18 -18 -17 -17 -17 -17 -17 -18 -18 -18 -18 -18 -18 -18 -18 -18 -19 -21 -22 -23 -24 -24 -25 -27 -30 -32 -33 -32 -30 -27 -25 -23 -22 -22 -22 -23 -24 -26 -27 -28 -29 -30 -33 -35 -38 -40 -42 -44 -45 -47 -48 -49 -50 -50 -51 -53 -54 -54 -53 -51 -49 -45 -43 -40 -37 -33 -28 -24 -24 -23 -22 -22 -26 -32 -34 -31 -24 -18 -14 -15 -13 -10 -6 -5 -5 -4 -4 -4 -3 -3 -3 -2 -1 0 1 1 -0 -1 -1 -1 1 1 2 1 0 -1 -1 -1 -1 -0 -1 -1 -2 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 0 1 1 1 1 1 2 3 4 4 3 3 3 2 2 1 1 1 -0 0 1 3 4 3 1 -1 -2 -2 -1 -0 -1 -1 -2 -2 -1 -1 -1 -1 -2 -2 -2 -1 1 2 2 0 -0 -0 1 2 2 2 3 3 4 3 2 1 1 1 2 3 4 5 5 4 3 2 2 1 0 -0 -1 -2 -4 -5 -5 -6 -7 -8 -9 -10 -10 -9 -7 -7 -6 -5 -5 -5 -4 -3 -2 -1 -1 -0 -1 -1 -1 -1 -2 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6 -5 -5 -5 -5 -4 -4 -3 -2 -2 -1 -1 -0 1 1 2 2 2 2 2 2 1 1 2 2 3 5 6 7 8 8 9 9 9 9 9 9 8 8 8 8 8 9 9 10 11 11 12 13 13 14 15 16 16 15 15 15 15 16 16 17 18 19 20 20 21 21 21 21 22 22 22 23 23 22 22 22 22 22 21 20 19 18 18 18 17 17 17 16 16 15 16 16 17 17 17 17 17 17 16 -15 -14 -11 -9 -7 -7 -10 -12 -14 -15 -16 -17 -19 -20 -22 -23 -24 -23 -22 -22 -23 -23 -22 -19 -18 -17 -17 -17 -18 -18 -19 -19 -19 -18 -17 -17 -17 -17 -18 -18 -18 -18 -18 -18 -18 -19 -18 -19 -20 -22 -24 -25 -25 -25 -26 -28 -30 -31 -32 -32 -31 -29 -27 -25 -23 -22 -22 -23 -25 -26 -28 -30 -30 -31 -33 -35 -38 -40 -42 -44 -46 -47 -48 -48 -48 -49 -49 -51 -52 -53 -54 -54 -52 -48 -45 -42 -38 -35 -30 -27 -25 -23 -21 -22 -25 -29 -32 -30 -25 -20 -16 -16 -15 -13 -9 -6 -5 -4 -4 -3 -3 -3 -3 -2 -1 0 0 -0 -1 -2 -2 -0 1 2 2 1 0 -1 -1 -1 -0 -0 -1 -1 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -5 -7 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 0 1 2 2 2 2 3 4 4 4 3 3 2 2 1 1 1 1 -0 -1 0 2 3 3 1 -1 -2 -2 -1 -1 -2 -3 -3 -3 -3 -2 -3 -3 -3 -3 -1 -0 0 -0 -2 -3 -3 -2 -1 0 0 1 1 2 1 0 -1 -1 -0 0 1 1 2 2 2 1 -0 -0 -1 -1 -2 -3 -4 -4 -5 -6 -7 -8 -9 -10 -10 -10 -9 -8 -7 -7 -6 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -1 0 1 3 4 5 7 8 8 9 9 9 9 9 8 8 8 9 9 9 10 10 11 12 13 13 15 16 16 17 17 16 16 16 16 16 17 17 18 19 19 20 20 20 21 21 22 22 22 22 22 22 22 22 22 22 21 20 20 19 19 18 18 17 17 16 16 16 16 17 18 19 19 19 19 18 -15 -13 -11 -9 -8 -9 -11 -13 -14 -15 -16 -17 -18 -20 -21 -22 -23 -24 -24 -24 -25 -25 -25 -23 -21 -19 -18 -18 -18 -19 -19 -19 -19 -19 -18 -17 -17 -17 -17 -18 -18 -18 -18 -18 -18 -19 -19 -20 -22 -24 -25 -26 -25 -25 -26 -28 -30 -31 -31 -31 -30 -29 -27 -26 -24 -23 -23 -23 -25 -27 -30 -31 -32 -32 -34 -36 -38 -41 -44 -46 -47 -48 -48 -47 -47 -47 -47 -48 -49 -51 -54 -55 -55 -53 -49 -45 -42 -37 -33 -29 -26 -23 -21 -22 -24 -27 -29 -27 -24 -21 -19 -17 -16 -15 -13 -10 -6 -4 -4 -4 -3 -3 -2 -1 -1 -0 -0 -1 -2 -2 -1 -0 1 2 1 1 -0 -1 -1 -1 -0 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -2 -2 -2 -3 -4 -4 -4 -4 -5 -6 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -2 -2 -1 -1 -0 -1 -1 -1 -1 -1 -0 -1 -0 0 2 2 3 3 3 3 4 4 3 3 2 1 1 1 1 1 1 -1 -2 -1 1 3 3 1 -1 -2 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -1 -1 -2 -4 -5 -5 -4 -2 -2 -1 -2 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -0 -1 -1 -2 -2 -2 -3 -3 -4 -4 -5 -5 -6 -7 -8 -9 -9 -9 -9 -9 -8 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -1 -0 1 3 4 5 6 7 8 8 8 9 9 9 9 9 9 9 10 10 11 12 12 13 14 16 17 18 18 18 17 17 16 16 16 17 17 18 18 19 19 19 20 20 21 21 22 22 22 22 22 22 22 22 22 22 21 21 20 19 19 18 17 17 17 17 17 18 19 20 21 21 21 20 -15 -13 -12 -11 -11 -12 -12 -13 -14 -14 -15 -16 -18 -20 -21 -22 -23 -24 -25 -25 -25 -26 -25 -24 -22 -20 -19 -18 -18 -19 -19 -20 -20 -19 -19 -18 -18 -17 -17 -17 -18 -18 -18 -18 -19 -19 -20 -21 -22 -24 -25 -25 -25 -25 -25 -28 -30 -31 -31 -30 -29 -28 -27 -25 -24 -23 -23 -24 -25 -28 -31 -32 -33 -33 -35 -38 -40 -43 -45 -47 -48 -49 -48 -47 -46 -45 -45 -45 -47 -50 -52 -54 -55 -55 -53 -50 -45 -40 -36 -33 -28 -23 -21 -22 -22 -24 -25 -24 -22 -21 -21 -19 -18 -18 -17 -15 -10 -6 -4 -3 -3 -3 -2 -2 -1 -1 -1 -2 -2 -2 -1 0 1 2 1 0 -1 -1 -1 -0 0 0 0 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -3 -4 -4 -4 -4 -5 -7 -8 -8 -7 -7 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -2 -1 -1 -0 -0 -0 -0 -1 -1 -1 -0 -0 -0 -0 1 2 3 3 3 3 3 3 3 3 2 1 0 -0 1 1 2 0 -2 -3 -2 1 3 3 2 -0 -2 -3 -3 -3 -4 -5 -5 -5 -5 -6 -5 -5 -4 -3 -3 -3 -5 -6 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -3 -3 -3 -2 -2 -3 -3 -3 -3 -4 -4 -5 -5 -5 -6 -6 -7 -7 -8 -8 -9 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -7 -6 -6 -5 -5 -5 -5 -5 -4 -3 -2 -1 0 2 3 4 5 6 7 8 8 9 9 9 9 10 10 10 10 11 11 12 13 14 15 17 18 18 18 18 18 17 17 17 17 17 18 18 18 18 19 19 20 20 21 21 21 21 22 22 22 23 23 23 23 22 22 22 21 20 19 19 18 18 18 18 19 21 22 23 23 23 23 -15 -13 -12 -12 -12 -13 -13 -14 -14 -14 -15 -16 -17 -19 -20 -22 -23 -25 -26 -27 -27 -27 -25 -24 -22 -21 -19 -19 -18 -18 -19 -19 -19 -19 -19 -18 -18 -17 -17 -17 -18 -18 -19 -19 -19 -19 -20 -21 -22 -23 -24 -24 -24 -24 -24 -27 -29 -30 -30 -29 -29 -28 -27 -26 -24 -23 -22 -24 -26 -28 -30 -31 -32 -34 -36 -38 -41 -44 -46 -48 -49 -49 -49 -47 -46 -44 -44 -44 -46 -48 -50 -52 -53 -54 -53 -51 -47 -43 -39 -37 -32 -26 -22 -21 -22 -21 -21 -21 -22 -23 -23 -23 -21 -20 -19 -17 -14 -9 -5 -3 -3 -3 -3 -2 -2 -1 -1 -2 -2 -2 -1 0 1 1 1 0 -1 -1 -0 0 1 1 1 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -2 -3 -4 -5 -5 -5 -5 -6 -7 -8 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -0 0 0 1 0 0 -0 -0 0 1 0 0 1 1 2 3 3 3 3 3 2 2 2 2 0 -1 -0 1 2 2 -1 -3 -3 -2 0 3 4 2 -0 -3 -3 -3 -4 -5 -6 -6 -6 -7 -6 -6 -5 -4 -4 -4 -5 -6 -7 -6 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -9 -10 -10 -9 -8 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -7 -7 -7 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -12 -11 -11 -11 -10 -10 -9 -8 -7 -6 -5 -5 -5 -5 -5 -4 -3 -2 -1 -0 1 2 3 4 6 7 7 8 9 9 10 10 10 10 11 11 11 12 12 14 15 16 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 20 20 21 21 21 21 21 22 22 23 23 23 23 23 23 22 22 21 20 20 19 19 19 20 22 23 24 25 25 25 -15 -14 -12 -12 -13 -13 -13 -14 -14 -14 -15 -16 -17 -19 -20 -21 -23 -24 -26 -27 -28 -28 -27 -24 -22 -20 -19 -18 -18 -18 -18 -18 -18 -19 -19 -18 -18 -17 -17 -18 -18 -19 -19 -19 -19 -20 -21 -22 -22 -23 -23 -23 -22 -22 -23 -25 -27 -28 -29 -28 -28 -27 -27 -26 -25 -24 -23 -24 -26 -27 -28 -30 -32 -35 -37 -40 -42 -44 -46 -47 -48 -48 -48 -48 -46 -45 -44 -44 -45 -47 -49 -50 -51 -50 -50 -50 -48 -45 -41 -37 -31 -24 -20 -19 -20 -19 -19 -21 -24 -26 -28 -27 -25 -21 -18 -16 -16 -13 -9 -4 -2 -3 -3 -3 -2 -1 -1 -1 -2 -1 -1 0 1 1 1 0 -0 0 1 1 1 1 1 0 -1 -1 -2 -2 -2 -2 -2 -1 -1 -0 -1 -2 -4 -5 -5 -5 -5 -6 -6 -7 -7 -6 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 -0 0 0 1 1 1 1 1 1 1 2 2 1 1 1 1 2 2 3 3 2 2 2 2 2 1 -1 -0 1 2 3 1 -2 -4 -4 -2 1 4 4 2 -1 -3 -4 -4 -5 -6 -6 -7 -7 -7 -7 -6 -6 -5 -5 -6 -6 -7 -6 -6 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -11 -11 -10 -9 -8 -7 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -7 -7 -8 -8 -9 -9 -10 -10 -11 -12 -13 -13 -13 -13 -13 -13 -12 -12 -12 -11 -10 -10 -9 -7 -6 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 -0 1 2 3 4 5 6 7 8 9 9 10 10 11 11 11 11 11 12 13 14 15 16 16 16 17 17 17 18 18 18 18 18 19 19 19 19 19 19 20 20 21 21 21 21 21 21 22 22 23 23 24 24 23 23 23 22 22 21 21 21 21 21 23 24 25 26 27 27 -15 -14 -13 -12 -12 -12 -13 -14 -14 -15 -16 -17 -18 -19 -20 -21 -22 -24 -25 -27 -28 -29 -29 -27 -24 -20 -18 -17 -17 -17 -17 -17 -18 -18 -18 -18 -17 -17 -17 -18 -18 -19 -19 -20 -20 -20 -21 -22 -23 -24 -24 -23 -22 -21 -22 -23 -25 -26 -26 -27 -27 -27 -27 -27 -27 -26 -25 -25 -26 -26 -27 -29 -32 -35 -37 -40 -42 -43 -45 -47 -47 -47 -48 -48 -47 -46 -45 -45 -46 -48 -49 -49 -48 -48 -47 -46 -46 -44 -42 -39 -34 -28 -25 -24 -23 -19 -19 -22 -25 -25 -25 -27 -27 -24 -19 -19 -21 -21 -17 -10 -4 -2 -2 -3 -2 -2 -1 -2 -2 -1 -1 0 1 1 1 0 1 1 1 1 1 1 1 -0 -1 -1 -2 -2 -3 -2 -2 -1 -0 -0 -2 -3 -4 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -0 0 1 2 2 2 2 2 2 2 3 3 2 2 1 1 1 2 2 2 2 1 1 1 1 0 -0 1 2 3 2 -0 -3 -4 -3 -1 2 5 4 1 -2 -4 -4 -4 -5 -6 -7 -7 -8 -8 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -6 -6 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -11 -11 -12 -12 -11 -10 -9 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -9 -9 -10 -11 -12 -13 -13 -14 -14 -14 -14 -14 -13 -13 -12 -12 -12 -11 -10 -9 -8 -7 -6 -5 -5 -5 -5 -5 -5 -3 -2 -1 -1 0 1 2 3 4 5 6 7 8 9 10 10 11 11 11 11 12 12 13 13 14 14 14 15 15 16 16 17 17 18 18 19 19 19 19 19 20 20 20 21 21 21 21 21 21 21 21 22 23 23 23 24 24 23 23 23 23 23 22 22 22 22 23 25 26 27 28 28 -16 -15 -14 -13 -12 -12 -13 -13 -14 -15 -17 -18 -19 -20 -21 -22 -22 -23 -24 -25 -27 -29 -30 -29 -26 -22 -18 -17 -16 -16 -16 -17 -17 -18 -18 -17 -17 -17 -17 -18 -19 -19 -19 -20 -19 -20 -21 -22 -23 -24 -24 -22 -21 -21 -22 -23 -25 -26 -26 -26 -26 -26 -27 -27 -27 -27 -26 -26 -26 -27 -28 -30 -32 -34 -37 -40 -41 -43 -45 -47 -48 -48 -47 -47 -46 -45 -44 -45 -46 -47 -48 -48 -46 -45 -44 -44 -44 -44 -41 -38 -35 -32 -30 -28 -26 -23 -22 -23 -24 -26 -26 -27 -27 -25 -21 -17 -18 -21 -21 -19 -15 -9 -5 -2 -1 -1 -2 -2 -2 -2 -1 -0 0 1 1 1 1 1 1 2 1 1 0 -0 -1 -1 -2 -2 -2 -2 -1 0 0 -1 -2 -4 -5 -6 -5 -5 -5 -6 -6 -6 -5 -5 -4 -5 -5 -5 -5 -5 -5 -4 -4 -3 -4 -4 -3 -3 -2 -1 -0 -0 -0 -1 -1 -0 1 2 2 3 3 2 2 3 3 3 3 3 2 1 1 1 1 2 1 1 1 1 1 1 0 1 2 4 3 2 -1 -3 -3 -2 0 3 5 4 0 -3 -4 -5 -5 -6 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -6 -5 -5 -5 -6 -6 -7 -8 -8 -8 -7 -7 -7 -7 -8 -8 -7 -7 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -11 -11 -12 -12 -12 -12 -11 -10 -9 -8 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -9 -10 -10 -11 -12 -13 -14 -14 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -12 -12 -11 -10 -8 -7 -6 -6 -6 -6 -6 -5 -4 -2 -1 -0 -0 0 1 2 3 4 5 6 7 8 9 10 11 11 11 12 12 12 13 13 13 14 14 14 14 14 15 16 16 17 18 19 19 19 20 20 20 21 21 22 22 22 22 22 21 21 21 22 22 23 23 24 24 24 23 23 23 23 23 23 23 23 24 26 27 28 29 30 -16 -15 -14 -13 -13 -12 -13 -14 -15 -16 -17 -18 -19 -21 -22 -22 -22 -23 -24 -25 -26 -28 -29 -28 -27 -23 -20 -17 -16 -16 -16 -16 -17 -17 -17 -17 -17 -17 -18 -18 -19 -19 -20 -20 -20 -20 -20 -21 -22 -23 -22 -21 -20 -19 -21 -23 -25 -26 -26 -26 -26 -25 -25 -26 -26 -26 -26 -26 -26 -27 -29 -30 -32 -34 -37 -40 -42 -43 -45 -47 -48 -48 -47 -46 -45 -44 -44 -44 -44 -46 -47 -47 -47 -45 -44 -42 -41 -40 -38 -36 -35 -32 -31 -29 -28 -25 -24 -23 -24 -24 -25 -26 -26 -25 -23 -20 -17 -16 -16 -16 -17 -16 -11 -5 -1 0 -1 -1 -2 -2 -1 -1 0 0 1 1 1 1 2 2 2 1 0 -0 -1 -1 -1 -2 -1 -1 0 1 0 -1 -3 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -3 -3 -2 -1 -0 0 0 0 -0 -1 -0 0 1 2 3 3 3 3 3 3 3 3 3 2 2 1 1 1 1 1 1 0 0 1 1 1 1 2 4 4 3 1 -2 -3 -3 -1 1 4 5 3 -1 -4 -5 -5 -6 -6 -7 -8 -8 -8 -8 -7 -7 -8 -8 -7 -7 -6 -6 -6 -6 -7 -7 -7 -6 -6 -5 -6 -6 -7 -8 -9 -9 -9 -8 -8 -8 -9 -9 -9 -8 -8 -7 -8 -9 -10 -11 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -11 -9 -8 -7 -6 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -11 -12 -12 -13 -14 -15 -15 -16 -16 -16 -16 -16 -16 -16 -15 -15 -14 -14 -13 -12 -10 -9 -8 -7 -6 -6 -6 -5 -4 -2 -1 -0 0 0 1 1 2 3 4 5 6 7 8 9 10 11 11 12 12 12 13 13 13 14 14 14 14 14 14 14 15 16 17 18 18 19 19 20 20 21 22 22 23 23 23 23 22 22 22 22 22 23 24 24 24 24 23 23 23 24 24 24 24 24 25 26 27 29 30 31 -17 -16 -15 -14 -14 -13 -13 -15 -15 -16 -17 -18 -19 -21 -22 -23 -23 -23 -25 -26 -27 -27 -27 -27 -25 -22 -20 -17 -16 -16 -15 -16 -16 -16 -16 -16 -16 -17 -18 -19 -20 -20 -20 -20 -20 -20 -20 -21 -21 -22 -21 -19 -18 -18 -19 -21 -23 -25 -26 -27 -26 -25 -24 -24 -24 -24 -24 -24 -24 -26 -28 -30 -32 -34 -37 -39 -41 -44 -46 -47 -47 -47 -46 -45 -44 -44 -43 -43 -43 -44 -45 -46 -47 -47 -45 -42 -39 -37 -35 -34 -33 -32 -31 -30 -29 -27 -25 -24 -24 -24 -25 -25 -24 -23 -23 -24 -20 -16 -13 -12 -13 -14 -14 -11 -6 -2 -0 -0 -1 -1 -1 -1 -0 0 1 1 1 2 2 2 2 1 0 -0 -0 -0 -1 -1 -0 0 1 1 -0 -2 -3 -4 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -5 -6 -6 -5 -5 -4 -3 -3 -3 -3 -3 -2 -1 -0 1 1 0 -0 -0 -0 -0 1 2 3 3 3 3 3 3 3 3 2 2 2 2 2 2 1 1 0 -0 -0 -0 0 0 1 2 4 5 5 3 0 -2 -2 -1 -0 2 5 4 1 -2 -5 -6 -6 -6 -7 -8 -9 -9 -9 -8 -8 -8 -8 -8 -7 -6 -6 -5 -6 -6 -6 -7 -7 -6 -6 -6 -6 -6 -8 -9 -9 -9 -9 -8 -8 -9 -9 -9 -9 -8 -8 -8 -9 -10 -11 -12 -11 -11 -10 -10 -11 -11 -11 -11 -11 -11 -11 -10 -9 -8 -7 -6 -5 -5 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -13 -14 -15 -15 -16 -16 -17 -17 -17 -17 -17 -17 -17 -17 -16 -16 -15 -14 -13 -11 -10 -8 -7 -7 -6 -5 -4 -2 -1 -0 0 1 1 1 2 2 3 4 5 6 7 8 9 10 11 11 11 12 12 13 13 14 14 14 14 14 14 14 14 14 15 16 17 18 18 19 19 20 21 22 23 24 24 24 23 23 23 23 23 24 24 25 25 24 24 24 23 24 24 25 25 25 25 26 28 29 30 31 -18 -17 -16 -16 -15 -14 -14 -15 -16 -16 -17 -17 -18 -20 -21 -22 -23 -24 -26 -27 -27 -27 -27 -26 -23 -20 -18 -16 -15 -15 -15 -15 -15 -15 -15 -15 -15 -17 -18 -20 -20 -20 -20 -20 -20 -20 -20 -20 -20 -20 -19 -18 -16 -16 -17 -18 -21 -23 -25 -27 -26 -25 -24 -23 -22 -22 -21 -21 -23 -24 -27 -29 -31 -34 -36 -37 -39 -43 -45 -46 -47 -47 -46 -45 -44 -43 -43 -42 -42 -42 -43 -45 -46 -47 -47 -44 -40 -36 -33 -32 -31 -31 -30 -30 -29 -28 -26 -25 -24 -25 -25 -24 -21 -20 -22 -24 -23 -17 -12 -9 -8 -9 -11 -12 -11 -9 -5 -2 -1 -0 -0 -0 -0 0 1 1 2 2 2 2 2 1 1 0 0 0 0 0 1 1 1 1 -0 -2 -3 -3 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -2 -2 -3 -2 -1 0 1 1 0 0 -0 -0 -0 1 2 3 3 4 3 3 3 3 3 2 2 1 1 2 2 2 1 -0 -1 -1 -1 -0 -0 1 2 4 6 6 4 2 -0 -1 -1 -0 1 3 5 3 -0 -4 -6 -7 -7 -7 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -7 -6 -5 -5 -5 -6 -6 -7 -7 -7 -6 -6 -6 -7 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -12 -11 -11 -11 -11 -11 -11 -10 -10 -10 -9 -9 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -9 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -13 -13 -14 -14 -15 -16 -16 -17 -17 -17 -18 -18 -18 -18 -18 -18 -18 -17 -17 -16 -14 -13 -11 -10 -8 -7 -6 -6 -4 -3 -1 0 1 1 1 1 2 2 3 4 4 5 6 7 8 9 9 10 10 10 11 12 12 13 14 14 14 14 14 14 13 13 14 14 15 16 17 17 17 18 20 22 23 24 25 25 24 24 24 24 24 25 25 26 26 26 25 25 24 24 24 25 25 25 25 26 27 29 31 32 -18 -18 -18 -17 -16 -16 -15 -16 -16 -17 -17 -17 -18 -19 -20 -21 -23 -24 -25 -26 -27 -27 -27 -25 -22 -19 -17 -15 -15 -15 -15 -15 -15 -14 -14 -14 -15 -17 -19 -20 -20 -20 -20 -20 -20 -21 -21 -20 -19 -18 -18 -16 -16 -15 -16 -17 -19 -21 -24 -26 -27 -26 -25 -24 -23 -22 -21 -21 -21 -22 -24 -27 -30 -32 -34 -35 -37 -41 -43 -45 -46 -46 -46 -45 -43 -42 -42 -41 -42 -43 -43 -44 -45 -47 -47 -45 -42 -38 -34 -31 -30 -29 -29 -29 -29 -28 -26 -25 -24 -23 -24 -22 -20 -20 -21 -23 -22 -16 -10 -6 -5 -5 -6 -8 -10 -12 -10 -7 -4 -2 -0 0 1 1 2 2 2 3 3 3 2 2 1 1 1 1 1 1 1 1 1 0 -1 -2 -2 -3 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -1 -0 1 1 0 0 -0 -0 -0 0 1 2 3 3 3 3 3 3 2 2 2 1 1 1 2 1 0 -1 -2 -2 -1 -1 -0 1 2 3 6 7 6 4 2 0 0 0 0 1 3 4 2 -1 -5 -6 -7 -7 -8 -8 -9 -10 -9 -9 -9 -8 -8 -8 -8 -7 -6 -6 -5 -5 -6 -6 -6 -7 -7 -6 -6 -6 -7 -8 -8 -9 -9 -8 -8 -8 -7 -7 -7 -7 -8 -9 -10 -11 -12 -12 -11 -11 -10 -10 -11 -10 -9 -9 -8 -8 -7 -6 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -7 -8 -9 -9 -10 -11 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -14 -14 -15 -15 -16 -16 -17 -17 -17 -17 -17 -17 -18 -18 -18 -18 -18 -17 -16 -15 -13 -12 -10 -9 -8 -7 -6 -4 -3 -1 0 1 1 1 1 2 2 3 3 4 5 6 6 7 7 8 8 9 9 9 10 11 12 13 14 14 14 14 14 13 13 13 13 14 14 15 15 15 17 18 20 22 23 24 24 25 25 25 25 25 26 26 26 27 27 27 26 25 25 25 25 25 25 25 25 27 28 30 32 -18 -18 -18 -18 -18 -17 -17 -17 -17 -17 -17 -17 -17 -18 -19 -20 -21 -23 -24 -25 -26 -27 -26 -24 -20 -18 -16 -15 -15 -14 -14 -14 -14 -13 -13 -14 -15 -17 -19 -20 -20 -20 -20 -19 -20 -20 -20 -20 -19 -18 -17 -16 -16 -16 -16 -17 -18 -20 -22 -24 -26 -26 -26 -25 -24 -22 -21 -20 -20 -21 -23 -27 -29 -31 -32 -33 -35 -38 -40 -42 -44 -44 -45 -44 -42 -41 -41 -41 -43 -44 -44 -44 -44 -44 -45 -44 -42 -40 -37 -33 -29 -27 -25 -24 -25 -26 -26 -24 -21 -20 -21 -21 -21 -20 -21 -23 -21 -15 -8 -3 -2 -2 -3 -5 -6 -7 -8 -9 -9 -7 -4 -2 1 3 3 3 4 4 4 4 3 3 2 2 2 2 2 2 2 1 1 -0 -1 -1 -2 -2 -3 -3 -4 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -1 -0 0 0 0 -0 -0 -0 -0 0 1 1 2 3 3 3 3 2 2 2 1 1 1 1 1 0 -0 -1 -2 -2 -1 -0 0 1 2 3 5 7 6 5 3 2 1 1 0 0 1 3 3 0 -3 -5 -7 -7 -7 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -6 -6 -6 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -9 -10 -11 -12 -12 -11 -10 -9 -9 -9 -9 -8 -8 -7 -7 -6 -5 -5 -4 -5 -5 -6 -6 -6 -5 -5 -5 -6 -7 -8 -9 -10 -10 -11 -12 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -17 -17 -17 -17 -17 -16 -14 -13 -11 -10 -8 -8 -7 -6 -4 -3 -1 0 1 1 1 1 1 2 2 3 4 5 6 6 7 7 7 7 7 8 8 9 10 11 12 12 13 14 14 13 13 12 12 12 12 13 13 13 14 15 17 18 19 20 22 23 24 25 26 26 26 26 26 27 28 28 28 28 27 26 25 25 25 25 25 25 26 28 30 32 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -17 -18 -19 -20 -22 -23 -24 -25 -25 -24 -22 -19 -17 -16 -15 -14 -14 -14 -14 -13 -13 -13 -14 -15 -17 -19 -19 -20 -20 -19 -19 -19 -19 -19 -18 -18 -18 -18 -17 -17 -17 -17 -17 -18 -19 -21 -23 -24 -25 -25 -25 -24 -23 -21 -21 -21 -22 -23 -26 -27 -29 -31 -32 -33 -34 -37 -40 -42 -43 -43 -42 -41 -40 -41 -42 -43 -44 -45 -45 -44 -43 -42 -41 -41 -40 -39 -35 -32 -28 -24 -20 -17 -17 -18 -20 -20 -18 -18 -18 -18 -18 -19 -21 -20 -15 -10 -5 -3 -3 -4 -5 -6 -6 -5 -4 -5 -7 -9 -7 -1 3 5 5 5 5 5 5 5 4 3 3 2 2 2 2 2 1 0 -0 -1 -2 -2 -2 -3 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -2 -2 -2 -1 -1 -0 -0 -0 -1 -1 -1 -0 -0 0 1 1 2 3 3 3 2 2 1 1 1 1 1 0 -1 -1 -2 -2 -2 -1 0 1 2 3 4 5 6 6 5 4 3 2 2 1 0 0 1 2 1 -1 -4 -6 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -12 -12 -12 -10 -9 -8 -8 -8 -8 -8 -7 -6 -6 -6 -5 -5 -5 -5 -6 -7 -7 -7 -6 -6 -6 -7 -7 -8 -9 -10 -11 -12 -13 -14 -14 -15 -15 -15 -15 -15 -14 -14 -14 -14 -15 -15 -16 -16 -16 -16 -16 -16 -16 -15 -15 -15 -14 -14 -15 -15 -15 -16 -16 -15 -14 -13 -12 -10 -9 -8 -7 -7 -6 -4 -3 -1 0 1 1 1 1 1 1 2 3 4 5 5 6 6 7 7 7 7 7 7 8 9 10 10 11 12 13 13 13 12 12 12 11 12 12 12 13 14 15 16 16 17 18 19 21 22 24 25 25 26 26 26 27 28 28 29 29 28 27 26 25 25 25 25 25 26 27 29 31 -17 -18 -18 -18 -18 -18 -18 -18 -18 -19 -19 -19 -18 -18 -18 -19 -21 -22 -23 -23 -23 -23 -22 -20 -18 -17 -15 -14 -14 -14 -14 -14 -13 -13 -13 -14 -16 -17 -19 -19 -20 -20 -19 -19 -18 -18 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -18 -19 -21 -22 -23 -23 -24 -24 -24 -23 -21 -21 -21 -21 -23 -25 -26 -27 -28 -29 -30 -32 -35 -38 -41 -42 -42 -42 -41 -41 -41 -41 -42 -43 -44 -44 -43 -42 -40 -38 -36 -36 -36 -35 -32 -29 -26 -23 -20 -16 -15 -15 -16 -16 -16 -17 -17 -17 -16 -17 -16 -13 -11 -11 -11 -12 -10 -9 -8 -7 -7 -5 -3 -2 -2 -4 -3 2 6 7 7 7 7 6 6 5 5 4 3 3 2 2 2 1 0 -1 -2 -2 -2 -2 -3 -3 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 1 1 2 2 2 2 2 1 1 1 1 1 -0 -1 -2 -2 -2 -1 0 1 2 3 3 4 5 6 6 4 3 3 3 3 2 1 0 1 1 1 -1 -3 -5 -6 -7 -7 -7 -8 -8 -8 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -10 -11 -12 -13 -13 -11 -9 -7 -6 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -8 -8 -8 -7 -8 -8 -9 -10 -10 -11 -12 -13 -14 -14 -15 -16 -16 -16 -16 -16 -15 -15 -15 -15 -15 -16 -16 -16 -17 -17 -16 -16 -16 -15 -15 -14 -13 -13 -13 -13 -14 -14 -15 -14 -14 -13 -12 -11 -10 -9 -8 -8 -7 -6 -4 -3 -1 -0 0 1 1 1 1 1 2 2 3 4 5 6 7 7 7 7 7 7 7 8 8 9 10 11 11 12 12 12 12 11 11 11 11 11 12 12 13 14 15 15 15 15 17 18 20 21 23 24 24 25 26 26 27 28 29 29 29 28 27 26 25 25 25 25 26 27 28 30 -17 -18 -18 -18 -17 -17 -17 -18 -18 -19 -19 -20 -20 -20 -20 -20 -22 -23 -23 -22 -21 -20 -19 -18 -17 -16 -15 -14 -14 -14 -14 -13 -13 -13 -14 -15 -16 -17 -18 -19 -20 -20 -20 -20 -19 -18 -17 -17 -17 -17 -17 -17 -17 -17 -17 -18 -18 -19 -20 -21 -22 -23 -24 -23 -23 -21 -20 -19 -20 -22 -24 -26 -27 -27 -27 -27 -28 -30 -34 -37 -39 -41 -41 -42 -42 -41 -40 -40 -39 -39 -40 -41 -41 -40 -38 -36 -33 -32 -31 -30 -28 -26 -25 -24 -22 -18 -15 -14 -14 -14 -15 -16 -16 -16 -16 -14 -10 -8 -7 -8 -10 -12 -12 -11 -11 -12 -11 -8 -6 -4 -4 -6 -6 -0 5 8 9 8 8 7 7 6 6 5 4 4 3 2 1 1 -0 -1 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -0 0 0 1 2 2 2 2 1 1 1 1 1 -1 -2 -3 -3 -2 -0 1 3 3 3 3 4 4 5 4 3 2 2 2 3 3 1 0 0 0 0 -0 -3 -5 -6 -7 -7 -8 -8 -8 -8 -8 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -6 -6 -7 -7 -8 -8 -8 -9 -9 -9 -9 -10 -10 -11 -12 -13 -13 -12 -10 -7 -6 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -8 -9 -9 -9 -9 -9 -9 -10 -11 -12 -12 -13 -14 -14 -15 -16 -16 -17 -17 -17 -16 -16 -16 -16 -15 -16 -16 -16 -17 -17 -18 -17 -17 -16 -16 -15 -14 -13 -13 -12 -12 -13 -13 -14 -14 -14 -13 -12 -11 -10 -9 -9 -8 -8 -7 -6 -5 -3 -2 -0 0 1 1 1 1 1 1 2 3 4 5 6 7 7 7 8 8 8 8 8 9 9 10 10 11 11 12 12 12 11 11 10 10 11 11 12 13 13 14 14 13 14 14 16 17 19 20 21 23 24 25 25 26 27 28 29 29 29 28 26 25 25 25 25 26 27 28 29 -18 -18 -17 -17 -16 -17 -17 -17 -18 -19 -20 -20 -21 -21 -22 -22 -23 -24 -24 -22 -20 -19 -18 -18 -17 -16 -15 -14 -14 -14 -13 -13 -13 -13 -14 -14 -15 -16 -18 -19 -20 -21 -21 -21 -20 -19 -18 -17 -17 -17 -17 -17 -17 -17 -17 -18 -19 -19 -20 -20 -20 -21 -21 -21 -21 -19 -19 -19 -21 -23 -25 -27 -28 -28 -28 -27 -27 -29 -32 -35 -38 -39 -41 -42 -43 -42 -40 -39 -37 -37 -37 -38 -39 -39 -37 -35 -32 -30 -27 -26 -24 -23 -22 -22 -21 -18 -16 -15 -14 -13 -13 -14 -15 -16 -14 -10 -7 -6 -7 -9 -11 -12 -13 -12 -12 -13 -12 -11 -9 -7 -6 -9 -12 -9 -2 5 9 9 9 8 7 7 6 6 5 4 3 3 2 1 -0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -2 -2 -1 -1 -0 -0 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 0 1 1 2 2 1 1 1 1 0 -1 -2 -3 -3 -2 0 2 4 4 4 3 3 3 3 3 2 1 1 1 2 2 1 0 -0 -0 -0 -1 -2 -4 -6 -6 -7 -8 -8 -8 -8 -8 -9 -9 -9 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -6 -7 -8 -8 -8 -8 -9 -9 -9 -10 -10 -10 -11 -13 -14 -13 -11 -8 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -9 -10 -10 -11 -12 -13 -13 -14 -14 -14 -15 -16 -16 -16 -16 -16 -16 -16 -16 -15 -16 -16 -16 -17 -17 -18 -18 -18 -18 -18 -17 -16 -15 -14 -13 -12 -12 -12 -13 -13 -14 -14 -14 -13 -12 -11 -10 -10 -9 -9 -8 -7 -7 -6 -4 -3 -1 -0 1 1 1 1 1 1 2 2 3 4 6 7 7 8 8 8 9 9 9 9 10 10 11 11 11 12 12 12 11 10 10 10 10 10 11 11 12 13 13 12 12 13 14 15 17 18 20 21 22 23 24 25 26 27 28 29 29 28 27 26 25 24 25 25 26 27 28 -18 -18 -17 -16 -16 -16 -17 -17 -18 -19 -20 -21 -22 -23 -24 -24 -24 -24 -24 -23 -21 -19 -18 -18 -17 -16 -16 -15 -15 -15 -14 -14 -13 -13 -14 -14 -15 -16 -17 -18 -19 -20 -20 -20 -20 -20 -19 -18 -18 -18 -18 -17 -17 -17 -17 -18 -19 -21 -21 -21 -20 -20 -20 -20 -20 -19 -18 -20 -22 -24 -26 -29 -31 -31 -30 -28 -27 -28 -30 -33 -35 -38 -40 -42 -42 -41 -40 -38 -37 -36 -36 -37 -38 -37 -36 -34 -32 -29 -25 -23 -22 -20 -19 -19 -19 -18 -17 -17 -16 -15 -13 -13 -14 -15 -14 -12 -10 -10 -11 -12 -13 -14 -14 -13 -13 -13 -13 -12 -11 -10 -10 -12 -16 -17 -13 -6 3 6 8 8 8 7 7 6 6 5 4 3 2 1 0 -0 -1 -2 -4 -4 -5 -5 -4 -4 -4 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -0 0 -0 -1 -2 -3 -3 -3 -2 -2 -2 -1 -1 -1 0 0 1 1 1 1 1 1 -0 -1 -3 -3 -3 -1 1 3 4 4 3 2 2 2 2 2 1 0 -0 0 1 1 1 0 -1 -1 -1 -2 -3 -4 -5 -6 -7 -8 -9 -9 -9 -9 -9 -10 -9 -9 -8 -8 -7 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -5 -5 -5 -6 -7 -8 -8 -8 -8 -9 -9 -9 -9 -9 -10 -11 -13 -13 -12 -9 -6 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -9 -9 -10 -10 -11 -11 -12 -13 -13 -14 -14 -14 -14 -15 -15 -15 -15 -15 -15 -14 -14 -14 -14 -15 -15 -16 -17 -17 -18 -18 -18 -18 -18 -17 -16 -15 -14 -13 -13 -12 -12 -13 -14 -14 -14 -14 -13 -12 -11 -11 -10 -9 -9 -8 -8 -7 -6 -5 -4 -2 -1 0 1 1 1 1 1 2 2 3 4 5 6 7 8 9 9 9 9 10 10 10 10 11 11 12 12 12 12 11 11 10 9 9 9 9 10 11 12 12 12 12 12 12 14 15 17 18 19 20 21 22 23 24 25 27 28 29 29 28 26 25 24 24 24 25 26 27 -18 -18 -17 -16 -16 -17 -17 -17 -18 -19 -20 -21 -23 -24 -24 -24 -25 -25 -25 -23 -21 -19 -18 -18 -18 -17 -16 -16 -16 -17 -16 -15 -15 -15 -15 -16 -16 -17 -18 -19 -19 -18 -19 -19 -20 -20 -19 -19 -19 -18 -18 -18 -18 -17 -17 -18 -20 -21 -21 -22 -22 -22 -21 -21 -20 -19 -19 -20 -23 -25 -28 -30 -32 -33 -32 -30 -29 -28 -29 -31 -34 -37 -39 -39 -40 -40 -39 -38 -36 -35 -36 -36 -37 -36 -34 -33 -30 -28 -25 -23 -21 -19 -18 -18 -18 -18 -18 -19 -20 -18 -14 -13 -13 -13 -14 -14 -14 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -13 -15 -19 -21 -20 -16 -10 -3 3 6 8 7 7 6 5 5 4 4 3 2 1 -0 -1 -2 -3 -4 -5 -5 -5 -4 -4 -3 -3 -3 -2 -2 -3 -3 -2 -1 -0 0 -0 -1 -2 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -0 -0 0 0 0 1 0 -1 -2 -3 -4 -3 -1 1 3 4 3 2 1 1 1 2 2 1 0 -1 -1 0 1 1 -0 -1 -2 -2 -2 -3 -4 -5 -6 -7 -8 -9 -9 -9 -10 -10 -10 -10 -10 -9 -9 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -6 -5 -5 -5 -6 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -10 -11 -13 -12 -10 -8 -5 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -9 -9 -9 -10 -10 -11 -12 -12 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -13 -13 -12 -12 -12 -13 -14 -15 -16 -16 -17 -17 -18 -18 -18 -18 -17 -17 -16 -14 -14 -13 -13 -13 -13 -14 -14 -14 -14 -13 -13 -12 -11 -10 -9 -9 -8 -8 -8 -7 -6 -5 -3 -2 -0 0 1 1 1 2 2 2 3 4 5 6 7 8 9 9 10 10 10 10 10 11 11 11 12 12 12 12 12 11 10 9 9 8 8 9 10 11 11 11 11 11 12 13 14 15 16 17 19 20 21 22 23 24 25 27 28 29 29 28 26 24 23 23 24 25 27 -18 -17 -17 -17 -17 -17 -17 -17 -17 -17 -19 -21 -23 -23 -24 -23 -24 -24 -25 -23 -21 -19 -18 -17 -17 -16 -16 -17 -18 -20 -19 -18 -16 -17 -18 -19 -19 -19 -19 -19 -18 -17 -18 -19 -20 -19 -19 -19 -19 -19 -19 -20 -20 -19 -18 -18 -19 -20 -21 -22 -23 -23 -22 -22 -21 -20 -19 -20 -22 -25 -29 -31 -32 -33 -33 -33 -32 -31 -31 -32 -34 -36 -37 -37 -37 -37 -37 -36 -36 -35 -36 -36 -36 -34 -32 -30 -28 -27 -25 -23 -21 -20 -19 -19 -19 -18 -18 -20 -22 -21 -18 -15 -14 -13 -13 -14 -14 -13 -12 -12 -13 -13 -13 -13 -14 -14 -15 -15 -15 -16 -16 -18 -21 -23 -23 -22 -19 -13 -5 1 5 6 6 6 5 5 4 4 3 2 1 -0 -1 -2 -2 -3 -4 -4 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -1 -0 -0 -1 -2 -2 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -0 -0 -0 -0 -1 -3 -4 -4 -3 -1 1 3 3 3 1 0 0 1 2 2 1 -0 -1 -1 -1 0 0 -0 -1 -2 -2 -3 -3 -4 -4 -5 -6 -8 -9 -9 -10 -10 -10 -11 -11 -11 -11 -10 -10 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -7 -6 -6 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -11 -9 -6 -4 -4 -5 -6 -6 -5 -5 -5 -5 -6 -6 -7 -8 -9 -9 -9 -9 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -12 -13 -14 -15 -15 -16 -16 -16 -16 -17 -17 -17 -16 -15 -15 -14 -13 -13 -13 -13 -14 -14 -14 -14 -14 -13 -12 -11 -10 -9 -9 -8 -8 -8 -7 -7 -6 -5 -3 -2 -0 0 1 1 2 2 2 3 3 4 5 6 7 8 9 10 10 10 11 11 11 11 11 11 12 12 13 12 12 11 10 9 8 8 9 9 10 10 10 10 10 11 11 12 13 14 16 17 18 19 20 22 23 24 26 27 29 30 29 27 25 24 23 24 25 26 -19 -18 -18 -17 -17 -17 -17 -16 -16 -17 -18 -20 -21 -22 -23 -22 -22 -23 -24 -23 -22 -19 -18 -17 -16 -16 -16 -17 -18 -21 -22 -20 -17 -16 -18 -19 -19 -20 -19 -18 -17 -18 -18 -18 -18 -17 -17 -17 -18 -19 -20 -22 -22 -20 -18 -16 -17 -18 -20 -22 -23 -23 -23 -23 -22 -20 -19 -20 -22 -26 -29 -32 -33 -33 -34 -34 -34 -34 -34 -35 -36 -37 -37 -35 -34 -34 -35 -35 -35 -35 -35 -35 -35 -33 -29 -27 -26 -25 -24 -23 -21 -20 -20 -21 -22 -20 -19 -18 -20 -21 -21 -19 -16 -14 -14 -14 -14 -13 -13 -12 -13 -13 -13 -12 -13 -13 -15 -17 -18 -18 -19 -21 -24 -25 -25 -23 -20 -17 -13 -8 -3 1 4 5 5 4 4 4 3 2 1 -1 -2 -2 -2 -2 -3 -4 -4 -5 -5 -4 -4 -3 -3 -3 -3 -3 -2 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -4 -1 1 3 3 2 1 -0 -0 1 2 2 1 -0 -1 -2 -1 -0 0 -0 -1 -1 -2 -3 -4 -4 -4 -5 -5 -7 -8 -9 -10 -11 -11 -11 -11 -11 -11 -11 -11 -10 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -9 -9 -8 -8 -7 -7 -8 -8 -8 -8 -9 -8 -8 -8 -8 -8 -9 -10 -11 -11 -9 -7 -5 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -8 -8 -9 -9 -10 -10 -11 -11 -11 -12 -12 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -11 -11 -12 -13 -14 -14 -14 -15 -15 -15 -16 -16 -16 -16 -15 -15 -14 -13 -13 -13 -13 -14 -14 -14 -14 -14 -13 -12 -11 -10 -9 -8 -8 -8 -8 -8 -7 -7 -6 -4 -3 -2 -1 0 1 2 2 2 3 3 3 4 5 7 8 9 9 10 10 11 11 11 11 11 11 11 12 12 12 12 11 10 9 8 8 8 9 9 9 9 9 10 10 10 10 11 12 14 15 17 18 19 21 22 23 25 26 28 29 30 29 27 25 24 23 24 25 -19 -19 -18 -17 -17 -17 -16 -16 -16 -17 -18 -18 -19 -20 -21 -21 -21 -21 -22 -23 -22 -21 -19 -17 -17 -17 -17 -18 -18 -20 -22 -20 -17 -14 -14 -15 -16 -17 -17 -18 -18 -17 -17 -17 -16 -16 -15 -16 -17 -18 -21 -22 -21 -18 -17 -18 -21 -21 -22 -23 -24 -24 -25 -25 -23 -21 -20 -21 -23 -27 -31 -32 -33 -34 -35 -35 -35 -35 -36 -37 -37 -36 -35 -33 -32 -32 -33 -33 -34 -35 -35 -34 -32 -29 -26 -24 -23 -23 -22 -20 -20 -20 -20 -22 -24 -23 -21 -19 -17 -16 -17 -17 -16 -15 -14 -14 -13 -13 -13 -12 -13 -13 -12 -11 -11 -12 -14 -16 -16 -17 -18 -21 -24 -26 -26 -24 -20 -18 -17 -15 -12 -7 -3 -0 2 4 4 3 3 2 1 -1 -2 -2 -2 -2 -2 -2 -4 -5 -5 -5 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -3 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -3 -5 -5 -4 -2 1 2 3 2 0 -1 -1 0 2 2 1 -0 -2 -2 -2 -1 -0 -0 -1 -1 -2 -3 -4 -4 -5 -5 -5 -6 -7 -8 -10 -11 -11 -12 -12 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -10 -11 -10 -8 -6 -5 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -8 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -11 -12 -12 -13 -13 -13 -13 -14 -14 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -13 -14 -14 -15 -15 -15 -14 -13 -12 -11 -10 -9 -8 -8 -8 -8 -8 -7 -7 -6 -5 -4 -3 -2 -1 0 1 2 2 2 2 3 4 4 6 7 8 9 9 10 10 10 11 11 11 11 11 12 12 12 12 12 11 10 9 9 9 9 9 9 9 9 9 9 9 9 10 11 12 13 15 17 18 20 21 23 24 25 27 28 29 30 29 27 25 24 24 25 -19 -19 -18 -17 -17 -16 -16 -16 -17 -17 -17 -17 -17 -18 -19 -19 -18 -19 -20 -22 -23 -22 -21 -20 -19 -20 -20 -20 -21 -22 -21 -19 -16 -13 -14 -15 -16 -17 -17 -18 -17 -17 -16 -16 -15 -15 -15 -15 -15 -16 -17 -18 -19 -20 -20 -21 -21 -21 -21 -23 -25 -26 -26 -24 -22 -19 -19 -21 -24 -28 -31 -33 -34 -35 -35 -34 -33 -32 -32 -33 -34 -33 -32 -31 -30 -30 -30 -31 -33 -33 -33 -31 -29 -26 -25 -23 -22 -21 -19 -17 -17 -17 -19 -20 -22 -22 -21 -20 -19 -18 -18 -18 -16 -14 -12 -10 -10 -11 -11 -12 -12 -13 -12 -11 -10 -10 -12 -11 -10 -10 -12 -17 -21 -24 -25 -24 -21 -18 -14 -12 -9 -9 -11 -9 -5 0 3 3 2 1 0 -1 -2 -3 -3 -2 -1 -1 -3 -4 -5 -5 -5 -4 -4 -4 -4 -3 -2 -2 -2 -3 -3 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -2 -3 -4 -5 -4 -2 -0 1 2 1 -0 -1 -1 0 2 2 1 -0 -2 -3 -3 -2 -1 -1 -1 -1 -2 -3 -4 -4 -5 -5 -5 -5 -6 -7 -8 -10 -11 -12 -12 -11 -11 -11 -11 -11 -11 -12 -12 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -11 -11 -10 -10 -10 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -10 -10 -9 -7 -6 -5 -4 -5 -5 -5 -6 -5 -5 -6 -6 -7 -7 -8 -7 -7 -7 -8 -8 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -13 -13 -13 -13 -13 -14 -14 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -13 -14 -15 -15 -15 -14 -14 -13 -12 -11 -10 -9 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -4 -3 -2 -1 0 1 1 2 2 2 3 4 5 6 7 8 9 9 10 10 10 10 10 11 11 11 12 12 12 13 12 11 11 10 10 9 9 9 9 9 9 9 9 9 9 10 11 12 13 15 17 19 20 22 23 25 26 28 29 30 30 28 26 24 23 24 -19 -19 -18 -17 -16 -16 -16 -16 -17 -17 -16 -15 -15 -16 -16 -16 -17 -17 -19 -21 -23 -23 -23 -22 -22 -23 -24 -24 -24 -23 -20 -16 -14 -14 -16 -16 -17 -17 -18 -18 -17 -17 -16 -15 -15 -14 -14 -13 -13 -13 -13 -14 -16 -18 -20 -21 -22 -23 -24 -25 -25 -25 -25 -23 -21 -19 -18 -20 -23 -26 -30 -33 -34 -35 -34 -33 -31 -30 -29 -30 -30 -29 -28 -28 -27 -27 -28 -28 -29 -30 -29 -28 -25 -24 -23 -23 -22 -21 -19 -16 -15 -15 -17 -19 -20 -22 -23 -23 -23 -22 -20 -18 -16 -15 -12 -11 -10 -10 -11 -11 -11 -12 -11 -11 -10 -9 -7 -3 -1 -2 -5 -10 -14 -18 -21 -22 -22 -19 -15 -12 -9 -8 -9 -10 -10 -7 -2 1 2 1 -0 -2 -3 -3 -3 -3 -2 -1 -2 -3 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -2 -2 -4 -4 -4 -3 -1 1 1 -0 -1 -2 -1 0 2 2 1 -0 -2 -3 -3 -3 -2 -1 -1 -2 -2 -3 -4 -5 -5 -5 -6 -6 -6 -7 -8 -9 -10 -11 -11 -11 -11 -11 -10 -10 -10 -11 -12 -13 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -12 -11 -11 -10 -10 -10 -9 -9 -9 -8 -8 -8 -8 -9 -9 -10 -9 -8 -7 -5 -4 -4 -5 -6 -6 -6 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -13 -13 -13 -13 -12 -12 -12 -12 -13 -13 -13 -13 -13 -14 -14 -14 -15 -15 -16 -16 -15 -15 -15 -14 -14 -13 -13 -14 -14 -15 -15 -14 -14 -13 -13 -12 -11 -10 -9 -9 -8 -8 -7 -7 -7 -7 -6 -6 -5 -5 -4 -3 -2 -1 -1 0 1 1 2 2 3 4 5 6 7 8 8 9 9 10 10 10 10 10 11 11 12 12 13 13 12 12 11 11 10 10 10 10 10 9 9 9 9 10 10 10 10 11 13 15 17 19 21 23 24 26 27 28 29 30 29 27 25 23 23 -18 -18 -18 -17 -16 -15 -15 -16 -16 -16 -15 -14 -14 -14 -15 -15 -15 -17 -19 -21 -22 -24 -24 -24 -25 -26 -27 -27 -27 -26 -22 -17 -15 -15 -16 -17 -17 -18 -18 -18 -17 -17 -16 -15 -15 -14 -14 -13 -12 -12 -12 -13 -15 -17 -20 -22 -24 -26 -27 -27 -27 -26 -26 -24 -22 -19 -18 -18 -20 -23 -26 -30 -32 -33 -33 -32 -30 -29 -27 -27 -26 -25 -25 -25 -26 -26 -27 -27 -26 -26 -26 -24 -23 -22 -22 -23 -23 -22 -20 -18 -17 -16 -16 -16 -18 -20 -22 -23 -24 -23 -20 -18 -16 -15 -14 -11 -10 -10 -10 -11 -11 -11 -11 -10 -9 -6 -3 1 3 3 1 -2 -6 -9 -11 -14 -16 -17 -15 -13 -11 -11 -11 -11 -11 -10 -9 -6 -2 -1 -3 -4 -4 -4 -3 -3 -2 -1 -1 -2 -3 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -2 -2 -3 -3 -3 -3 -1 -0 0 -1 -1 -2 -1 0 2 2 1 -0 -2 -4 -4 -4 -3 -2 -2 -2 -3 -3 -4 -5 -5 -6 -6 -6 -6 -7 -7 -8 -9 -10 -11 -11 -11 -11 -10 -10 -10 -10 -11 -12 -13 -14 -14 -14 -14 -13 -13 -13 -13 -14 -14 -14 -13 -13 -12 -11 -11 -10 -10 -9 -9 -8 -8 -8 -8 -9 -10 -10 -9 -8 -6 -5 -5 -5 -6 -6 -6 -6 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -10 -11 -11 -11 -11 -11 -11 -11 -12 -13 -14 -14 -14 -14 -13 -13 -13 -13 -14 -14 -14 -14 -14 -15 -15 -16 -16 -16 -16 -16 -16 -15 -15 -14 -14 -13 -13 -14 -14 -14 -14 -14 -13 -13 -13 -12 -11 -10 -10 -9 -8 -8 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -4 -3 -2 -1 -0 0 1 1 2 3 4 5 6 7 8 8 9 9 9 10 10 10 10 11 11 12 12 13 13 13 12 12 11 11 10 10 10 10 10 10 10 10 9 9 10 10 11 13 14 16 19 21 23 24 26 27 29 30 30 29 27 24 22 -17 -17 -17 -17 -16 -15 -15 -15 -15 -14 -13 -12 -12 -13 -13 -13 -14 -15 -17 -18 -20 -22 -23 -25 -27 -28 -29 -30 -29 -27 -22 -18 -15 -15 -17 -17 -18 -18 -18 -18 -18 -17 -16 -16 -15 -15 -14 -13 -12 -12 -12 -13 -15 -17 -20 -23 -25 -27 -29 -29 -29 -29 -28 -27 -25 -22 -19 -18 -18 -19 -21 -25 -27 -28 -28 -28 -28 -28 -26 -25 -23 -23 -22 -23 -24 -26 -27 -27 -25 -24 -23 -22 -21 -21 -22 -23 -24 -24 -23 -22 -20 -18 -17 -15 -15 -16 -18 -19 -21 -20 -18 -17 -17 -16 -15 -13 -11 -11 -11 -11 -11 -11 -12 -11 -9 -5 -3 -0 1 2 1 -1 -2 -3 -3 -5 -8 -10 -11 -12 -13 -15 -16 -16 -15 -12 -9 -5 -4 -6 -9 -9 -8 -7 -5 -3 -2 -1 -1 -1 -2 -3 -4 -4 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -2 -2 -1 -0 -0 -1 -1 -1 0 1 2 1 -0 -2 -3 -4 -4 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -6 -7 -7 -7 -8 -8 -9 -9 -10 -11 -11 -11 -10 -10 -10 -10 -11 -12 -13 -13 -14 -14 -14 -13 -13 -13 -13 -13 -14 -15 -15 -15 -14 -13 -12 -11 -10 -10 -9 -9 -8 -8 -8 -9 -9 -10 -10 -8 -7 -6 -5 -5 -6 -6 -6 -6 -5 -5 -5 -6 -6 -5 -5 -5 -5 -6 -6 -7 -8 -10 -11 -11 -12 -11 -11 -11 -11 -12 -13 -14 -15 -15 -15 -15 -15 -14 -14 -14 -14 -15 -15 -15 -15 -16 -16 -16 -17 -17 -17 -16 -16 -15 -15 -14 -13 -13 -13 -14 -14 -14 -13 -13 -13 -13 -13 -12 -11 -11 -10 -9 -9 -8 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 -1 0 1 1 2 3 4 5 6 7 8 8 9 9 9 9 10 10 10 10 11 12 13 13 13 13 13 12 11 11 11 11 11 10 10 10 9 9 9 9 9 10 11 12 13 15 18 20 23 24 26 27 29 30 30 28 25 22 -16 -15 -15 -16 -15 -14 -13 -13 -13 -12 -11 -11 -11 -11 -12 -12 -13 -13 -14 -16 -18 -20 -22 -25 -27 -28 -29 -29 -29 -27 -23 -19 -16 -16 -16 -18 -18 -18 -18 -18 -18 -17 -17 -16 -15 -15 -14 -13 -13 -13 -13 -14 -15 -17 -20 -23 -26 -28 -29 -30 -31 -30 -29 -29 -27 -25 -22 -20 -19 -18 -19 -20 -22 -21 -21 -21 -22 -24 -24 -22 -21 -20 -21 -22 -24 -26 -28 -29 -26 -24 -23 -22 -21 -21 -21 -22 -24 -25 -24 -23 -22 -21 -19 -16 -15 -14 -14 -15 -16 -16 -16 -17 -17 -17 -16 -14 -13 -11 -11 -11 -11 -11 -12 -12 -11 -7 -5 -4 -3 -2 -3 -3 -2 -1 -1 -2 -3 -5 -7 -10 -13 -16 -19 -20 -21 -19 -14 -9 -7 -8 -10 -10 -11 -11 -9 -6 -3 -2 -0 1 0 -1 -2 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -3 -2 -2 -1 -1 -0 -1 -1 -0 0 1 1 0 -1 -2 -3 -4 -4 -4 -4 -3 -3 -3 -4 -5 -5 -6 -7 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -11 -11 -11 -10 -10 -10 -10 -11 -12 -13 -13 -13 -13 -13 -13 -13 -12 -12 -13 -14 -15 -16 -15 -14 -13 -12 -11 -10 -10 -9 -9 -9 -9 -9 -9 -10 -10 -9 -8 -7 -6 -5 -6 -6 -6 -5 -5 -4 -5 -4 -4 -4 -4 -4 -4 -5 -6 -7 -8 -9 -11 -12 -12 -12 -12 -11 -11 -12 -13 -14 -15 -16 -16 -16 -16 -16 -16 -15 -15 -15 -15 -15 -16 -16 -16 -16 -17 -17 -17 -17 -16 -16 -15 -14 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -7 -7 -6 -5 -5 -5 -5 -6 -6 -5 -4 -3 -2 -2 -1 -0 0 1 1 2 3 4 5 6 7 8 9 9 9 9 9 9 9 10 10 11 12 13 13 13 13 13 12 12 11 11 10 10 10 9 9 8 8 8 9 9 10 10 11 13 15 17 19 21 23 25 27 29 30 30 27 23 -15 -14 -14 -15 -14 -13 -12 -12 -12 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -14 -17 -19 -21 -24 -25 -26 -27 -28 -28 -26 -22 -19 -17 -16 -16 -17 -18 -19 -19 -18 -18 -17 -17 -16 -15 -15 -14 -14 -14 -14 -14 -14 -15 -17 -20 -23 -27 -29 -30 -30 -30 -31 -30 -29 -28 -27 -25 -23 -21 -19 -18 -18 -18 -17 -16 -15 -16 -18 -19 -19 -18 -19 -22 -24 -25 -27 -29 -30 -28 -24 -22 -22 -22 -21 -21 -21 -22 -23 -22 -21 -21 -20 -20 -20 -19 -16 -14 -13 -13 -14 -14 -14 -15 -15 -15 -14 -13 -12 -11 -11 -10 -10 -11 -10 -9 -8 -7 -6 -6 -7 -6 -4 -2 -2 -3 -4 -4 -3 -4 -6 -10 -14 -18 -21 -25 -26 -23 -17 -14 -12 -11 -9 -8 -9 -11 -10 -8 -4 -1 1 2 2 0 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -3 -2 -2 -1 -0 -0 0 0 0 0 0 -0 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -10 -10 -11 -11 -11 -10 -10 -10 -11 -12 -13 -13 -14 -14 -13 -13 -13 -12 -12 -12 -12 -14 -15 -15 -15 -14 -13 -12 -11 -10 -10 -9 -9 -9 -9 -9 -10 -10 -9 -8 -7 -6 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -8 -9 -11 -12 -13 -13 -13 -12 -12 -12 -13 -14 -15 -16 -16 -17 -17 -17 -17 -17 -16 -16 -16 -16 -16 -16 -16 -16 -17 -17 -17 -17 -17 -16 -15 -14 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -11 -11 -10 -10 -10 -9 -9 -8 -7 -6 -6 -5 -5 -5 -6 -6 -5 -5 -4 -3 -2 -1 -1 -0 0 1 2 2 3 4 5 6 7 8 9 9 9 8 9 9 9 10 10 11 12 13 13 13 13 13 12 12 11 11 10 10 9 8 8 8 8 8 9 9 10 10 11 12 14 16 18 20 22 25 28 30 31 30 25 -14 -13 -13 -14 -13 -12 -12 -12 -12 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -14 -16 -18 -20 -22 -24 -25 -26 -26 -26 -24 -22 -19 -17 -16 -16 -16 -17 -18 -18 -18 -18 -17 -16 -16 -15 -15 -15 -15 -15 -15 -15 -16 -16 -18 -20 -23 -27 -29 -30 -30 -30 -30 -29 -28 -27 -26 -24 -23 -21 -20 -18 -16 -15 -15 -14 -14 -15 -15 -15 -16 -18 -20 -23 -26 -28 -29 -28 -28 -24 -19 -15 -14 -15 -16 -17 -18 -19 -20 -21 -23 -24 -24 -23 -23 -23 -22 -19 -16 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -11 -10 -10 -9 -7 -5 -6 -7 -7 -7 -8 -7 -6 -5 -5 -6 -8 -7 -6 -5 -5 -7 -11 -15 -19 -24 -28 -28 -24 -21 -18 -15 -10 -5 -5 -8 -11 -11 -8 -3 0 3 4 3 2 0 -1 -2 -3 -4 -4 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -3 -3 -2 -2 -1 0 1 1 1 0 -1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -10 -10 -10 -11 -12 -13 -14 -15 -14 -14 -13 -13 -12 -12 -12 -12 -13 -14 -14 -14 -13 -12 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -4 -5 -6 -8 -9 -11 -13 -14 -14 -14 -14 -13 -13 -13 -14 -15 -16 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -16 -16 -16 -17 -17 -17 -17 -16 -16 -15 -14 -13 -12 -12 -12 -13 -13 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -9 -8 -7 -6 -6 -5 -5 -6 -6 -6 -5 -4 -3 -2 -2 -1 -1 -0 1 1 2 3 4 5 6 7 8 8 9 8 8 8 8 9 9 9 10 11 12 12 13 13 13 13 12 12 11 10 10 9 8 8 8 8 8 8 9 9 10 11 12 13 14 15 17 18 21 24 28 32 32 28 -13 -13 -14 -14 -13 -12 -11 -11 -12 -11 -11 -11 -11 -11 -12 -12 -12 -12 -13 -15 -16 -18 -20 -22 -23 -23 -23 -23 -23 -23 -21 -20 -18 -16 -15 -15 -15 -16 -16 -16 -17 -16 -16 -16 -16 -16 -16 -17 -17 -17 -18 -18 -18 -19 -20 -23 -25 -27 -28 -28 -29 -30 -30 -29 -27 -26 -24 -22 -21 -19 -17 -14 -14 -14 -14 -13 -13 -14 -14 -15 -18 -21 -24 -27 -28 -27 -24 -22 -20 -16 -13 -13 -13 -14 -14 -15 -16 -17 -19 -22 -24 -26 -25 -24 -23 -23 -23 -21 -17 -14 -14 -12 -11 -10 -9 -10 -11 -11 -12 -11 -11 -10 -7 -4 -3 -4 -6 -7 -7 -7 -7 -7 -7 -7 -9 -11 -12 -12 -10 -9 -8 -9 -13 -16 -21 -25 -27 -26 -24 -21 -19 -15 -10 -7 -7 -8 -9 -9 -6 -2 1 3 5 4 3 1 -1 -2 -3 -4 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 0 1 1 1 -0 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -11 -11 -11 -10 -10 -11 -11 -12 -14 -15 -16 -16 -15 -14 -13 -12 -11 -11 -12 -12 -13 -13 -13 -12 -12 -10 -9 -9 -8 -8 -8 -9 -9 -9 -8 -7 -6 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -5 -6 -8 -10 -11 -13 -14 -15 -15 -15 -14 -14 -14 -15 -15 -16 -17 -17 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -17 -17 -17 -17 -17 -16 -16 -16 -15 -14 -13 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -11 -11 -10 -10 -9 -7 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -1 -1 -0 0 1 1 2 3 4 5 6 7 8 8 8 8 8 8 8 8 9 9 10 10 11 12 12 13 13 12 12 11 10 10 9 8 8 7 7 7 7 8 9 9 10 11 12 14 14 15 16 18 21 25 31 33 31 -12 -13 -14 -14 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -13 -14 -15 -16 -17 -18 -20 -21 -22 -21 -20 -20 -20 -21 -22 -21 -20 -18 -15 -14 -12 -12 -12 -13 -14 -15 -16 -17 -17 -17 -17 -18 -19 -19 -20 -21 -20 -21 -21 -22 -23 -23 -25 -26 -27 -29 -30 -30 -29 -27 -25 -23 -21 -19 -16 -13 -12 -12 -12 -12 -12 -13 -14 -15 -17 -20 -23 -26 -26 -25 -22 -19 -16 -14 -13 -12 -12 -12 -13 -13 -14 -16 -17 -20 -23 -25 -25 -24 -22 -23 -24 -22 -19 -17 -15 -14 -11 -9 -8 -8 -9 -10 -10 -11 -11 -11 -10 -9 -8 -7 -7 -6 -6 -7 -7 -7 -8 -10 -12 -13 -14 -13 -13 -12 -12 -11 -12 -14 -18 -23 -26 -24 -21 -19 -20 -22 -20 -16 -11 -9 -8 -7 -6 -6 -4 -1 2 5 5 4 2 -1 -2 -4 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -1 0 1 1 1 -1 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -12 -13 -14 -16 -17 -17 -16 -15 -14 -12 -12 -11 -11 -12 -12 -12 -12 -11 -11 -10 -8 -8 -7 -7 -7 -8 -8 -7 -6 -5 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -5 -6 -8 -9 -11 -13 -15 -15 -16 -16 -16 -15 -15 -16 -16 -17 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -17 -16 -16 -16 -16 -15 -14 -13 -13 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -11 -11 -11 -11 -10 -9 -7 -7 -6 -6 -6 -6 -6 -5 -4 -3 -2 -1 -1 -0 0 1 1 2 3 4 4 5 6 7 8 8 8 8 7 7 8 8 9 9 9 10 11 11 12 12 12 12 12 11 10 9 9 8 8 7 7 7 7 8 8 10 11 12 13 14 15 15 16 18 22 28 32 32 -12 -13 -13 -13 -12 -11 -10 -10 -11 -11 -11 -11 -11 -11 -12 -13 -14 -15 -16 -17 -18 -18 -19 -19 -20 -19 -18 -18 -19 -20 -20 -20 -18 -17 -14 -12 -11 -10 -11 -11 -12 -12 -14 -16 -17 -16 -17 -18 -20 -20 -20 -21 -22 -21 -21 -21 -21 -22 -23 -24 -25 -27 -30 -31 -31 -29 -27 -25 -22 -20 -17 -14 -12 -11 -10 -10 -11 -11 -13 -15 -17 -19 -20 -21 -22 -22 -21 -18 -14 -13 -12 -12 -11 -11 -12 -13 -14 -15 -16 -18 -20 -22 -23 -22 -21 -21 -22 -21 -20 -18 -17 -16 -13 -10 -8 -7 -7 -8 -8 -9 -9 -10 -10 -9 -9 -8 -8 -7 -7 -8 -7 -8 -9 -12 -14 -15 -16 -16 -16 -15 -15 -14 -15 -15 -16 -17 -19 -20 -20 -21 -23 -25 -24 -20 -17 -15 -14 -11 -9 -9 -10 -10 -6 -1 3 5 4 2 -0 -2 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -1 -0 1 1 0 -1 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -8 -8 -8 -8 -9 -9 -10 -10 -10 -9 -9 -9 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -12 -13 -14 -16 -17 -18 -17 -15 -14 -13 -12 -12 -11 -11 -11 -11 -11 -10 -9 -8 -7 -6 -6 -6 -6 -6 -6 -5 -4 -3 -2 -1 -1 -0 -0 -0 -0 -1 -1 -2 -2 -3 -4 -5 -5 -6 -7 -8 -9 -11 -13 -14 -16 -16 -16 -16 -16 -16 -17 -17 -18 -18 -19 -19 -19 -19 -19 -19 -19 -19 -19 -19 -19 -19 -18 -17 -17 -16 -16 -16 -15 -15 -14 -14 -13 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -11 -10 -10 -10 -9 -10 -10 -11 -11 -11 -11 -10 -9 -8 -7 -7 -6 -6 -6 -6 -5 -4 -3 -2 -1 -0 -0 0 0 1 1 2 3 4 5 5 6 7 8 8 7 7 7 7 7 8 8 9 9 9 10 10 11 11 12 12 11 10 10 9 8 8 7 7 7 7 7 8 9 10 12 13 14 15 15 15 16 19 24 30 33 -13 -13 -12 -12 -11 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -13 -14 -15 -16 -18 -18 -18 -18 -18 -18 -18 -18 -18 -19 -19 -19 -18 -16 -15 -13 -12 -11 -10 -10 -10 -10 -10 -11 -13 -14 -15 -17 -18 -19 -20 -20 -21 -22 -22 -21 -21 -21 -21 -22 -23 -24 -26 -28 -30 -31 -30 -29 -26 -24 -21 -18 -16 -13 -11 -10 -9 -9 -10 -11 -13 -14 -15 -15 -16 -17 -19 -18 -16 -13 -12 -11 -11 -10 -11 -12 -13 -14 -15 -15 -16 -17 -18 -19 -19 -19 -20 -21 -22 -21 -19 -19 -18 -15 -13 -10 -8 -7 -7 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -13 -16 -17 -17 -18 -19 -18 -17 -18 -18 -18 -17 -13 -9 -10 -15 -21 -23 -21 -19 -19 -18 -17 -18 -19 -16 -15 -16 -18 -20 -16 -7 0 4 4 2 0 -2 -4 -5 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -2 -1 0 1 0 -1 -2 -3 -4 -4 -5 -5 -5 -6 -6 -6 -6 -5 -5 -6 -6 -7 -7 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -12 -13 -15 -17 -18 -18 -17 -15 -14 -13 -12 -12 -11 -11 -11 -11 -10 -9 -9 -7 -6 -5 -5 -5 -5 -5 -4 -3 -3 -2 -1 -0 -0 -0 -0 -0 -1 -1 -2 -3 -4 -5 -5 -6 -7 -7 -8 -9 -11 -13 -14 -15 -16 -16 -16 -16 -17 -17 -18 -18 -19 -19 -19 -19 -20 -20 -20 -21 -21 -21 -21 -20 -19 -18 -17 -17 -16 -16 -15 -15 -15 -14 -13 -13 -12 -12 -12 -12 -12 -11 -11 -11 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -10 -10 -11 -11 -11 -10 -10 -9 -8 -7 -7 -6 -6 -6 -5 -4 -3 -2 -1 -0 0 1 1 1 1 2 2 3 4 4 5 6 7 7 7 7 7 7 7 7 7 8 8 8 9 9 9 10 11 11 11 11 10 9 9 8 8 7 7 7 7 8 9 10 11 12 13 15 15 15 15 17 21 27 31 -13 -12 -11 -10 -9 -9 -9 -9 -9 -10 -10 -11 -11 -11 -12 -13 -14 -15 -16 -17 -17 -18 -18 -18 -19 -19 -20 -20 -20 -19 -17 -16 -14 -13 -12 -12 -11 -10 -9 -9 -9 -9 -10 -12 -14 -15 -16 -16 -16 -18 -18 -19 -20 -20 -21 -21 -22 -22 -23 -24 -25 -26 -27 -29 -30 -30 -29 -27 -25 -22 -20 -19 -17 -15 -13 -11 -10 -10 -11 -12 -11 -11 -11 -13 -14 -14 -13 -12 -11 -10 -9 -9 -9 -10 -11 -12 -13 -14 -14 -15 -15 -15 -15 -15 -15 -18 -21 -23 -23 -20 -19 -18 -17 -15 -12 -10 -8 -7 -7 -7 -7 -8 -8 -9 -9 -9 -10 -10 -11 -11 -11 -11 -11 -13 -15 -16 -17 -19 -20 -20 -19 -20 -21 -21 -20 -16 -12 -11 -14 -18 -21 -20 -19 -20 -20 -19 -17 -16 -15 -15 -16 -18 -21 -22 -20 -15 -7 2 5 3 0 -2 -4 -5 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 -0 0 -0 -1 -2 -3 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -9 -9 -10 -10 -10 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -14 -15 -17 -18 -17 -16 -15 -14 -13 -12 -12 -12 -11 -11 -10 -10 -9 -8 -7 -6 -5 -4 -4 -4 -3 -3 -2 -1 -1 -0 -0 -1 -1 -1 -1 -2 -2 -3 -4 -5 -6 -7 -7 -8 -9 -10 -11 -12 -14 -15 -15 -16 -16 -16 -17 -17 -18 -18 -19 -19 -19 -20 -20 -21 -21 -22 -23 -23 -23 -22 -20 -19 -17 -16 -16 -15 -15 -15 -15 -14 -14 -13 -12 -12 -12 -13 -12 -12 -12 -11 -11 -12 -11 -11 -10 -10 -9 -10 -10 -10 -10 -10 -9 -9 -9 -9 -10 -10 -10 -10 -10 -9 -8 -8 -7 -7 -6 -6 -5 -4 -3 -2 -1 -0 1 1 1 1 1 1 2 2 3 3 4 5 6 7 7 7 7 6 6 6 6 7 7 8 8 8 8 8 9 10 11 11 11 10 9 9 8 8 7 7 8 8 9 10 10 11 13 14 15 15 15 16 19 24 29 -14 -12 -10 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -12 -13 -14 -15 -16 -17 -17 -18 -19 -21 -22 -23 -23 -21 -19 -17 -15 -14 -13 -12 -11 -10 -10 -9 -9 -9 -9 -10 -12 -14 -16 -15 -14 -14 -15 -15 -16 -17 -18 -20 -22 -23 -24 -24 -25 -26 -27 -28 -28 -29 -29 -28 -27 -25 -23 -21 -21 -22 -21 -19 -17 -15 -15 -15 -14 -12 -10 -9 -12 -13 -12 -10 -8 -9 -9 -8 -8 -8 -9 -9 -10 -11 -12 -13 -14 -14 -13 -12 -12 -13 -15 -18 -21 -22 -20 -18 -17 -17 -16 -15 -12 -10 -8 -8 -8 -8 -8 -8 -8 -8 -8 -10 -11 -12 -12 -12 -12 -12 -13 -14 -16 -18 -19 -20 -21 -22 -22 -22 -22 -21 -19 -15 -13 -13 -15 -18 -20 -20 -21 -22 -22 -19 -17 -17 -17 -17 -17 -19 -22 -23 -22 -17 -9 -1 2 2 0 -2 -4 -5 -6 -6 -5 -5 -6 -6 -5 -5 -4 -4 -3 -2 -1 -0 -1 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -10 -10 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -11 -11 -12 -13 -14 -16 -17 -17 -16 -15 -14 -13 -13 -12 -12 -12 -11 -11 -10 -9 -8 -7 -6 -5 -5 -4 -4 -3 -2 -2 -1 -1 -0 -1 -1 -1 -2 -2 -3 -3 -4 -5 -5 -6 -7 -8 -9 -9 -10 -11 -12 -13 -14 -15 -15 -16 -16 -16 -17 -17 -18 -18 -19 -19 -20 -20 -21 -22 -23 -24 -25 -26 -25 -23 -21 -18 -16 -15 -14 -14 -15 -15 -14 -14 -13 -12 -12 -13 -13 -13 -13 -13 -12 -12 -11 -12 -11 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -7 -7 -6 -6 -5 -4 -3 -2 -0 1 2 2 2 2 2 2 2 2 3 3 4 5 6 6 7 7 6 6 5 6 6 6 7 7 7 7 7 8 8 9 10 10 10 10 9 9 8 8 8 8 8 9 9 10 11 12 13 15 15 15 15 17 21 26 -13 -12 -11 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -10 -10 -11 -12 -13 -14 -16 -16 -17 -18 -20 -22 -23 -24 -24 -23 -21 -18 -16 -15 -14 -12 -11 -10 -9 -9 -9 -9 -9 -10 -11 -14 -15 -14 -13 -13 -14 -14 -14 -14 -16 -18 -20 -22 -24 -26 -27 -28 -29 -29 -30 -30 -29 -26 -24 -23 -22 -22 -22 -24 -24 -24 -24 -23 -22 -21 -18 -15 -12 -10 -12 -13 -12 -10 -9 -9 -9 -8 -8 -8 -9 -9 -9 -10 -10 -11 -12 -12 -12 -11 -10 -12 -14 -16 -17 -18 -17 -16 -15 -15 -16 -16 -14 -12 -11 -10 -10 -9 -8 -8 -8 -8 -8 -9 -11 -12 -12 -12 -13 -14 -15 -15 -17 -19 -20 -21 -23 -24 -24 -25 -24 -23 -19 -16 -14 -13 -13 -14 -16 -17 -20 -23 -25 -22 -20 -20 -20 -19 -17 -17 -20 -23 -24 -22 -16 -11 -7 -3 -1 -1 -2 -4 -5 -6 -6 -6 -7 -7 -7 -6 -5 -4 -3 -2 -1 -1 -2 -3 -4 -4 -5 -5 -5 -6 -6 -6 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -10 -10 -11 -11 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -12 -13 -14 -15 -16 -16 -16 -15 -15 -14 -13 -13 -12 -12 -12 -12 -11 -10 -9 -8 -7 -6 -5 -5 -4 -4 -3 -2 -1 -0 -0 -0 -1 -1 -2 -3 -3 -4 -5 -5 -6 -6 -7 -8 -9 -10 -11 -12 -12 -13 -14 -15 -15 -15 -15 -16 -16 -16 -17 -18 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -27 -26 -23 -20 -17 -15 -13 -13 -14 -15 -15 -14 -13 -12 -12 -13 -13 -13 -14 -14 -13 -13 -12 -12 -11 -11 -11 -11 -10 -9 -9 -8 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -5 -4 -2 -1 0 1 2 2 2 2 1 1 2 2 2 3 4 4 5 6 6 6 5 5 5 5 5 6 6 6 6 6 6 7 8 9 10 10 10 9 9 9 8 8 8 8 8 9 10 11 12 13 14 15 15 15 16 18 23 -13 -12 -12 -11 -11 -11 -10 -10 -10 -10 -9 -9 -9 -9 -9 -10 -11 -12 -14 -16 -16 -16 -18 -20 -21 -23 -24 -24 -24 -22 -20 -18 -16 -15 -13 -11 -10 -9 -9 -9 -9 -9 -10 -11 -12 -13 -12 -12 -12 -13 -13 -14 -14 -15 -16 -17 -20 -23 -25 -27 -29 -30 -31 -31 -31 -29 -27 -23 -22 -21 -21 -21 -22 -23 -24 -26 -28 -29 -28 -25 -21 -17 -13 -12 -11 -11 -11 -11 -10 -10 -9 -9 -10 -10 -10 -10 -10 -9 -10 -11 -12 -11 -10 -10 -11 -14 -16 -17 -16 -14 -12 -11 -11 -13 -15 -14 -14 -13 -12 -12 -11 -10 -9 -9 -10 -9 -9 -10 -11 -11 -12 -14 -16 -18 -17 -17 -19 -21 -23 -24 -24 -26 -28 -28 -26 -21 -17 -14 -12 -12 -12 -12 -14 -18 -22 -26 -25 -23 -22 -21 -19 -16 -16 -18 -21 -22 -22 -18 -16 -14 -11 -8 -7 -5 -4 -5 -6 -8 -8 -8 -9 -9 -8 -7 -5 -4 -2 -2 -2 -3 -4 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -9 -9 -9 -9 -10 -10 -11 -12 -12 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -13 -13 -14 -15 -15 -15 -15 -14 -14 -13 -13 -12 -12 -12 -12 -12 -11 -10 -9 -8 -7 -6 -5 -5 -4 -4 -2 -1 -1 -0 -0 -1 -2 -3 -3 -4 -5 -6 -6 -6 -7 -7 -8 -9 -10 -10 -11 -12 -13 -14 -14 -15 -15 -15 -15 -15 -15 -16 -16 -17 -18 -20 -21 -22 -23 -25 -26 -27 -27 -27 -27 -25 -23 -19 -16 -13 -12 -11 -13 -14 -14 -13 -12 -12 -12 -13 -13 -14 -14 -15 -14 -14 -13 -12 -11 -11 -11 -11 -10 -9 -9 -8 -8 -8 -9 -9 -9 -8 -7 -7 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -3 -2 -1 0 2 2 2 2 1 1 1 1 2 2 3 3 4 5 5 5 5 5 4 4 4 5 5 6 6 6 6 6 7 8 9 9 9 9 9 9 8 8 8 8 8 9 10 11 11 12 14 15 15 15 15 16 20 -14 -14 -13 -12 -11 -10 -10 -10 -9 -9 -9 -9 -9 -8 -9 -10 -11 -13 -15 -16 -16 -17 -18 -19 -20 -21 -22 -23 -23 -22 -20 -19 -17 -15 -13 -10 -9 -9 -8 -8 -8 -9 -9 -10 -10 -10 -11 -12 -13 -14 -15 -17 -17 -17 -17 -17 -18 -20 -24 -26 -28 -30 -31 -31 -30 -29 -27 -24 -22 -21 -21 -21 -22 -22 -23 -25 -28 -31 -31 -30 -28 -23 -18 -14 -13 -12 -13 -12 -12 -11 -11 -10 -11 -11 -11 -10 -10 -9 -10 -10 -11 -11 -10 -10 -10 -12 -13 -15 -15 -14 -12 -11 -11 -11 -11 -12 -13 -14 -15 -14 -13 -12 -11 -11 -12 -11 -11 -10 -11 -12 -13 -15 -18 -21 -21 -18 -20 -23 -25 -25 -24 -27 -31 -33 -30 -24 -18 -14 -12 -12 -11 -11 -12 -14 -19 -23 -24 -23 -21 -19 -17 -16 -17 -17 -18 -20 -20 -19 -17 -17 -16 -15 -13 -12 -10 -8 -7 -8 -9 -10 -10 -10 -10 -8 -6 -5 -3 -3 -3 -4 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -11 -12 -13 -13 -14 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -13 -13 -13 -13 -12 -12 -12 -12 -11 -11 -10 -9 -8 -7 -6 -6 -5 -4 -3 -2 -1 -1 -1 -2 -3 -3 -4 -5 -6 -7 -7 -7 -8 -8 -8 -8 -9 -10 -11 -12 -13 -13 -14 -15 -15 -15 -15 -14 -14 -14 -15 -16 -17 -19 -21 -22 -23 -25 -26 -27 -28 -28 -27 -26 -24 -21 -18 -15 -12 -10 -10 -12 -13 -13 -12 -11 -11 -12 -13 -14 -14 -15 -15 -15 -15 -14 -13 -12 -11 -11 -11 -10 -10 -9 -8 -8 -8 -8 -9 -8 -8 -7 -7 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -9 -8 -7 -7 -6 -5 -3 -2 -1 0 1 2 1 1 1 1 1 1 1 2 2 3 3 4 4 5 4 4 3 3 4 4 5 5 5 5 5 6 6 7 8 9 9 9 8 8 8 8 8 9 9 10 11 11 12 13 14 15 15 14 15 17 -16 -16 -15 -13 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -10 -12 -14 -16 -17 -17 -17 -18 -18 -18 -18 -18 -18 -19 -18 -18 -16 -15 -13 -11 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -10 -12 -14 -16 -18 -20 -20 -20 -20 -19 -19 -21 -22 -24 -26 -28 -29 -29 -28 -27 -26 -24 -22 -21 -21 -22 -22 -21 -22 -24 -26 -28 -30 -32 -32 -31 -27 -21 -17 -15 -14 -15 -14 -13 -12 -11 -11 -11 -11 -10 -10 -9 -10 -10 -10 -10 -10 -10 -9 -10 -11 -13 -14 -14 -13 -13 -12 -10 -9 -10 -11 -12 -14 -15 -15 -15 -14 -13 -13 -11 -10 -10 -11 -13 -15 -16 -16 -17 -18 -20 -21 -21 -22 -23 -24 -28 -32 -34 -32 -26 -20 -16 -13 -12 -11 -11 -11 -12 -15 -18 -20 -20 -19 -18 -17 -17 -17 -18 -18 -19 -20 -19 -18 -18 -18 -18 -17 -17 -15 -13 -10 -9 -10 -11 -12 -11 -11 -9 -7 -6 -4 -4 -4 -5 -5 -5 -5 -6 -6 -7 -7 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -9 -9 -9 -10 -10 -10 -11 -11 -12 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -11 -11 -10 -10 -9 -8 -7 -6 -6 -5 -4 -3 -2 -2 -2 -3 -4 -5 -5 -6 -7 -7 -8 -8 -9 -8 -8 -9 -9 -10 -11 -11 -12 -13 -14 -15 -15 -15 -14 -14 -14 -14 -14 -15 -17 -18 -20 -22 -23 -24 -26 -26 -27 -27 -27 -26 -24 -22 -19 -17 -14 -11 -9 -9 -10 -12 -12 -11 -10 -11 -12 -13 -14 -15 -16 -16 -16 -16 -15 -14 -12 -12 -11 -11 -11 -11 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -9 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 1 0 -0 0 0 1 1 1 2 2 3 3 4 4 3 2 2 2 3 4 5 5 5 5 5 6 6 7 8 8 8 8 8 8 8 8 9 9 10 11 12 12 13 14 15 14 14 14 15 -16 -16 -15 -13 -12 -11 -10 -9 -9 -9 -9 -9 -9 -9 -10 -11 -13 -14 -16 -17 -17 -16 -16 -16 -16 -16 -16 -16 -16 -15 -15 -14 -13 -11 -10 -8 -7 -7 -7 -7 -8 -9 -9 -10 -10 -10 -11 -13 -15 -17 -19 -21 -23 -23 -23 -22 -22 -22 -22 -22 -24 -25 -26 -25 -24 -23 -23 -22 -21 -21 -21 -22 -22 -22 -22 -23 -24 -25 -27 -30 -33 -35 -35 -31 -25 -20 -18 -17 -17 -16 -14 -12 -11 -11 -10 -10 -9 -10 -10 -10 -10 -10 -9 -9 -8 -8 -9 -11 -13 -14 -15 -15 -14 -12 -10 -9 -9 -9 -11 -12 -14 -15 -15 -14 -14 -13 -12 -12 -13 -15 -17 -18 -18 -18 -19 -20 -20 -20 -21 -22 -23 -27 -30 -32 -30 -26 -22 -18 -15 -13 -11 -10 -10 -10 -11 -13 -15 -17 -19 -19 -19 -18 -17 -18 -19 -19 -20 -20 -19 -19 -19 -19 -19 -19 -19 -18 -16 -13 -12 -11 -12 -12 -11 -10 -8 -7 -6 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -6 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -10 -10 -10 -10 -11 -12 -12 -13 -14 -14 -15 -15 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -12 -12 -12 -12 -13 -13 -12 -12 -12 -12 -11 -11 -10 -10 -9 -8 -7 -7 -6 -5 -4 -3 -3 -3 -3 -4 -5 -6 -6 -7 -7 -8 -9 -9 -9 -9 -9 -9 -10 -10 -11 -12 -13 -14 -15 -15 -15 -14 -14 -13 -13 -14 -15 -17 -18 -20 -21 -22 -24 -25 -25 -26 -26 -26 -25 -24 -22 -20 -18 -15 -13 -10 -8 -8 -9 -10 -11 -11 -10 -10 -11 -13 -15 -16 -16 -16 -16 -16 -16 -14 -13 -12 -12 -12 -12 -12 -12 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -11 -11 -11 -11 -10 -9 -8 -7 -6 -5 -5 -4 -2 -1 -0 -0 -0 -1 -1 -0 0 0 1 1 1 2 2 3 3 2 1 1 1 2 3 4 4 5 5 5 5 6 6 7 8 8 7 7 8 8 8 9 9 10 11 12 12 13 14 14 14 14 13 14 -16 -15 -14 -13 -13 -11 -10 -9 -9 -9 -9 -10 -10 -11 -12 -14 -15 -16 -17 -18 -17 -16 -15 -15 -15 -16 -16 -15 -14 -14 -13 -11 -10 -10 -8 -7 -6 -7 -7 -8 -8 -10 -11 -12 -12 -12 -13 -14 -15 -17 -19 -21 -23 -25 -25 -25 -24 -23 -22 -22 -22 -23 -23 -22 -21 -19 -18 -18 -18 -19 -20 -21 -21 -22 -22 -22 -22 -23 -25 -28 -32 -36 -38 -38 -33 -27 -22 -19 -19 -17 -15 -13 -11 -11 -10 -9 -9 -10 -10 -10 -10 -10 -9 -9 -8 -7 -8 -9 -12 -14 -15 -16 -15 -14 -12 -11 -9 -8 -8 -9 -12 -13 -13 -13 -14 -14 -13 -13 -14 -17 -18 -19 -19 -20 -21 -22 -23 -23 -23 -22 -22 -24 -27 -29 -28 -25 -22 -19 -17 -15 -13 -11 -10 -10 -11 -12 -12 -15 -18 -21 -21 -19 -18 -18 -19 -20 -20 -20 -20 -19 -19 -20 -21 -21 -22 -22 -22 -19 -15 -13 -12 -11 -11 -10 -9 -8 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -11 -11 -11 -12 -13 -14 -15 -15 -15 -15 -14 -14 -14 -14 -14 -14 -15 -14 -14 -14 -13 -12 -11 -11 -11 -12 -12 -13 -13 -13 -13 -12 -12 -12 -11 -11 -10 -10 -9 -8 -7 -6 -5 -4 -3 -3 -4 -5 -6 -6 -7 -7 -8 -8 -9 -9 -9 -9 -9 -10 -10 -11 -11 -12 -13 -14 -15 -15 -15 -14 -13 -13 -13 -14 -16 -17 -18 -20 -21 -22 -22 -23 -23 -24 -24 -24 -24 -23 -22 -20 -19 -16 -14 -12 -9 -7 -7 -7 -9 -10 -11 -10 -10 -11 -13 -15 -16 -16 -16 -16 -16 -16 -15 -14 -14 -13 -13 -13 -13 -13 -13 -12 -11 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -11 -10 -9 -8 -7 -6 -6 -5 -4 -3 -2 -1 -1 -1 -1 -1 -0 -0 0 0 1 1 1 1 2 1 0 -0 -0 0 1 2 3 4 4 5 5 5 6 6 7 7 7 7 7 7 8 9 9 10 11 12 12 13 14 15 15 14 13 12 -16 -15 -14 -13 -12 -11 -9 -9 -9 -10 -10 -11 -12 -12 -13 -15 -16 -16 -16 -17 -16 -15 -14 -13 -14 -14 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -6 -7 -8 -9 -10 -11 -13 -14 -14 -14 -14 -14 -15 -16 -17 -19 -22 -24 -26 -26 -25 -24 -23 -22 -22 -22 -22 -21 -19 -17 -15 -15 -15 -15 -16 -17 -19 -20 -20 -21 -21 -22 -24 -26 -29 -33 -36 -38 -36 -31 -26 -22 -21 -19 -16 -14 -12 -11 -10 -10 -10 -10 -10 -10 -11 -11 -10 -9 -8 -7 -8 -9 -11 -13 -14 -15 -16 -16 -14 -13 -12 -10 -9 -9 -9 -10 -11 -11 -12 -14 -13 -13 -15 -18 -19 -20 -21 -21 -23 -25 -27 -28 -27 -24 -22 -22 -23 -24 -25 -24 -22 -19 -17 -17 -16 -14 -12 -11 -12 -13 -11 -12 -16 -21 -25 -24 -21 -19 -19 -20 -20 -20 -21 -21 -21 -21 -22 -24 -25 -25 -24 -23 -20 -17 -13 -11 -11 -10 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -11 -11 -11 -12 -13 -14 -15 -15 -15 -15 -15 -14 -14 -14 -14 -14 -14 -15 -15 -14 -14 -13 -12 -11 -11 -11 -12 -13 -13 -14 -13 -13 -13 -13 -13 -12 -12 -11 -10 -9 -8 -7 -6 -5 -4 -4 -4 -5 -6 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -10 -10 -11 -11 -12 -13 -15 -16 -16 -15 -14 -13 -13 -13 -14 -16 -18 -19 -20 -21 -21 -21 -21 -21 -21 -22 -22 -22 -21 -21 -20 -19 -17 -15 -13 -10 -8 -7 -6 -6 -8 -10 -11 -10 -10 -11 -13 -15 -16 -16 -16 -16 -16 -16 -15 -15 -15 -15 -15 -15 -15 -15 -15 -14 -13 -12 -12 -11 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -14 -14 -14 -13 -13 -12 -11 -10 -8 -8 -7 -6 -5 -4 -3 -2 -1 -1 -1 -1 -1 -1 -0 -0 0 0 0 0 0 0 -0 -1 -1 -1 -0 1 2 3 4 4 5 5 5 5 6 6 6 7 7 7 7 8 9 10 11 12 12 13 14 15 16 15 13 12 -17 -16 -15 -13 -12 -10 -9 -9 -10 -11 -12 -12 -13 -13 -13 -14 -15 -15 -16 -16 -16 -15 -14 -13 -13 -13 -13 -13 -13 -11 -10 -8 -7 -7 -7 -7 -8 -9 -9 -10 -12 -13 -15 -15 -15 -15 -14 -13 -14 -14 -15 -17 -20 -22 -25 -26 -26 -24 -23 -23 -22 -22 -21 -20 -18 -16 -14 -13 -13 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -24 -26 -29 -32 -35 -35 -33 -30 -27 -24 -21 -18 -16 -13 -11 -10 -10 -9 -9 -10 -10 -10 -10 -10 -9 -8 -7 -8 -8 -9 -11 -12 -13 -14 -15 -15 -14 -13 -11 -11 -10 -10 -9 -9 -9 -10 -12 -12 -13 -14 -17 -19 -21 -21 -22 -23 -25 -28 -29 -29 -27 -24 -22 -21 -22 -23 -23 -20 -18 -17 -17 -16 -16 -14 -13 -13 -12 -11 -11 -14 -18 -23 -24 -22 -19 -18 -19 -21 -22 -23 -23 -23 -23 -25 -27 -28 -28 -26 -24 -23 -21 -17 -11 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -9 -10 -11 -12 -12 -12 -12 -13 -14 -15 -15 -15 -15 -15 -14 -14 -14 -14 -14 -14 -15 -15 -15 -14 -13 -12 -12 -12 -12 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -12 -11 -10 -9 -7 -6 -5 -5 -5 -6 -6 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -13 -14 -15 -16 -16 -16 -15 -13 -13 -13 -15 -16 -18 -20 -20 -21 -21 -20 -20 -20 -20 -19 -19 -19 -19 -19 -19 -19 -18 -16 -14 -12 -9 -7 -6 -6 -6 -8 -9 -11 -11 -11 -12 -13 -15 -16 -17 -16 -16 -16 -16 -16 -17 -17 -17 -16 -16 -16 -16 -16 -17 -16 -14 -13 -13 -13 -14 -14 -14 -15 -15 -15 -15 -15 -14 -15 -15 -15 -14 -14 -14 -13 -12 -11 -10 -9 -8 -8 -7 -5 -4 -2 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -1 -1 -1 -2 -2 -2 -1 -0 1 2 3 4 5 5 5 5 5 6 6 6 6 6 7 8 9 10 10 11 12 13 14 16 17 17 15 12 -16 -16 -15 -13 -12 -11 -10 -10 -10 -11 -12 -12 -13 -13 -13 -13 -13 -14 -15 -15 -15 -15 -14 -13 -12 -12 -12 -12 -12 -10 -9 -8 -8 -8 -8 -9 -10 -10 -11 -12 -13 -14 -15 -16 -15 -14 -13 -12 -12 -13 -15 -17 -19 -22 -24 -25 -25 -24 -22 -22 -21 -21 -20 -20 -18 -16 -15 -14 -13 -13 -13 -14 -14 -14 -15 -15 -17 -18 -20 -22 -23 -25 -27 -29 -31 -31 -31 -29 -26 -23 -20 -17 -15 -13 -11 -10 -9 -9 -8 -9 -10 -10 -10 -9 -8 -7 -7 -7 -8 -9 -10 -12 -13 -14 -14 -14 -13 -12 -12 -12 -12 -11 -10 -9 -9 -10 -10 -11 -13 -15 -19 -21 -22 -22 -23 -25 -26 -27 -29 -29 -27 -24 -21 -20 -21 -21 -19 -17 -16 -15 -15 -16 -16 -16 -14 -12 -11 -11 -12 -15 -18 -20 -19 -18 -17 -19 -22 -23 -23 -23 -23 -25 -28 -29 -29 -29 -29 -28 -27 -23 -18 -11 -9 -9 -9 -10 -11 -11 -11 -10 -9 -9 -8 -8 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -8 -9 -9 -11 -12 -12 -12 -12 -13 -13 -14 -15 -15 -15 -15 -14 -14 -14 -14 -14 -14 -15 -15 -16 -16 -15 -14 -13 -13 -13 -13 -14 -14 -15 -15 -15 -15 -15 -15 -15 -15 -14 -13 -12 -10 -9 -7 -6 -6 -6 -6 -7 -8 -9 -9 -10 -10 -10 -9 -9 -8 -8 -9 -9 -10 -11 -12 -14 -16 -17 -17 -16 -15 -14 -13 -13 -15 -17 -19 -20 -21 -20 -20 -19 -19 -19 -18 -18 -17 -17 -17 -17 -18 -18 -17 -16 -15 -13 -10 -9 -7 -6 -6 -6 -7 -9 -11 -11 -12 -12 -13 -15 -17 -17 -17 -17 -17 -17 -17 -18 -18 -18 -18 -18 -17 -17 -18 -18 -18 -17 -15 -14 -15 -16 -16 -16 -16 -17 -17 -16 -16 -16 -16 -16 -16 -15 -15 -14 -14 -14 -13 -12 -11 -10 -9 -8 -7 -5 -4 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -1 -1 -2 -3 -3 -2 -1 -0 1 2 3 5 5 5 5 5 5 5 5 5 6 6 7 8 9 10 11 11 13 14 16 17 18 17 14 -16 -15 -15 -14 -12 -11 -11 -10 -11 -11 -12 -12 -13 -13 -13 -13 -13 -14 -14 -15 -15 -14 -13 -12 -12 -12 -12 -11 -11 -10 -9 -9 -9 -10 -11 -11 -11 -11 -12 -12 -13 -14 -15 -15 -14 -13 -11 -10 -11 -13 -15 -18 -21 -24 -26 -27 -26 -24 -22 -20 -19 -18 -17 -17 -17 -16 -16 -15 -15 -15 -15 -16 -15 -14 -14 -14 -15 -16 -17 -19 -20 -22 -24 -25 -26 -27 -27 -27 -25 -23 -20 -18 -16 -14 -13 -12 -11 -10 -9 -9 -9 -9 -9 -8 -7 -6 -6 -6 -6 -8 -9 -10 -11 -12 -13 -13 -12 -13 -13 -14 -14 -14 -13 -12 -11 -10 -11 -11 -12 -14 -17 -20 -22 -22 -22 -24 -25 -26 -29 -30 -29 -25 -22 -19 -19 -20 -19 -17 -15 -14 -14 -16 -18 -18 -17 -14 -12 -12 -12 -13 -14 -15 -16 -16 -17 -18 -22 -27 -27 -25 -23 -26 -28 -29 -31 -32 -32 -32 -31 -27 -21 -13 -11 -10 -9 -9 -10 -11 -12 -12 -11 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -13 -13 -13 -13 -14 -14 -15 -15 -15 -15 -14 -14 -14 -14 -14 -14 -15 -16 -16 -17 -16 -16 -15 -15 -15 -15 -15 -15 -15 -15 -16 -16 -16 -16 -16 -15 -14 -13 -12 -10 -9 -8 -7 -7 -8 -8 -9 -10 -10 -11 -11 -11 -10 -9 -8 -8 -8 -9 -10 -11 -12 -14 -16 -17 -18 -17 -16 -15 -15 -14 -15 -17 -19 -21 -21 -20 -19 -18 -18 -17 -17 -16 -16 -15 -15 -16 -16 -17 -16 -16 -15 -13 -11 -10 -8 -7 -7 -6 -7 -8 -9 -11 -12 -12 -13 -14 -15 -17 -18 -19 -19 -19 -18 -18 -18 -18 -18 -19 -19 -18 -18 -19 -19 -19 -18 -17 -16 -16 -16 -17 -18 -18 -18 -18 -18 -17 -16 -16 -17 -17 -16 -16 -15 -15 -14 -14 -13 -12 -12 -11 -10 -9 -7 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -3 -2 -2 -0 1 3 4 5 5 5 5 5 5 5 5 5 6 6 7 8 9 10 11 12 13 15 17 19 19 16 -16 -15 -15 -14 -12 -11 -11 -11 -12 -13 -13 -14 -15 -15 -14 -13 -14 -14 -14 -14 -14 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -13 -12 -12 -11 -10 -9 -10 -11 -13 -16 -19 -23 -26 -28 -29 -28 -26 -23 -21 -18 -17 -15 -14 -14 -14 -14 -14 -14 -15 -16 -17 -16 -15 -14 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -23 -23 -22 -22 -20 -19 -17 -16 -15 -14 -13 -12 -10 -9 -9 -8 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -8 -9 -10 -12 -12 -12 -12 -13 -14 -15 -15 -15 -14 -13 -12 -12 -12 -14 -15 -15 -17 -19 -22 -24 -23 -23 -24 -26 -27 -27 -26 -24 -21 -19 -18 -17 -16 -14 -12 -12 -15 -18 -20 -19 -17 -15 -14 -13 -13 -13 -14 -14 -15 -15 -16 -21 -27 -28 -25 -22 -24 -27 -29 -31 -34 -36 -37 -36 -33 -28 -21 -17 -15 -12 -8 -8 -11 -12 -12 -12 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -9 -9 -10 -11 -12 -13 -13 -13 -14 -14 -15 -15 -15 -15 -15 -14 -14 -14 -14 -14 -14 -15 -16 -17 -18 -17 -17 -17 -17 -17 -16 -16 -16 -15 -15 -16 -16 -16 -16 -15 -15 -14 -12 -11 -10 -9 -8 -8 -9 -9 -10 -10 -11 -11 -12 -12 -11 -10 -9 -8 -8 -9 -9 -10 -11 -13 -15 -17 -18 -18 -18 -17 -16 -16 -16 -18 -19 -21 -21 -20 -19 -17 -16 -16 -15 -14 -14 -14 -14 -15 -15 -16 -16 -15 -14 -13 -12 -11 -9 -8 -7 -7 -7 -7 -8 -9 -11 -12 -13 -13 -14 -16 -18 -20 -20 -20 -20 -19 -19 -18 -18 -18 -19 -19 -19 -19 -19 -19 -20 -19 -18 -17 -16 -17 -17 -18 -19 -19 -19 -19 -18 -17 -17 -17 -17 -17 -16 -16 -15 -14 -14 -14 -13 -13 -12 -11 -10 -9 -8 -6 -4 -4 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -3 -2 -0 2 3 4 4 4 4 5 5 5 5 5 5 6 7 7 8 9 10 11 12 13 15 18 19 19 -17 -16 -14 -13 -12 -12 -12 -13 -14 -15 -17 -18 -19 -18 -16 -15 -15 -15 -15 -14 -13 -12 -12 -12 -12 -11 -10 -10 -11 -11 -11 -12 -12 -12 -12 -11 -11 -12 -12 -12 -11 -11 -10 -9 -8 -8 -8 -10 -12 -13 -16 -19 -22 -26 -29 -30 -31 -29 -26 -23 -20 -17 -14 -13 -13 -13 -13 -13 -13 -14 -15 -16 -16 -15 -14 -14 -14 -15 -16 -18 -19 -20 -21 -21 -21 -20 -20 -19 -18 -17 -16 -16 -16 -16 -16 -14 -13 -11 -9 -8 -8 -7 -7 -7 -7 -8 -8 -7 -7 -6 -6 -6 -8 -10 -11 -12 -12 -12 -13 -14 -15 -15 -15 -15 -15 -14 -13 -14 -15 -18 -18 -17 -17 -19 -22 -21 -20 -21 -23 -24 -24 -24 -24 -23 -21 -19 -18 -16 -14 -12 -11 -14 -17 -19 -18 -18 -18 -17 -16 -15 -15 -14 -14 -14 -13 -13 -17 -23 -24 -22 -20 -22 -25 -27 -29 -34 -39 -40 -40 -38 -34 -27 -21 -18 -13 -8 -7 -9 -10 -11 -12 -12 -12 -11 -11 -11 -11 -10 -10 -10 -9 -9 -9 -9 -9 -9 -10 -10 -11 -12 -13 -13 -14 -15 -15 -16 -16 -16 -15 -15 -15 -15 -14 -14 -14 -14 -15 -16 -18 -18 -18 -18 -18 -18 -18 -17 -17 -16 -15 -15 -16 -16 -16 -15 -14 -13 -12 -11 -10 -9 -9 -9 -10 -10 -11 -11 -12 -12 -12 -12 -12 -11 -10 -9 -8 -9 -9 -10 -10 -12 -14 -16 -18 -19 -19 -19 -19 -19 -18 -19 -20 -21 -21 -20 -18 -16 -15 -14 -14 -13 -13 -13 -13 -14 -15 -16 -15 -15 -14 -13 -12 -11 -10 -9 -8 -7 -7 -7 -7 -7 -8 -10 -12 -13 -14 -15 -17 -19 -21 -22 -22 -22 -21 -19 -18 -18 -18 -18 -19 -19 -19 -19 -19 -20 -20 -20 -18 -17 -16 -17 -19 -20 -20 -20 -19 -19 -18 -18 -18 -18 -18 -17 -16 -15 -14 -14 -13 -13 -13 -12 -12 -11 -11 -10 -8 -7 -6 -5 -4 -3 -3 -3 -3 -4 -3 -3 -3 -4 -4 -4 -5 -5 -4 -4 -5 -4 -2 -0 2 3 4 4 4 4 4 4 4 4 5 5 6 6 7 8 9 10 11 12 14 17 19 20 -18 -15 -14 -13 -13 -13 -14 -15 -16 -18 -19 -19 -18 -18 -17 -15 -15 -16 -15 -14 -12 -11 -11 -11 -11 -11 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -9 -9 -8 -7 -7 -8 -10 -11 -13 -16 -18 -21 -24 -27 -29 -31 -31 -29 -27 -24 -20 -15 -13 -12 -12 -12 -11 -12 -12 -13 -14 -14 -14 -14 -14 -14 -15 -16 -17 -18 -20 -21 -20 -20 -19 -18 -16 -15 -14 -14 -13 -14 -16 -16 -15 -13 -11 -9 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -7 -6 -7 -8 -10 -11 -12 -13 -13 -14 -14 -14 -13 -13 -14 -15 -15 -16 -16 -16 -16 -16 -16 -16 -16 -19 -20 -19 -19 -20 -21 -21 -21 -21 -21 -20 -19 -18 -16 -15 -13 -12 -12 -13 -14 -16 -19 -21 -21 -20 -18 -17 -15 -15 -15 -15 -14 -13 -16 -19 -20 -19 -22 -24 -24 -25 -30 -39 -41 -41 -40 -37 -31 -25 -19 -14 -10 -7 -7 -8 -9 -10 -12 -13 -13 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -11 -11 -12 -13 -14 -15 -16 -16 -17 -17 -16 -16 -16 -15 -15 -15 -14 -13 -14 -15 -16 -18 -18 -19 -19 -19 -19 -19 -18 -17 -16 -15 -15 -15 -15 -14 -14 -12 -11 -11 -10 -9 -9 -10 -10 -11 -12 -12 -13 -13 -13 -13 -12 -12 -10 -9 -9 -9 -9 -9 -10 -11 -13 -15 -17 -19 -20 -21 -22 -22 -21 -21 -22 -22 -21 -19 -17 -15 -14 -13 -12 -12 -12 -12 -12 -13 -14 -15 -16 -15 -14 -12 -11 -11 -11 -10 -9 -8 -7 -7 -7 -7 -7 -8 -10 -12 -14 -15 -16 -18 -20 -22 -23 -24 -23 -22 -20 -19 -18 -18 -19 -19 -19 -19 -19 -19 -19 -20 -20 -19 -18 -16 -16 -18 -20 -20 -20 -20 -20 -19 -19 -19 -19 -18 -18 -16 -15 -14 -14 -14 -13 -13 -13 -12 -12 -12 -12 -11 -9 -8 -7 -5 -4 -4 -4 -4 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -8 -8 -6 -4 -0 2 3 3 3 3 3 4 3 3 4 4 5 6 6 7 8 9 10 11 12 15 17 20 -19 -16 -15 -14 -15 -16 -16 -16 -17 -17 -15 -14 -14 -14 -14 -14 -15 -15 -14 -13 -12 -12 -11 -11 -12 -12 -11 -11 -11 -11 -12 -12 -11 -11 -11 -11 -11 -10 -10 -9 -9 -8 -7 -7 -7 -6 -7 -9 -11 -13 -15 -18 -21 -23 -25 -28 -30 -31 -30 -29 -26 -22 -18 -15 -13 -12 -11 -11 -10 -11 -11 -12 -12 -13 -14 -14 -14 -14 -15 -16 -17 -19 -20 -20 -19 -18 -17 -15 -14 -13 -12 -12 -13 -14 -15 -15 -13 -11 -10 -9 -8 -8 -8 -7 -8 -8 -8 -8 -8 -8 -7 -8 -9 -9 -10 -11 -12 -13 -15 -15 -14 -12 -11 -12 -13 -14 -16 -17 -18 -17 -16 -16 -16 -16 -18 -21 -21 -19 -18 -18 -19 -19 -19 -18 -19 -18 -18 -18 -17 -15 -15 -14 -13 -12 -14 -16 -21 -24 -25 -23 -20 -17 -15 -16 -17 -15 -11 -11 -13 -15 -18 -22 -23 -21 -19 -23 -33 -38 -39 -39 -37 -34 -28 -21 -16 -14 -11 -8 -7 -7 -8 -9 -12 -13 -14 -13 -13 -13 -12 -11 -11 -10 -10 -10 -10 -11 -11 -11 -12 -12 -13 -15 -16 -17 -17 -18 -18 -17 -17 -16 -16 -15 -14 -14 -13 -14 -15 -16 -17 -18 -19 -19 -20 -19 -19 -18 -17 -16 -15 -14 -14 -13 -12 -11 -10 -10 -9 -9 -9 -10 -10 -11 -12 -13 -14 -14 -14 -14 -13 -13 -11 -10 -10 -9 -9 -10 -10 -11 -12 -14 -16 -19 -21 -22 -24 -24 -24 -24 -25 -24 -23 -20 -17 -14 -12 -11 -11 -11 -11 -11 -11 -12 -14 -15 -16 -15 -14 -12 -11 -10 -10 -10 -10 -9 -8 -7 -7 -7 -8 -8 -8 -9 -12 -14 -16 -17 -19 -21 -23 -24 -25 -24 -23 -22 -21 -20 -20 -20 -20 -20 -20 -19 -19 -19 -20 -20 -20 -18 -17 -16 -17 -19 -20 -21 -21 -21 -20 -20 -19 -19 -19 -18 -17 -16 -15 -15 -16 -15 -14 -13 -14 -14 -14 -13 -12 -11 -10 -9 -8 -6 -5 -5 -5 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -8 -10 -11 -11 -10 -5 -1 1 2 2 2 2 3 3 3 3 3 4 4 5 6 8 9 9 10 11 13 15 19 -22 -20 -20 -19 -18 -16 -15 -14 -13 -12 -11 -11 -11 -11 -12 -12 -13 -13 -12 -12 -12 -11 -11 -12 -12 -12 -12 -12 -12 -12 -13 -12 -12 -12 -12 -12 -12 -11 -10 -9 -8 -7 -7 -7 -6 -6 -6 -8 -10 -12 -15 -17 -20 -22 -24 -26 -28 -29 -29 -28 -26 -23 -19 -16 -14 -12 -11 -10 -10 -9 -9 -10 -11 -13 -14 -14 -13 -13 -14 -15 -16 -18 -19 -19 -19 -18 -16 -14 -12 -12 -12 -12 -13 -13 -14 -14 -13 -12 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -9 -10 -10 -10 -11 -12 -15 -16 -15 -13 -11 -10 -10 -12 -14 -16 -18 -18 -18 -18 -18 -18 -19 -21 -22 -21 -18 -16 -16 -16 -17 -17 -17 -17 -18 -18 -18 -18 -18 -17 -15 -13 -13 -15 -18 -21 -23 -24 -24 -21 -18 -16 -15 -13 -11 -10 -11 -13 -15 -19 -21 -20 -18 -17 -21 -28 -33 -35 -35 -33 -29 -24 -21 -19 -17 -14 -11 -9 -8 -7 -9 -12 -14 -14 -14 -13 -13 -12 -11 -10 -10 -10 -11 -11 -11 -11 -12 -13 -14 -15 -17 -18 -18 -19 -18 -18 -18 -17 -17 -16 -15 -14 -14 -14 -15 -16 -17 -18 -19 -20 -20 -19 -19 -18 -17 -16 -15 -14 -13 -11 -10 -9 -9 -8 -8 -8 -9 -10 -11 -12 -13 -14 -15 -15 -15 -15 -14 -13 -12 -11 -10 -10 -10 -10 -11 -12 -14 -16 -19 -21 -23 -24 -25 -26 -26 -27 -27 -26 -23 -18 -15 -12 -11 -10 -10 -10 -10 -11 -12 -13 -14 -15 -15 -15 -13 -12 -11 -10 -11 -11 -10 -10 -8 -7 -7 -7 -8 -8 -8 -10 -12 -14 -17 -18 -20 -21 -23 -25 -25 -25 -24 -23 -23 -22 -22 -21 -21 -20 -20 -20 -20 -20 -20 -20 -20 -19 -17 -15 -15 -17 -19 -21 -21 -22 -21 -21 -20 -20 -19 -19 -19 -18 -17 -17 -19 -19 -17 -16 -17 -18 -17 -16 -14 -13 -12 -11 -10 -9 -8 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -8 -10 -11 -13 -13 -10 -9 -7 -2 1 1 1 2 2 2 2 2 2 2 3 4 5 6 8 8 9 9 11 13 16 -24 -20 -18 -17 -16 -15 -14 -13 -12 -11 -10 -9 -9 -9 -10 -11 -12 -11 -11 -11 -12 -11 -11 -12 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -13 -12 -11 -10 -9 -8 -7 -7 -7 -7 -7 -8 -10 -12 -14 -17 -19 -22 -23 -25 -26 -27 -28 -26 -24 -21 -19 -17 -14 -12 -10 -9 -9 -9 -9 -9 -10 -12 -13 -13 -13 -13 -13 -14 -15 -17 -18 -18 -17 -16 -15 -13 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -12 -11 -10 -10 -10 -10 -10 -10 -11 -10 -9 -8 -8 -8 -9 -10 -10 -9 -10 -11 -13 -15 -16 -15 -13 -10 -10 -10 -11 -13 -15 -17 -18 -19 -20 -20 -20 -22 -23 -22 -19 -15 -14 -14 -16 -17 -17 -17 -18 -18 -19 -19 -20 -19 -17 -15 -14 -14 -16 -17 -20 -23 -26 -26 -22 -17 -14 -13 -12 -12 -11 -12 -13 -16 -19 -21 -21 -18 -18 -21 -25 -29 -31 -30 -27 -24 -23 -23 -23 -21 -18 -16 -13 -8 -6 -9 -12 -14 -15 -14 -13 -12 -12 -11 -10 -10 -10 -11 -11 -12 -12 -13 -15 -16 -18 -19 -19 -19 -19 -19 -18 -18 -17 -16 -15 -14 -14 -15 -15 -16 -17 -18 -19 -19 -19 -19 -19 -18 -17 -16 -14 -13 -12 -10 -9 -8 -8 -8 -8 -9 -10 -11 -12 -13 -14 -15 -16 -16 -16 -15 -14 -13 -12 -12 -11 -11 -11 -11 -13 -14 -17 -19 -21 -23 -24 -25 -25 -26 -27 -28 -28 -25 -21 -17 -13 -11 -10 -10 -10 -10 -10 -11 -12 -13 -14 -14 -15 -14 -13 -13 -12 -12 -11 -11 -11 -10 -8 -7 -7 -8 -9 -9 -9 -10 -12 -14 -18 -19 -21 -22 -23 -25 -26 -26 -25 -25 -25 -25 -24 -23 -22 -21 -21 -21 -20 -20 -20 -20 -20 -19 -18 -16 -14 -16 -18 -21 -22 -23 -23 -23 -23 -22 -19 -20 -22 -22 -21 -20 -19 -18 -19 -20 -21 -21 -20 -19 -18 -15 -13 -12 -12 -11 -10 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -9 -11 -12 -13 -14 -9 -8 -8 -5 0 1 1 1 1 1 1 1 1 1 2 2 4 5 6 7 8 9 9 11 13 -23 -20 -18 -18 -18 -16 -13 -12 -11 -10 -9 -8 -8 -8 -9 -10 -12 -11 -11 -12 -12 -11 -11 -12 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -13 -14 -13 -13 -12 -10 -9 -8 -8 -8 -8 -8 -8 -10 -12 -14 -16 -18 -20 -22 -24 -25 -26 -26 -24 -22 -19 -18 -17 -15 -12 -10 -9 -9 -9 -9 -10 -11 -11 -12 -13 -12 -12 -13 -14 -16 -16 -17 -17 -16 -16 -15 -14 -13 -13 -13 -14 -15 -15 -13 -11 -11 -11 -12 -12 -12 -11 -10 -9 -9 -10 -10 -11 -11 -10 -9 -9 -9 -9 -10 -9 -9 -10 -11 -13 -15 -15 -13 -11 -10 -10 -10 -11 -13 -16 -18 -19 -21 -22 -22 -23 -24 -23 -20 -16 -14 -14 -15 -17 -17 -17 -17 -18 -18 -19 -21 -22 -20 -18 -16 -16 -16 -17 -17 -20 -25 -28 -25 -19 -14 -13 -13 -13 -12 -12 -13 -14 -17 -19 -20 -19 -20 -22 -24 -25 -26 -26 -25 -25 -25 -27 -29 -27 -22 -17 -16 -14 -9 -8 -10 -13 -14 -15 -14 -13 -12 -11 -11 -10 -10 -11 -11 -12 -13 -14 -15 -17 -19 -20 -20 -20 -19 -19 -19 -18 -17 -17 -16 -15 -15 -15 -16 -16 -18 -18 -19 -19 -19 -18 -18 -17 -16 -15 -14 -13 -11 -10 -9 -8 -8 -8 -9 -9 -10 -12 -13 -14 -15 -16 -16 -16 -16 -16 -15 -14 -13 -13 -12 -12 -12 -13 -15 -18 -20 -22 -23 -24 -24 -23 -24 -25 -26 -27 -26 -24 -20 -16 -13 -11 -10 -10 -10 -10 -11 -11 -12 -13 -13 -14 -14 -14 -14 -14 -13 -13 -12 -11 -11 -10 -9 -8 -8 -8 -10 -11 -11 -11 -12 -14 -17 -20 -21 -22 -23 -25 -26 -26 -26 -26 -27 -27 -26 -25 -23 -22 -22 -22 -21 -21 -20 -20 -19 -19 -19 -17 -15 -15 -18 -21 -24 -25 -26 -26 -26 -25 -21 -22 -24 -24 -22 -20 -16 -14 -15 -19 -21 -22 -24 -24 -23 -19 -15 -14 -13 -12 -11 -10 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -10 -11 -12 -12 -14 -10 -7 -4 -3 -1 0 1 1 1 0 0 -0 -0 -0 0 1 2 4 5 6 7 8 8 9 11 -21 -19 -18 -18 -17 -15 -12 -11 -10 -10 -9 -8 -8 -9 -10 -11 -12 -13 -13 -13 -13 -12 -12 -12 -12 -12 -11 -12 -13 -14 -14 -14 -15 -14 -14 -14 -14 -14 -14 -13 -12 -11 -9 -8 -8 -8 -9 -9 -9 -10 -12 -14 -16 -17 -18 -20 -21 -22 -22 -21 -20 -19 -19 -17 -14 -12 -10 -9 -8 -8 -9 -11 -11 -12 -11 -11 -11 -11 -11 -13 -15 -15 -16 -16 -16 -17 -17 -16 -15 -14 -15 -15 -17 -18 -16 -13 -9 -8 -11 -12 -13 -12 -11 -10 -9 -9 -10 -11 -12 -12 -11 -10 -9 -9 -9 -10 -10 -10 -11 -12 -13 -13 -13 -12 -11 -10 -10 -11 -13 -15 -17 -19 -20 -20 -22 -24 -25 -24 -21 -19 -16 -15 -15 -17 -18 -17 -17 -17 -18 -19 -22 -23 -22 -19 -18 -19 -19 -18 -17 -18 -22 -26 -25 -21 -16 -14 -14 -14 -14 -13 -12 -14 -15 -17 -18 -19 -20 -20 -20 -20 -21 -23 -24 -23 -22 -22 -23 -22 -19 -17 -16 -16 -16 -15 -13 -11 -13 -15 -15 -15 -14 -12 -12 -11 -11 -11 -11 -12 -13 -15 -16 -18 -19 -20 -21 -20 -20 -19 -19 -19 -18 -17 -16 -15 -15 -15 -16 -17 -17 -18 -18 -18 -18 -18 -17 -17 -16 -15 -14 -13 -11 -10 -9 -9 -9 -9 -10 -10 -12 -13 -14 -15 -16 -16 -16 -17 -17 -17 -16 -16 -15 -13 -13 -13 -14 -16 -19 -21 -23 -24 -23 -22 -21 -21 -21 -23 -24 -24 -24 -22 -19 -16 -14 -12 -11 -11 -11 -11 -11 -11 -12 -12 -12 -13 -13 -14 -15 -15 -14 -13 -12 -11 -11 -10 -9 -9 -8 -9 -10 -12 -12 -11 -12 -13 -16 -20 -22 -23 -24 -25 -26 -27 -27 -27 -28 -28 -27 -26 -25 -24 -23 -23 -22 -22 -21 -20 -19 -19 -19 -19 -17 -17 -19 -24 -29 -30 -30 -30 -29 -27 -24 -24 -24 -23 -21 -19 -16 -14 -14 -16 -20 -22 -23 -25 -26 -24 -19 -16 -14 -13 -12 -11 -11 -10 -10 -11 -10 -9 -8 -9 -9 -8 -9 -10 -11 -10 -15 -13 -8 -3 -2 -1 -0 0 1 1 0 -0 -1 -1 -1 -1 -0 1 2 4 5 6 7 8 8 9 -20 -19 -18 -16 -14 -12 -11 -11 -11 -11 -10 -10 -10 -11 -12 -13 -14 -14 -14 -14 -14 -14 -13 -13 -12 -12 -11 -12 -12 -12 -13 -13 -13 -13 -13 -13 -12 -12 -13 -13 -12 -10 -9 -9 -9 -9 -9 -9 -9 -10 -11 -13 -14 -14 -15 -16 -17 -18 -18 -19 -19 -19 -18 -16 -14 -12 -11 -9 -8 -8 -9 -10 -11 -12 -11 -10 -9 -9 -9 -10 -12 -13 -14 -15 -16 -17 -18 -18 -18 -16 -16 -16 -18 -20 -19 -15 -10 -8 -9 -10 -11 -12 -12 -11 -9 -8 -8 -9 -11 -12 -12 -11 -10 -9 -8 -9 -9 -10 -11 -12 -13 -13 -12 -11 -10 -10 -11 -12 -14 -15 -17 -19 -19 -18 -20 -23 -24 -23 -22 -20 -18 -17 -17 -17 -18 -17 -16 -17 -18 -19 -20 -21 -20 -20 -21 -21 -20 -20 -19 -18 -19 -21 -22 -20 -19 -17 -14 -13 -13 -12 -11 -13 -14 -16 -17 -19 -19 -19 -18 -18 -18 -20 -22 -23 -22 -21 -19 -18 -18 -17 -15 -15 -15 -16 -17 -16 -15 -16 -17 -17 -16 -14 -13 -13 -12 -12 -12 -13 -14 -15 -17 -19 -20 -21 -21 -21 -20 -20 -20 -19 -18 -17 -16 -15 -15 -15 -16 -16 -17 -17 -17 -17 -17 -17 -17 -16 -16 -15 -14 -13 -12 -11 -10 -10 -10 -10 -11 -12 -13 -14 -15 -15 -16 -16 -16 -17 -17 -18 -17 -17 -16 -15 -14 -15 -17 -19 -21 -23 -24 -23 -22 -20 -18 -18 -18 -19 -20 -21 -21 -20 -19 -17 -16 -14 -13 -12 -12 -11 -11 -11 -11 -12 -12 -12 -13 -14 -15 -15 -15 -14 -12 -11 -11 -10 -10 -10 -9 -10 -10 -12 -13 -12 -12 -13 -15 -18 -21 -23 -24 -24 -25 -26 -27 -28 -28 -27 -27 -26 -25 -25 -24 -24 -23 -23 -22 -21 -20 -19 -19 -20 -22 -22 -24 -27 -31 -30 -28 -28 -29 -28 -27 -26 -25 -23 -21 -18 -18 -18 -18 -18 -20 -21 -22 -23 -26 -26 -23 -19 -15 -14 -13 -12 -12 -11 -11 -11 -11 -10 -9 -10 -12 -11 -11 -12 -12 -11 -15 -16 -11 -4 -2 -2 -1 -0 0 1 0 -0 -1 -1 -2 -2 -1 -0 1 2 3 5 6 7 8 8 -21 -19 -17 -15 -13 -12 -11 -12 -12 -12 -12 -13 -13 -13 -14 -16 -16 -16 -15 -14 -13 -14 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -12 -12 -12 -11 -11 -11 -11 -11 -10 -9 -9 -8 -8 -9 -9 -9 -8 -8 -9 -10 -11 -12 -13 -13 -14 -15 -16 -17 -17 -18 -18 -16 -14 -13 -12 -9 -8 -7 -8 -9 -10 -10 -10 -9 -8 -8 -7 -8 -10 -11 -12 -14 -15 -17 -18 -19 -19 -18 -17 -17 -18 -20 -20 -17 -13 -10 -10 -10 -11 -11 -12 -11 -9 -8 -8 -8 -9 -11 -12 -12 -10 -8 -7 -7 -8 -9 -10 -12 -13 -15 -14 -12 -10 -10 -12 -14 -15 -15 -18 -19 -19 -18 -19 -23 -24 -24 -22 -21 -21 -19 -18 -18 -17 -16 -16 -16 -18 -19 -19 -19 -20 -21 -23 -24 -22 -22 -22 -21 -18 -17 -17 -19 -20 -19 -15 -12 -10 -10 -10 -12 -13 -14 -17 -19 -19 -18 -18 -16 -16 -17 -19 -21 -23 -24 -21 -19 -18 -17 -16 -14 -14 -15 -16 -18 -21 -23 -22 -20 -18 -17 -17 -16 -15 -14 -14 -14 -15 -17 -18 -20 -21 -22 -22 -22 -21 -21 -20 -20 -19 -18 -16 -16 -15 -15 -15 -16 -16 -17 -17 -17 -17 -17 -17 -16 -16 -14 -13 -12 -12 -11 -11 -11 -11 -12 -12 -13 -14 -15 -15 -16 -16 -16 -17 -17 -18 -19 -19 -18 -18 -17 -18 -19 -20 -22 -23 -23 -23 -21 -19 -17 -15 -15 -16 -16 -17 -18 -19 -19 -19 -18 -17 -16 -15 -14 -13 -12 -12 -11 -11 -11 -11 -11 -12 -13 -14 -14 -14 -13 -12 -11 -11 -11 -11 -11 -10 -10 -10 -12 -13 -13 -13 -12 -14 -17 -20 -22 -23 -24 -25 -26 -27 -27 -27 -26 -26 -26 -26 -26 -25 -24 -24 -24 -23 -21 -20 -19 -19 -21 -26 -27 -28 -30 -31 -30 -27 -26 -30 -30 -28 -28 -28 -27 -23 -20 -22 -23 -22 -21 -21 -21 -22 -24 -27 -27 -25 -21 -17 -14 -14 -13 -13 -12 -12 -12 -13 -12 -10 -11 -15 -15 -15 -15 -14 -13 -15 -14 -11 -5 -3 -2 -1 -1 0 0 0 -0 -1 -2 -2 -2 -2 -2 -1 1 2 3 5 7 8 8 -21 -18 -16 -15 -14 -13 -14 -14 -14 -14 -13 -13 -13 -13 -14 -15 -16 -16 -16 -16 -15 -14 -13 -14 -14 -14 -14 -14 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -10 -10 -10 -9 -9 -8 -8 -8 -9 -8 -8 -8 -8 -8 -9 -10 -12 -12 -13 -14 -15 -15 -16 -16 -16 -15 -14 -13 -12 -10 -8 -7 -7 -8 -8 -9 -9 -9 -8 -7 -7 -7 -8 -9 -11 -12 -14 -16 -18 -19 -20 -20 -19 -18 -18 -18 -18 -16 -14 -12 -13 -13 -13 -12 -12 -11 -10 -9 -8 -7 -8 -10 -11 -11 -10 -8 -7 -7 -7 -8 -9 -11 -14 -16 -16 -15 -12 -12 -13 -14 -14 -15 -17 -19 -21 -20 -18 -19 -21 -22 -22 -22 -22 -21 -19 -18 -17 -16 -15 -16 -17 -18 -19 -19 -21 -23 -25 -23 -20 -21 -23 -24 -19 -17 -17 -19 -19 -18 -15 -14 -13 -12 -11 -11 -11 -12 -15 -18 -19 -18 -15 -14 -14 -15 -16 -19 -24 -27 -25 -23 -20 -18 -17 -16 -16 -16 -15 -13 -16 -22 -26 -26 -23 -21 -20 -19 -18 -18 -17 -17 -18 -19 -20 -21 -22 -23 -23 -23 -22 -22 -21 -21 -20 -18 -17 -16 -15 -15 -15 -16 -16 -16 -16 -17 -17 -17 -17 -16 -15 -14 -13 -12 -12 -12 -12 -12 -12 -13 -13 -14 -15 -15 -16 -16 -16 -16 -17 -19 -20 -20 -21 -21 -21 -21 -22 -23 -23 -23 -22 -21 -20 -17 -16 -14 -13 -13 -13 -14 -14 -15 -16 -17 -18 -18 -18 -18 -17 -15 -14 -13 -12 -12 -11 -10 -10 -10 -10 -11 -12 -13 -13 -12 -12 -11 -11 -12 -12 -12 -11 -11 -10 -11 -12 -13 -13 -13 -13 -14 -17 -20 -22 -23 -23 -24 -25 -26 -25 -25 -24 -25 -25 -25 -25 -25 -24 -24 -24 -22 -20 -19 -18 -20 -27 -30 -30 -30 -30 -28 -26 -26 -31 -31 -29 -28 -26 -23 -20 -21 -23 -24 -23 -22 -21 -21 -22 -24 -26 -26 -26 -24 -21 -17 -15 -14 -14 -14 -14 -14 -15 -16 -14 -13 -17 -17 -16 -16 -16 -16 -16 -13 -9 -6 -4 -3 -2 -1 -0 0 0 -1 -1 -3 -3 -3 -3 -3 -4 -0 1 2 4 6 7 8 -19 -17 -16 -16 -16 -16 -16 -16 -16 -16 -17 -17 -17 -16 -15 -15 -16 -16 -16 -15 -15 -14 -14 -14 -14 -14 -14 -13 -12 -12 -11 -11 -11 -12 -12 -12 -11 -11 -11 -11 -10 -10 -10 -9 -9 -9 -9 -8 -8 -7 -7 -7 -8 -9 -10 -12 -12 -13 -14 -14 -15 -15 -15 -14 -13 -12 -11 -10 -8 -7 -7 -7 -8 -8 -9 -8 -8 -7 -7 -6 -7 -8 -9 -11 -13 -15 -18 -20 -23 -23 -22 -21 -19 -18 -17 -15 -13 -11 -14 -16 -16 -15 -14 -13 -12 -10 -8 -7 -7 -8 -10 -10 -10 -9 -7 -6 -6 -7 -8 -10 -13 -15 -17 -18 -16 -15 -14 -14 -14 -14 -15 -18 -20 -21 -18 -16 -17 -19 -21 -22 -22 -21 -19 -18 -17 -16 -15 -15 -16 -17 -18 -20 -22 -24 -25 -24 -22 -21 -22 -23 -20 -17 -16 -16 -16 -16 -16 -15 -15 -14 -13 -12 -12 -12 -12 -14 -15 -15 -13 -12 -13 -15 -16 -19 -22 -26 -27 -26 -23 -20 -19 -19 -20 -20 -18 -12 -11 -15 -21 -24 -25 -23 -23 -23 -22 -22 -21 -21 -21 -21 -22 -23 -23 -23 -24 -24 -24 -23 -23 -22 -21 -20 -18 -17 -16 -15 -15 -16 -16 -16 -16 -17 -17 -17 -16 -16 -15 -13 -12 -12 -12 -12 -13 -13 -13 -14 -14 -15 -16 -16 -16 -16 -16 -17 -19 -20 -22 -23 -23 -24 -24 -25 -26 -26 -25 -23 -21 -19 -17 -14 -13 -12 -12 -12 -12 -12 -12 -13 -14 -15 -17 -18 -19 -18 -18 -16 -15 -14 -13 -11 -10 -9 -9 -8 -8 -9 -10 -10 -11 -11 -12 -12 -12 -12 -13 -13 -12 -11 -11 -11 -12 -13 -14 -13 -12 -13 -15 -18 -20 -21 -21 -22 -23 -23 -23 -23 -23 -23 -24 -24 -24 -24 -24 -24 -24 -23 -21 -19 -17 -19 -24 -29 -31 -29 -26 -24 -24 -27 -32 -32 -31 -28 -24 -18 -18 -23 -25 -25 -24 -23 -22 -21 -21 -23 -24 -24 -24 -24 -22 -19 -19 -17 -16 -17 -18 -17 -19 -20 -18 -17 -18 -17 -16 -16 -17 -17 -16 -14 -12 -10 -6 -4 -3 -2 -1 -0 -0 -1 -2 -3 -4 -4 -4 -4 -6 -2 -0 1 3 5 5 5 -17 -17 -18 -18 -18 -18 -18 -18 -18 -18 -19 -18 -18 -18 -17 -17 -19 -20 -18 -16 -16 -16 -16 -15 -15 -15 -15 -13 -11 -10 -10 -10 -11 -11 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -9 -8 -8 -7 -7 -7 -9 -10 -12 -13 -13 -13 -14 -14 -14 -13 -12 -11 -10 -9 -8 -8 -7 -7 -8 -8 -8 -8 -7 -6 -6 -6 -6 -7 -8 -10 -12 -15 -18 -21 -25 -26 -26 -24 -22 -20 -19 -16 -12 -9 -11 -15 -17 -17 -17 -16 -16 -14 -11 -8 -8 -8 -9 -10 -9 -9 -7 -6 -5 -5 -6 -8 -11 -14 -16 -19 -19 -17 -16 -15 -15 -15 -15 -16 -18 -20 -17 -15 -15 -16 -19 -22 -23 -21 -19 -18 -17 -16 -15 -15 -15 -16 -18 -20 -22 -23 -24 -25 -24 -22 -20 -20 -19 -17 -16 -16 -16 -16 -16 -16 -16 -16 -15 -14 -13 -13 -13 -14 -16 -17 -15 -13 -13 -15 -16 -18 -21 -24 -27 -27 -25 -23 -21 -22 -23 -24 -22 -17 -12 -9 -10 -12 -16 -19 -22 -24 -25 -25 -24 -24 -24 -24 -24 -24 -24 -24 -24 -25 -25 -25 -24 -23 -23 -22 -20 -19 -17 -16 -16 -16 -16 -16 -17 -17 -17 -16 -16 -15 -14 -13 -12 -12 -12 -13 -13 -14 -14 -15 -15 -16 -16 -16 -16 -16 -17 -19 -21 -23 -24 -25 -26 -27 -28 -28 -28 -27 -25 -23 -20 -17 -14 -12 -11 -12 -12 -12 -11 -11 -10 -11 -12 -14 -16 -17 -18 -18 -17 -16 -16 -14 -13 -11 -10 -8 -8 -7 -7 -7 -7 -8 -10 -11 -12 -13 -13 -13 -14 -14 -13 -12 -11 -11 -11 -12 -13 -13 -12 -12 -12 -14 -17 -19 -20 -20 -21 -22 -22 -22 -22 -22 -22 -22 -23 -23 -24 -24 -24 -23 -21 -20 -18 -17 -20 -26 -31 -27 -21 -20 -23 -28 -33 -33 -32 -29 -25 -19 -19 -23 -26 -25 -24 -23 -22 -21 -20 -21 -23 -21 -21 -21 -21 -19 -20 -21 -20 -21 -23 -22 -22 -23 -21 -20 -18 -17 -17 -17 -17 -17 -16 -15 -15 -14 -10 -6 -3 -3 -2 -1 -1 -1 -2 -4 -5 -5 -5 -4 -4 -2 -1 0 1 2 1 -0 -17 -18 -19 -19 -19 -19 -19 -20 -21 -21 -22 -21 -21 -20 -20 -19 -21 -23 -22 -20 -19 -19 -18 -17 -17 -16 -16 -13 -10 -9 -9 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -14 -14 -13 -12 -11 -10 -8 -7 -7 -8 -9 -10 -12 -13 -13 -13 -12 -13 -12 -11 -10 -9 -8 -7 -7 -7 -7 -7 -8 -8 -8 -7 -7 -6 -6 -6 -6 -7 -9 -11 -13 -16 -20 -25 -28 -29 -28 -26 -24 -21 -18 -13 -9 -7 -9 -14 -17 -17 -17 -19 -18 -15 -12 -9 -8 -9 -9 -9 -8 -7 -5 -4 -4 -5 -7 -9 -12 -15 -18 -20 -18 -17 -16 -16 -16 -16 -16 -17 -17 -16 -14 -13 -13 -17 -21 -23 -23 -21 -19 -19 -18 -17 -16 -16 -17 -18 -21 -23 -24 -23 -24 -25 -23 -19 -17 -17 -16 -15 -16 -16 -17 -17 -17 -17 -17 -16 -16 -15 -14 -13 -12 -13 -13 -13 -13 -13 -14 -15 -18 -21 -24 -26 -27 -26 -25 -23 -23 -24 -26 -26 -24 -19 -11 -5 -3 -5 -9 -15 -19 -23 -25 -25 -25 -25 -25 -25 -25 -25 -25 -25 -26 -27 -27 -26 -26 -25 -24 -23 -22 -20 -19 -18 -18 -17 -17 -17 -17 -16 -16 -15 -15 -14 -13 -13 -13 -13 -13 -14 -15 -15 -16 -16 -17 -17 -17 -17 -17 -19 -21 -24 -26 -27 -28 -29 -29 -29 -29 -28 -27 -25 -23 -19 -16 -12 -11 -10 -11 -11 -11 -10 -9 -9 -10 -11 -13 -14 -15 -16 -16 -16 -16 -16 -15 -13 -11 -9 -7 -7 -7 -6 -6 -6 -7 -9 -10 -12 -13 -14 -15 -15 -15 -14 -13 -12 -11 -11 -12 -13 -13 -12 -11 -11 -12 -14 -17 -18 -18 -19 -20 -21 -21 -21 -20 -19 -20 -21 -22 -23 -24 -24 -23 -22 -20 -18 -17 -18 -22 -26 -23 -23 -25 -28 -31 -33 -33 -32 -31 -28 -23 -21 -23 -24 -23 -22 -23 -21 -19 -18 -21 -22 -20 -19 -20 -21 -19 -19 -21 -23 -25 -25 -25 -25 -24 -22 -20 -17 -16 -17 -18 -18 -17 -16 -16 -16 -15 -13 -8 -4 -3 -2 -1 -1 -1 -2 -4 -6 -7 -6 -5 -5 -5 -4 -1 -1 -2 -4 -5 -17 -18 -18 -19 -19 -19 -20 -21 -22 -22 -23 -23 -24 -24 -23 -22 -23 -24 -24 -24 -24 -24 -23 -21 -19 -18 -17 -15 -12 -10 -9 -9 -10 -11 -12 -13 -13 -13 -12 -12 -12 -13 -14 -13 -14 -14 -14 -13 -12 -11 -10 -8 -7 -7 -7 -8 -9 -11 -12 -13 -13 -13 -12 -12 -11 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -10 -12 -14 -18 -22 -26 -28 -29 -29 -27 -24 -19 -15 -12 -10 -9 -9 -10 -11 -12 -14 -17 -20 -19 -14 -10 -9 -9 -9 -9 -8 -6 -4 -4 -4 -6 -8 -10 -14 -17 -19 -18 -17 -16 -17 -18 -18 -17 -17 -16 -15 -14 -12 -12 -14 -19 -23 -23 -22 -21 -22 -22 -21 -20 -20 -21 -21 -22 -24 -25 -22 -22 -23 -22 -19 -17 -16 -15 -15 -16 -16 -17 -17 -17 -17 -17 -17 -17 -16 -15 -13 -12 -12 -12 -13 -13 -14 -14 -16 -18 -21 -23 -24 -24 -23 -23 -22 -22 -24 -25 -25 -25 -25 -21 -15 -9 -4 -2 -4 -9 -15 -20 -22 -24 -25 -25 -25 -25 -25 -26 -26 -27 -28 -28 -29 -28 -28 -27 -26 -25 -23 -22 -21 -20 -19 -19 -18 -17 -16 -16 -15 -14 -14 -13 -13 -13 -13 -14 -15 -15 -16 -17 -17 -18 -18 -18 -18 -19 -21 -24 -27 -29 -30 -30 -29 -28 -28 -27 -27 -26 -25 -22 -19 -15 -12 -10 -10 -10 -11 -10 -9 -8 -8 -9 -11 -12 -13 -13 -13 -13 -14 -15 -16 -15 -13 -10 -8 -7 -7 -7 -6 -6 -5 -5 -7 -10 -12 -14 -15 -16 -16 -16 -16 -15 -13 -12 -11 -11 -12 -12 -13 -12 -11 -10 -12 -14 -16 -17 -18 -19 -20 -20 -19 -18 -17 -18 -19 -21 -23 -24 -24 -24 -23 -21 -19 -18 -17 -18 -20 -21 -28 -32 -32 -31 -32 -32 -32 -31 -30 -27 -25 -25 -24 -20 -20 -22 -21 -18 -16 -19 -21 -20 -19 -21 -25 -22 -19 -19 -22 -24 -24 -25 -25 -25 -23 -20 -16 -14 -17 -20 -20 -18 -16 -16 -16 -15 -13 -9 -5 -4 -3 -2 -1 -1 -2 -4 -7 -8 -8 -7 -9 -9 -7 -5 -5 -7 -7 -5 -16 -17 -17 -18 -18 -19 -20 -20 -20 -21 -22 -25 -26 -26 -25 -24 -23 -23 -24 -25 -27 -29 -28 -24 -22 -21 -21 -21 -18 -14 -10 -8 -9 -11 -12 -13 -13 -13 -13 -13 -14 -15 -14 -13 -13 -14 -14 -13 -13 -12 -11 -9 -8 -7 -7 -8 -8 -9 -11 -12 -13 -14 -13 -12 -11 -10 -9 -8 -8 -9 -9 -8 -8 -7 -7 -7 -8 -8 -9 -8 -8 -9 -9 -10 -11 -12 -14 -16 -20 -24 -26 -28 -29 -30 -28 -23 -18 -14 -12 -10 -10 -10 -10 -10 -12 -15 -19 -21 -19 -15 -12 -10 -10 -9 -8 -6 -5 -4 -4 -5 -7 -9 -13 -16 -18 -18 -16 -15 -15 -17 -19 -20 -20 -16 -11 -9 -10 -12 -13 -15 -18 -20 -21 -22 -25 -27 -26 -25 -26 -28 -27 -25 -24 -24 -22 -20 -20 -20 -19 -18 -17 -16 -15 -16 -16 -17 -17 -18 -18 -18 -18 -17 -16 -15 -14 -13 -12 -12 -12 -13 -14 -14 -15 -17 -19 -20 -22 -24 -26 -26 -24 -23 -23 -23 -22 -21 -23 -25 -25 -20 -12 -4 1 1 -3 -9 -14 -18 -20 -22 -24 -24 -25 -26 -27 -28 -29 -30 -30 -30 -29 -29 -28 -27 -26 -25 -23 -22 -21 -20 -19 -18 -16 -15 -14 -14 -14 -14 -14 -14 -14 -15 -16 -16 -17 -17 -18 -18 -18 -19 -19 -21 -24 -27 -30 -31 -30 -28 -26 -24 -24 -24 -24 -24 -23 -21 -18 -14 -11 -10 -9 -10 -10 -9 -8 -8 -8 -10 -11 -12 -11 -11 -11 -11 -13 -14 -16 -15 -13 -10 -8 -7 -7 -7 -6 -6 -5 -5 -6 -9 -11 -14 -16 -17 -17 -17 -17 -16 -14 -12 -11 -11 -11 -12 -12 -12 -11 -10 -10 -12 -14 -16 -17 -18 -19 -19 -18 -16 -15 -16 -18 -20 -22 -23 -24 -24 -23 -22 -21 -20 -20 -19 -20 -23 -29 -32 -31 -29 -30 -32 -32 -32 -30 -29 -28 -27 -25 -22 -21 -22 -22 -20 -18 -20 -21 -21 -21 -23 -26 -25 -22 -18 -19 -22 -24 -25 -26 -25 -24 -21 -18 -17 -19 -22 -22 -20 -17 -16 -15 -15 -13 -10 -5 -4 -3 -2 -1 -1 -1 -3 -8 -11 -11 -10 -11 -10 -8 -9 -10 -10 -8 -3 -16 -16 -17 -17 -17 -18 -19 -19 -18 -19 -21 -25 -26 -25 -24 -24 -23 -23 -25 -26 -27 -27 -26 -23 -22 -23 -25 -25 -22 -18 -12 -8 -9 -10 -11 -11 -12 -12 -13 -13 -13 -13 -12 -11 -12 -13 -13 -12 -12 -12 -12 -11 -10 -8 -8 -8 -8 -9 -10 -11 -13 -14 -13 -11 -11 -10 -10 -9 -9 -9 -9 -9 -8 -7 -7 -8 -8 -9 -9 -10 -10 -10 -10 -11 -12 -14 -15 -17 -19 -22 -24 -26 -27 -28 -28 -25 -20 -16 -14 -12 -11 -11 -11 -10 -10 -12 -16 -20 -23 -20 -15 -12 -11 -10 -8 -6 -5 -4 -4 -5 -7 -9 -12 -15 -17 -17 -14 -12 -13 -15 -17 -19 -19 -16 -11 -10 -10 -12 -13 -14 -16 -17 -18 -19 -22 -25 -26 -28 -31 -36 -37 -33 -29 -25 -22 -18 -17 -18 -19 -19 -18 -16 -16 -16 -16 -17 -17 -18 -19 -19 -19 -18 -17 -16 -15 -14 -13 -12 -12 -12 -13 -13 -15 -16 -18 -20 -21 -23 -24 -25 -24 -24 -23 -21 -18 -16 -17 -20 -23 -24 -21 -15 -6 1 5 3 -2 -7 -11 -15 -18 -20 -22 -24 -26 -28 -29 -30 -31 -31 -30 -29 -29 -28 -27 -26 -25 -23 -21 -20 -19 -17 -16 -15 -14 -13 -13 -14 -14 -15 -15 -16 -17 -17 -18 -18 -19 -19 -19 -20 -21 -24 -28 -31 -32 -31 -27 -23 -21 -20 -20 -21 -21 -21 -20 -19 -17 -15 -12 -11 -10 -9 -8 -7 -7 -7 -9 -10 -11 -11 -10 -9 -9 -11 -13 -14 -15 -15 -14 -11 -9 -7 -7 -7 -7 -6 -6 -5 -6 -8 -10 -13 -15 -17 -18 -19 -18 -17 -16 -14 -12 -11 -11 -12 -12 -12 -12 -11 -10 -11 -13 -15 -16 -17 -17 -17 -17 -15 -15 -15 -16 -18 -20 -22 -23 -24 -24 -23 -22 -24 -26 -25 -25 -27 -30 -30 -29 -28 -29 -30 -31 -31 -31 -29 -28 -27 -27 -25 -24 -24 -23 -22 -20 -21 -22 -24 -26 -27 -27 -26 -24 -21 -21 -22 -24 -26 -26 -26 -24 -21 -18 -18 -21 -23 -24 -23 -20 -16 -13 -14 -14 -11 -6 -5 -5 -4 -2 -1 -1 -3 -8 -14 -13 -12 -10 -9 -8 -11 -11 -11 -8 -1 -15 -16 -16 -16 -16 -17 -17 -18 -18 -19 -20 -21 -21 -22 -22 -21 -21 -23 -26 -27 -25 -23 -21 -20 -19 -19 -19 -20 -20 -17 -12 -8 -8 -8 -9 -10 -12 -12 -12 -13 -14 -14 -14 -13 -13 -12 -12 -12 -11 -11 -11 -12 -11 -9 -9 -9 -9 -8 -9 -10 -11 -13 -13 -12 -11 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -8 -9 -9 -10 -10 -10 -11 -11 -12 -14 -16 -18 -19 -20 -21 -22 -23 -24 -24 -25 -25 -23 -19 -16 -13 -12 -12 -12 -11 -10 -11 -12 -16 -19 -19 -16 -13 -12 -12 -9 -7 -5 -5 -5 -5 -7 -9 -11 -13 -15 -15 -13 -11 -10 -11 -14 -17 -19 -17 -11 -10 -10 -12 -13 -15 -16 -16 -15 -14 -16 -19 -22 -25 -31 -40 -46 -46 -42 -34 -26 -19 -16 -16 -18 -19 -19 -17 -16 -16 -16 -17 -18 -18 -19 -19 -19 -19 -18 -17 -17 -15 -14 -13 -12 -12 -12 -12 -13 -15 -18 -20 -21 -22 -24 -25 -25 -24 -23 -21 -19 -16 -14 -14 -17 -19 -21 -19 -16 -12 -6 0 5 5 2 -2 -6 -11 -15 -19 -22 -25 -27 -29 -30 -30 -30 -29 -28 -28 -27 -26 -25 -23 -21 -20 -18 -17 -16 -14 -13 -13 -13 -14 -14 -15 -16 -17 -18 -18 -19 -19 -19 -20 -21 -22 -24 -28 -31 -33 -33 -29 -23 -19 -17 -17 -18 -18 -18 -17 -17 -16 -16 -16 -14 -13 -11 -8 -7 -6 -6 -7 -9 -10 -11 -10 -9 -9 -9 -11 -13 -14 -15 -15 -14 -13 -11 -9 -8 -7 -7 -7 -7 -6 -6 -7 -9 -11 -14 -16 -18 -19 -19 -19 -17 -15 -13 -11 -11 -11 -12 -12 -13 -13 -14 -13 -12 -14 -16 -16 -16 -15 -15 -15 -15 -15 -15 -17 -19 -21 -22 -24 -24 -24 -24 -28 -31 -31 -30 -32 -32 -31 -29 -28 -29 -30 -31 -31 -30 -30 -29 -27 -27 -26 -26 -26 -25 -22 -21 -23 -24 -25 -27 -27 -27 -26 -26 -26 -26 -25 -26 -26 -26 -26 -24 -21 -19 -19 -21 -24 -25 -24 -20 -14 -10 -11 -13 -12 -7 -7 -8 -7 -4 -3 -4 -5 -9 -13 -12 -10 -9 -9 -9 -10 -10 -9 -5 2 -15 -15 -15 -15 -16 -16 -17 -19 -20 -21 -20 -19 -20 -20 -21 -23 -26 -29 -28 -25 -21 -20 -20 -19 -17 -17 -17 -18 -18 -16 -12 -9 -9 -8 -8 -9 -11 -12 -13 -14 -15 -16 -15 -14 -14 -13 -13 -12 -11 -11 -12 -12 -12 -10 -10 -10 -9 -9 -9 -10 -11 -11 -12 -11 -10 -10 -10 -11 -11 -11 -10 -10 -9 -9 -9 -9 -10 -10 -10 -10 -11 -11 -12 -13 -15 -17 -19 -22 -23 -23 -22 -22 -22 -23 -25 -24 -23 -22 -20 -16 -13 -12 -12 -11 -11 -11 -11 -12 -12 -13 -12 -12 -12 -12 -10 -8 -6 -5 -5 -5 -7 -9 -11 -13 -14 -13 -12 -11 -10 -9 -10 -13 -16 -16 -11 -10 -10 -12 -13 -14 -15 -16 -16 -14 -14 -15 -18 -23 -30 -38 -45 -47 -44 -37 -30 -24 -20 -17 -16 -17 -17 -17 -16 -15 -15 -17 -18 -18 -18 -19 -19 -19 -19 -18 -17 -17 -16 -15 -14 -13 -12 -12 -13 -14 -17 -19 -21 -22 -24 -25 -25 -24 -24 -24 -23 -20 -16 -13 -12 -14 -16 -17 -17 -15 -11 -8 -4 -0 4 8 7 3 -2 -8 -14 -18 -22 -25 -27 -28 -28 -27 -27 -26 -26 -25 -24 -22 -20 -19 -17 -16 -15 -14 -13 -13 -13 -14 -15 -16 -17 -18 -18 -19 -19 -20 -20 -21 -23 -25 -28 -32 -35 -35 -32 -25 -18 -15 -14 -15 -16 -15 -15 -14 -14 -14 -15 -16 -16 -15 -13 -9 -6 -5 -5 -7 -9 -10 -10 -9 -9 -9 -10 -11 -12 -14 -14 -14 -14 -14 -13 -11 -8 -7 -6 -7 -7 -7 -7 -7 -8 -10 -13 -15 -17 -18 -19 -20 -19 -17 -14 -12 -11 -11 -12 -13 -16 -17 -20 -19 -15 -14 -15 -15 -14 -14 -14 -15 -15 -15 -15 -16 -18 -20 -22 -23 -25 -25 -27 -31 -33 -33 -32 -34 -34 -33 -31 -30 -30 -31 -31 -31 -30 -30 -29 -29 -28 -27 -27 -27 -26 -23 -22 -24 -25 -26 -27 -27 -27 -26 -26 -26 -26 -26 -26 -26 -26 -26 -24 -22 -19 -19 -21 -24 -24 -21 -15 -10 -7 -9 -13 -15 -11 -10 -10 -10 -8 -7 -8 -10 -11 -12 -11 -10 -9 -9 -10 -10 -6 -4 -2 4 -15 -16 -16 -16 -17 -17 -18 -18 -19 -20 -21 -20 -21 -23 -24 -24 -25 -28 -27 -23 -20 -19 -19 -18 -17 -17 -18 -19 -16 -13 -12 -11 -11 -9 -9 -9 -11 -12 -13 -14 -16 -16 -16 -15 -14 -14 -13 -13 -13 -13 -13 -13 -12 -11 -11 -10 -10 -9 -10 -10 -10 -9 -9 -10 -9 -9 -10 -11 -12 -13 -12 -11 -10 -10 -9 -10 -10 -11 -11 -11 -11 -11 -12 -12 -13 -16 -19 -23 -25 -26 -25 -24 -23 -25 -26 -25 -23 -22 -22 -19 -15 -12 -11 -11 -11 -12 -12 -12 -11 -9 -8 -9 -10 -12 -11 -9 -7 -6 -6 -6 -7 -9 -10 -12 -12 -11 -10 -10 -10 -8 -8 -10 -12 -12 -11 -10 -10 -12 -13 -14 -15 -17 -17 -17 -15 -15 -18 -22 -28 -35 -40 -41 -40 -37 -34 -33 -29 -23 -17 -15 -15 -15 -14 -14 -14 -16 -17 -18 -18 -18 -18 -18 -18 -17 -17 -17 -17 -16 -16 -15 -15 -14 -13 -14 -16 -19 -20 -21 -21 -22 -22 -23 -23 -24 -24 -23 -20 -16 -13 -12 -13 -15 -15 -14 -13 -13 -12 -9 -4 2 8 11 10 6 1 -6 -11 -16 -19 -22 -23 -24 -24 -24 -24 -23 -22 -20 -19 -18 -16 -15 -15 -14 -14 -13 -14 -14 -15 -16 -17 -18 -19 -20 -20 -21 -22 -23 -25 -28 -32 -36 -38 -36 -30 -21 -14 -12 -13 -14 -14 -13 -12 -12 -12 -12 -13 -14 -15 -15 -14 -11 -8 -6 -6 -7 -8 -8 -7 -7 -8 -10 -11 -11 -12 -12 -13 -14 -14 -15 -14 -13 -10 -8 -7 -7 -8 -8 -8 -8 -8 -9 -11 -13 -15 -17 -18 -19 -19 -18 -16 -13 -12 -13 -15 -17 -22 -23 -24 -24 -22 -18 -15 -14 -13 -13 -13 -14 -14 -15 -16 -17 -19 -22 -24 -25 -27 -30 -34 -36 -36 -34 -33 -35 -36 -35 -32 -31 -31 -32 -31 -31 -30 -30 -30 -30 -30 -28 -27 -27 -26 -24 -23 -24 -25 -26 -27 -27 -27 -26 -26 -26 -26 -25 -25 -26 -26 -25 -24 -22 -20 -20 -21 -23 -22 -18 -13 -10 -7 -10 -14 -16 -14 -12 -11 -11 -10 -10 -12 -12 -13 -14 -13 -11 -10 -10 -10 -7 -3 -1 -1 3 -16 -16 -16 -16 -16 -16 -17 -17 -18 -18 -19 -19 -21 -23 -23 -22 -22 -23 -21 -19 -17 -17 -18 -17 -18 -19 -21 -20 -15 -12 -12 -12 -12 -11 -11 -12 -14 -14 -15 -15 -15 -16 -16 -15 -15 -14 -14 -14 -14 -14 -14 -14 -14 -12 -11 -10 -10 -9 -9 -9 -8 -8 -8 -9 -8 -9 -10 -12 -13 -14 -15 -14 -12 -10 -10 -10 -11 -11 -12 -11 -10 -10 -11 -11 -12 -14 -18 -21 -24 -26 -26 -25 -23 -25 -27 -27 -25 -23 -23 -22 -19 -14 -11 -11 -10 -11 -12 -13 -12 -8 -6 -6 -8 -10 -11 -10 -8 -7 -7 -7 -8 -9 -10 -11 -11 -10 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -11 -12 -13 -15 -16 -17 -18 -18 -18 -19 -20 -23 -28 -32 -35 -35 -35 -34 -34 -34 -32 -27 -20 -16 -14 -13 -13 -13 -14 -15 -16 -17 -18 -18 -17 -17 -17 -16 -16 -17 -17 -17 -17 -17 -17 -16 -16 -15 -15 -17 -19 -21 -21 -20 -18 -17 -18 -21 -23 -24 -23 -21 -18 -16 -16 -17 -17 -16 -14 -13 -12 -11 -8 -4 -1 1 4 8 11 8 3 -2 -7 -12 -15 -17 -19 -20 -20 -20 -20 -19 -18 -16 -15 -15 -14 -14 -14 -14 -14 -15 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -27 -31 -35 -39 -40 -37 -29 -19 -12 -10 -11 -12 -12 -11 -10 -10 -10 -11 -12 -13 -13 -14 -14 -13 -11 -9 -7 -6 -6 -5 -5 -6 -8 -10 -11 -12 -11 -11 -12 -13 -14 -15 -15 -14 -13 -11 -9 -10 -10 -11 -12 -13 -13 -12 -11 -12 -13 -15 -16 -18 -19 -19 -18 -16 -15 -17 -20 -22 -25 -27 -27 -28 -27 -25 -21 -16 -13 -12 -12 -13 -14 -15 -17 -21 -24 -27 -29 -31 -33 -37 -39 -39 -38 -36 -35 -35 -35 -35 -33 -32 -32 -32 -32 -31 -30 -29 -30 -30 -30 -28 -28 -28 -28 -26 -25 -24 -25 -26 -28 -28 -27 -26 -26 -27 -26 -25 -25 -24 -25 -24 -23 -21 -20 -19 -20 -22 -21 -17 -15 -12 -9 -10 -13 -14 -13 -12 -11 -11 -11 -11 -12 -13 -12 -14 -14 -13 -12 -11 -8 -3 -1 -1 -2 1 -15 -16 -16 -16 -16 -15 -15 -16 -16 -16 -17 -18 -19 -19 -19 -19 -20 -20 -17 -15 -15 -16 -17 -17 -19 -20 -20 -18 -14 -12 -12 -12 -11 -11 -13 -16 -18 -18 -18 -16 -15 -14 -14 -14 -14 -14 -14 -14 -14 -13 -13 -14 -14 -13 -12 -11 -10 -9 -9 -9 -10 -10 -10 -9 -8 -9 -11 -13 -14 -16 -17 -17 -15 -12 -11 -12 -12 -12 -11 -11 -11 -10 -10 -11 -13 -14 -17 -20 -23 -25 -26 -25 -23 -23 -26 -28 -28 -25 -22 -22 -20 -17 -14 -12 -11 -11 -12 -12 -9 -7 -7 -7 -7 -8 -9 -9 -8 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -11 -12 -12 -14 -15 -17 -18 -18 -18 -19 -21 -24 -26 -28 -31 -31 -31 -30 -29 -27 -27 -29 -29 -26 -21 -16 -14 -13 -14 -14 -15 -16 -17 -18 -18 -18 -17 -16 -16 -16 -17 -17 -18 -18 -18 -18 -17 -17 -17 -17 -18 -19 -21 -22 -21 -18 -16 -17 -19 -21 -24 -24 -24 -23 -22 -22 -23 -23 -22 -19 -16 -13 -11 -10 -10 -10 -10 -7 -3 3 7 9 8 5 1 -3 -7 -11 -13 -15 -16 -16 -16 -15 -15 -14 -14 -14 -14 -14 -14 -15 -15 -15 -16 -17 -18 -20 -21 -22 -22 -24 -26 -28 -32 -37 -41 -42 -39 -30 -18 -11 -9 -9 -10 -9 -9 -9 -9 -9 -9 -10 -10 -11 -12 -13 -13 -13 -12 -10 -7 -5 -4 -4 -6 -8 -10 -11 -11 -11 -11 -12 -14 -15 -16 -16 -17 -18 -17 -16 -16 -17 -18 -19 -20 -22 -21 -17 -15 -14 -13 -15 -17 -19 -20 -20 -21 -21 -22 -25 -25 -27 -29 -30 -31 -30 -28 -25 -20 -15 -12 -11 -12 -13 -14 -18 -26 -29 -31 -33 -34 -36 -40 -42 -42 -40 -38 -37 -35 -33 -32 -32 -31 -31 -31 -31 -30 -29 -28 -29 -30 -30 -29 -28 -29 -31 -29 -26 -24 -25 -27 -28 -28 -26 -25 -26 -27 -26 -25 -24 -23 -23 -23 -22 -21 -20 -20 -20 -21 -22 -18 -18 -15 -12 -11 -12 -13 -13 -12 -11 -11 -11 -11 -13 -13 -12 -14 -14 -14 -13 -10 -5 -2 -1 -2 -3 -1 -15 -16 -16 -16 -15 -13 -13 -14 -15 -15 -15 -16 -16 -16 -17 -18 -19 -19 -17 -15 -15 -16 -18 -19 -20 -18 -15 -13 -13 -12 -12 -12 -12 -13 -14 -15 -15 -16 -17 -17 -15 -13 -12 -14 -14 -14 -13 -13 -14 -14 -13 -13 -12 -11 -10 -10 -11 -11 -11 -11 -11 -11 -11 -9 -9 -10 -11 -13 -14 -16 -16 -16 -14 -12 -11 -11 -11 -11 -11 -12 -12 -11 -11 -11 -14 -15 -16 -18 -21 -24 -27 -28 -27 -26 -25 -27 -29 -27 -22 -20 -20 -20 -18 -13 -11 -10 -9 -9 -9 -8 -7 -8 -8 -7 -7 -7 -8 -8 -7 -8 -9 -9 -8 -7 -8 -8 -9 -9 -9 -9 -9 -9 -10 -10 -11 -12 -12 -13 -14 -16 -17 -18 -18 -18 -18 -21 -25 -27 -28 -30 -30 -30 -29 -27 -22 -20 -22 -27 -30 -25 -19 -15 -14 -15 -15 -16 -16 -17 -18 -18 -18 -17 -17 -16 -16 -16 -16 -17 -18 -18 -19 -19 -18 -18 -18 -18 -19 -21 -23 -22 -19 -17 -17 -18 -20 -23 -25 -25 -24 -23 -24 -26 -28 -30 -30 -25 -19 -15 -14 -14 -14 -14 -13 -12 -10 -5 -0 3 6 7 6 3 -0 -4 -7 -10 -11 -11 -11 -10 -11 -11 -12 -12 -13 -13 -14 -14 -15 -16 -17 -18 -20 -21 -23 -24 -25 -27 -30 -33 -38 -41 -42 -39 -30 -19 -12 -9 -8 -7 -7 -7 -8 -8 -8 -8 -8 -9 -10 -11 -11 -12 -12 -12 -10 -8 -6 -5 -5 -6 -7 -9 -10 -12 -15 -15 -17 -18 -20 -20 -20 -21 -23 -24 -23 -22 -22 -23 -23 -24 -25 -25 -24 -22 -21 -18 -18 -20 -21 -22 -23 -27 -28 -26 -25 -26 -28 -31 -32 -32 -31 -27 -23 -20 -16 -13 -11 -11 -12 -13 -17 -26 -30 -32 -33 -34 -36 -39 -42 -42 -40 -40 -38 -35 -32 -31 -31 -30 -29 -29 -29 -29 -28 -28 -29 -31 -31 -30 -30 -31 -32 -31 -29 -27 -27 -28 -29 -28 -27 -26 -26 -27 -26 -24 -23 -22 -23 -22 -21 -20 -20 -20 -20 -21 -23 -21 -18 -15 -14 -13 -12 -12 -12 -12 -12 -12 -11 -11 -12 -14 -13 -14 -15 -15 -13 -8 -4 -2 -1 -2 -3 -2 -14 -15 -16 -15 -14 -13 -12 -14 -14 -14 -14 -14 -15 -15 -16 -18 -18 -17 -17 -17 -17 -18 -20 -22 -21 -17 -12 -11 -11 -11 -12 -12 -13 -14 -14 -14 -14 -14 -14 -13 -13 -13 -13 -12 -11 -12 -12 -13 -12 -11 -10 -10 -9 -9 -9 -10 -11 -11 -11 -12 -12 -12 -12 -11 -10 -11 -11 -12 -13 -15 -16 -15 -14 -13 -12 -12 -12 -12 -12 -12 -12 -12 -11 -12 -13 -14 -15 -16 -19 -23 -27 -31 -33 -31 -28 -27 -27 -27 -23 -19 -18 -18 -17 -14 -11 -10 -9 -9 -10 -9 -9 -8 -8 -7 -7 -7 -7 -8 -8 -9 -9 -9 -7 -6 -7 -8 -9 -9 -8 -8 -8 -9 -10 -10 -11 -12 -13 -14 -14 -15 -16 -18 -18 -18 -17 -18 -19 -22 -26 -32 -33 -33 -31 -30 -26 -21 -19 -22 -26 -24 -19 -16 -15 -16 -17 -17 -18 -18 -18 -18 -18 -18 -18 -17 -16 -16 -16 -16 -17 -18 -19 -20 -19 -19 -19 -19 -20 -21 -23 -22 -20 -18 -17 -18 -20 -23 -25 -26 -26 -23 -22 -25 -29 -34 -37 -35 -30 -24 -19 -16 -14 -13 -14 -15 -16 -15 -12 -8 -4 -1 1 4 5 3 0 -3 -4 -5 -4 -4 -4 -5 -7 -8 -9 -10 -11 -13 -14 -15 -16 -18 -20 -22 -24 -25 -27 -29 -31 -33 -37 -39 -40 -36 -29 -19 -14 -10 -8 -6 -5 -5 -6 -6 -7 -7 -7 -8 -8 -9 -10 -10 -10 -10 -9 -9 -8 -7 -7 -7 -8 -9 -12 -16 -22 -25 -26 -27 -27 -28 -27 -27 -26 -26 -25 -23 -23 -24 -25 -24 -25 -26 -26 -26 -25 -25 -26 -26 -25 -24 -22 -26 -27 -26 -25 -26 -28 -31 -32 -30 -29 -25 -22 -19 -17 -15 -12 -11 -11 -13 -19 -26 -30 -32 -33 -33 -35 -38 -40 -41 -41 -41 -39 -37 -33 -32 -32 -32 -30 -29 -28 -28 -28 -29 -30 -32 -33 -33 -32 -32 -33 -32 -31 -31 -31 -31 -30 -29 -28 -27 -27 -26 -25 -24 -22 -22 -22 -22 -21 -20 -20 -21 -20 -21 -23 -24 -17 -13 -12 -14 -12 -10 -9 -10 -13 -13 -12 -12 -13 -13 -14 -15 -16 -16 -14 -7 -5 -3 -1 -2 -3 -3 -14 -15 -15 -15 -13 -12 -12 -13 -14 -13 -13 -13 -14 -15 -16 -17 -18 -16 -16 -16 -17 -17 -18 -17 -15 -13 -11 -11 -11 -11 -11 -12 -13 -14 -14 -14 -13 -12 -12 -12 -11 -11 -10 -8 -8 -9 -10 -9 -9 -9 -8 -8 -8 -8 -9 -10 -11 -11 -12 -12 -12 -13 -14 -13 -13 -12 -11 -11 -12 -14 -17 -17 -16 -15 -15 -15 -15 -15 -14 -14 -13 -13 -12 -12 -13 -14 -14 -15 -16 -20 -25 -31 -36 -37 -33 -29 -27 -26 -25 -20 -17 -16 -16 -14 -12 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -7 -8 -8 -9 -10 -10 -9 -8 -7 -6 -7 -8 -8 -7 -7 -7 -9 -10 -10 -10 -12 -13 -14 -16 -17 -17 -18 -19 -20 -18 -16 -17 -20 -23 -25 -28 -30 -33 -34 -32 -27 -22 -18 -18 -19 -19 -18 -17 -16 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -17 -17 -17 -17 -17 -18 -19 -20 -20 -20 -19 -20 -21 -22 -23 -23 -21 -19 -18 -18 -20 -22 -25 -27 -27 -25 -24 -25 -28 -34 -40 -42 -39 -32 -25 -19 -16 -14 -13 -14 -15 -17 -16 -15 -14 -13 -9 -5 -2 0 1 1 -0 -1 0 1 2 1 -0 -2 -3 -4 -6 -8 -11 -13 -15 -18 -21 -23 -25 -27 -28 -29 -30 -32 -34 -35 -35 -31 -24 -18 -15 -13 -10 -7 -5 -4 -4 -4 -4 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -10 -11 -11 -9 -10 -14 -17 -21 -26 -28 -29 -29 -29 -30 -30 -28 -28 -29 -28 -25 -24 -25 -25 -23 -25 -26 -27 -27 -26 -27 -25 -21 -17 -16 -17 -19 -20 -19 -19 -22 -24 -26 -27 -26 -26 -24 -22 -19 -17 -15 -14 -13 -14 -16 -22 -27 -30 -31 -32 -33 -35 -37 -39 -40 -41 -42 -41 -38 -35 -32 -35 -36 -35 -32 -31 -31 -32 -32 -32 -34 -34 -34 -34 -33 -32 -33 -33 -34 -33 -32 -31 -30 -29 -28 -28 -27 -26 -25 -23 -22 -22 -22 -22 -23 -24 -24 -23 -23 -24 -24 -17 -12 -12 -14 -13 -10 -9 -9 -13 -13 -13 -14 -15 -16 -17 -17 -17 -17 -16 -11 -10 -6 -1 -1 -1 -4 -15 -15 -15 -14 -12 -11 -12 -13 -14 -14 -14 -14 -15 -16 -15 -15 -17 -19 -16 -15 -14 -14 -14 -14 -13 -13 -12 -12 -12 -12 -12 -12 -14 -14 -13 -13 -13 -12 -11 -11 -11 -10 -9 -7 -7 -7 -7 -7 -6 -6 -7 -7 -8 -8 -9 -10 -11 -11 -12 -12 -13 -14 -15 -16 -15 -14 -12 -11 -12 -14 -17 -19 -19 -18 -18 -17 -17 -17 -17 -16 -14 -13 -13 -12 -12 -13 -13 -14 -15 -18 -22 -28 -34 -39 -38 -33 -29 -27 -26 -23 -18 -16 -16 -15 -13 -11 -10 -11 -11 -10 -10 -10 -9 -8 -8 -8 -8 -9 -10 -10 -10 -9 -9 -8 -7 -7 -6 -6 -5 -5 -6 -7 -8 -8 -9 -10 -12 -14 -16 -18 -19 -19 -18 -19 -19 -18 -16 -16 -18 -19 -23 -29 -36 -43 -44 -39 -31 -24 -20 -21 -21 -20 -18 -17 -18 -19 -19 -19 -20 -19 -19 -18 -18 -17 -18 -18 -19 -19 -19 -20 -20 -21 -21 -21 -20 -20 -22 -23 -25 -24 -22 -20 -18 -18 -19 -21 -24 -27 -28 -26 -24 -24 -25 -30 -36 -41 -42 -39 -32 -22 -18 -15 -14 -13 -13 -15 -16 -16 -15 -15 -14 -14 -12 -10 -6 -4 -3 -2 -0 1 3 3 3 3 2 2 0 -2 -6 -10 -13 -17 -20 -22 -25 -27 -28 -28 -28 -29 -29 -29 -27 -24 -19 -16 -15 -14 -12 -10 -7 -5 -3 -2 -2 -4 -5 -6 -7 -7 -6 -6 -6 -6 -8 -9 -11 -14 -17 -16 -16 -19 -22 -24 -27 -30 -31 -31 -30 -32 -31 -28 -28 -29 -28 -25 -23 -22 -22 -22 -24 -26 -28 -28 -28 -26 -20 -14 -11 -11 -13 -16 -18 -18 -17 -14 -13 -14 -19 -24 -25 -24 -22 -20 -18 -16 -15 -17 -19 -21 -25 -28 -31 -32 -33 -35 -36 -38 -40 -41 -42 -42 -42 -40 -36 -35 -39 -41 -39 -34 -35 -35 -36 -36 -35 -35 -35 -35 -34 -33 -32 -33 -34 -35 -34 -32 -31 -31 -30 -30 -29 -28 -27 -27 -26 -23 -21 -21 -22 -25 -25 -25 -25 -24 -26 -24 -18 -13 -13 -12 -13 -13 -12 -11 -13 -14 -15 -16 -17 -18 -18 -19 -19 -18 -18 -17 -15 -10 -2 -2 0 -3 -15 -16 -15 -13 -12 -11 -11 -13 -13 -13 -14 -15 -19 -22 -20 -18 -17 -19 -17 -15 -14 -14 -13 -12 -13 -13 -13 -14 -15 -15 -15 -14 -14 -14 -13 -13 -13 -13 -12 -12 -11 -10 -9 -8 -8 -8 -7 -6 -5 -5 -6 -7 -8 -8 -8 -9 -10 -11 -11 -11 -12 -14 -16 -18 -17 -16 -14 -13 -13 -14 -16 -18 -19 -19 -19 -18 -19 -19 -20 -18 -16 -14 -13 -12 -11 -11 -12 -13 -15 -17 -19 -24 -29 -36 -39 -37 -32 -28 -27 -25 -21 -17 -15 -16 -14 -12 -11 -11 -12 -12 -12 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -8 -6 -4 -4 -4 -4 -5 -6 -7 -8 -9 -10 -12 -14 -15 -16 -17 -18 -20 -20 -17 -14 -13 -15 -17 -21 -27 -34 -41 -43 -42 -37 -31 -24 -23 -23 -21 -19 -18 -20 -21 -21 -20 -20 -21 -21 -20 -19 -18 -18 -19 -20 -21 -22 -22 -23 -23 -23 -22 -21 -21 -22 -24 -25 -24 -22 -20 -19 -20 -20 -20 -22 -25 -26 -26 -24 -23 -24 -27 -31 -36 -39 -39 -35 -26 -21 -18 -15 -12 -12 -14 -15 -15 -14 -14 -14 -14 -14 -15 -15 -13 -11 -9 -7 -5 -2 0 1 2 2 3 3 2 -1 -5 -9 -13 -17 -19 -22 -23 -25 -25 -25 -25 -25 -23 -20 -17 -15 -15 -14 -14 -13 -12 -9 -7 -4 -2 -1 -2 -4 -5 -6 -6 -5 -5 -5 -6 -9 -12 -15 -19 -23 -24 -22 -21 -22 -24 -27 -30 -33 -33 -31 -31 -31 -30 -29 -28 -27 -26 -24 -22 -21 -21 -23 -25 -28 -30 -31 -25 -17 -11 -10 -9 -10 -12 -15 -18 -18 -16 -13 -12 -15 -20 -24 -25 -23 -21 -18 -16 -16 -19 -24 -24 -27 -30 -32 -33 -35 -36 -37 -38 -41 -42 -42 -42 -42 -41 -39 -38 -41 -42 -40 -37 -38 -39 -39 -38 -37 -36 -36 -36 -34 -32 -33 -33 -34 -35 -35 -34 -33 -32 -32 -31 -29 -28 -28 -28 -27 -24 -21 -20 -20 -23 -23 -23 -23 -24 -26 -25 -20 -16 -14 -11 -12 -13 -14 -14 -14 -15 -16 -17 -18 -18 -19 -19 -19 -19 -19 -18 -17 -13 -5 -3 1 -0 -15 -15 -15 -13 -11 -11 -11 -12 -13 -13 -14 -16 -20 -23 -23 -22 -20 -19 -17 -16 -16 -16 -14 -11 -11 -12 -13 -15 -18 -20 -19 -17 -14 -14 -14 -13 -13 -14 -13 -13 -13 -12 -11 -10 -10 -10 -9 -8 -6 -5 -5 -6 -7 -7 -7 -7 -8 -9 -9 -10 -11 -13 -16 -18 -18 -18 -17 -16 -16 -16 -16 -16 -17 -18 -17 -18 -19 -22 -23 -21 -17 -14 -12 -12 -11 -11 -12 -13 -14 -15 -17 -20 -24 -31 -37 -39 -37 -31 -29 -28 -24 -19 -15 -16 -16 -14 -12 -11 -12 -12 -13 -13 -12 -11 -11 -11 -10 -9 -8 -8 -8 -9 -9 -10 -10 -10 -8 -5 -4 -4 -4 -5 -5 -5 -6 -7 -8 -9 -10 -10 -12 -15 -19 -23 -21 -17 -14 -13 -14 -16 -20 -25 -31 -36 -38 -38 -37 -34 -30 -27 -25 -23 -21 -22 -24 -24 -23 -22 -21 -21 -21 -22 -22 -21 -19 -19 -20 -22 -23 -24 -25 -25 -26 -26 -25 -23 -22 -23 -23 -23 -21 -19 -18 -20 -21 -20 -20 -21 -24 -24 -23 -23 -24 -26 -29 -32 -34 -36 -36 -31 -26 -21 -17 -13 -12 -13 -15 -16 -15 -14 -13 -12 -13 -14 -15 -16 -16 -17 -16 -14 -10 -8 -6 -6 -5 -5 -4 -2 -1 -3 -7 -10 -13 -15 -16 -16 -16 -16 -17 -17 -17 -17 -15 -14 -14 -13 -13 -13 -12 -12 -10 -8 -6 -4 -3 -3 -3 -3 -4 -4 -4 -6 -7 -9 -13 -17 -21 -23 -24 -24 -23 -23 -23 -24 -25 -29 -32 -33 -30 -28 -26 -25 -24 -24 -23 -25 -25 -24 -23 -22 -22 -24 -28 -31 -32 -25 -17 -12 -10 -9 -9 -10 -12 -15 -18 -18 -16 -15 -15 -17 -21 -24 -24 -22 -19 -17 -17 -20 -26 -26 -28 -31 -34 -35 -36 -36 -36 -37 -38 -40 -40 -41 -42 -42 -40 -38 -37 -37 -37 -38 -41 -41 -40 -39 -38 -37 -37 -36 -34 -32 -33 -34 -34 -35 -36 -36 -36 -35 -33 -31 -29 -27 -28 -29 -27 -24 -21 -19 -19 -20 -18 -19 -20 -22 -25 -26 -23 -19 -17 -14 -13 -13 -14 -16 -17 -17 -17 -18 -19 -19 -19 -18 -17 -20 -19 -18 -17 -14 -7 -3 3 3 -16 -16 -15 -14 -12 -11 -12 -13 -13 -14 -15 -16 -18 -20 -21 -21 -20 -19 -18 -18 -17 -15 -12 -9 -8 -10 -12 -15 -20 -23 -23 -20 -17 -16 -15 -14 -14 -14 -14 -14 -14 -14 -14 -13 -12 -11 -11 -10 -7 -5 -4 -5 -6 -6 -5 -5 -5 -6 -7 -9 -10 -12 -14 -16 -18 -20 -21 -21 -20 -18 -16 -14 -13 -13 -13 -15 -18 -22 -24 -23 -19 -15 -11 -10 -9 -9 -10 -12 -13 -14 -15 -17 -19 -25 -33 -39 -40 -37 -30 -27 -24 -20 -16 -14 -16 -16 -14 -12 -12 -13 -13 -12 -12 -12 -13 -12 -12 -11 -9 -8 -8 -8 -9 -10 -11 -11 -9 -7 -5 -5 -5 -5 -4 -4 -4 -5 -6 -6 -5 -6 -9 -13 -18 -22 -21 -19 -17 -15 -14 -16 -19 -23 -27 -30 -30 -31 -32 -32 -32 -31 -28 -26 -25 -26 -27 -27 -26 -24 -21 -21 -22 -23 -23 -24 -21 -19 -18 -19 -21 -23 -23 -25 -27 -30 -31 -29 -26 -24 -22 -21 -20 -18 -16 -16 -18 -18 -17 -18 -20 -21 -21 -22 -23 -25 -27 -29 -30 -31 -34 -34 -30 -24 -19 -14 -12 -13 -15 -16 -17 -15 -13 -12 -12 -13 -14 -15 -17 -17 -17 -18 -18 -17 -16 -15 -14 -14 -14 -12 -9 -8 -9 -10 -10 -11 -9 -8 -7 -7 -8 -10 -12 -13 -14 -14 -13 -12 -12 -12 -11 -10 -10 -9 -8 -7 -6 -5 -4 -4 -4 -3 -5 -9 -14 -17 -19 -19 -21 -24 -24 -24 -25 -25 -24 -24 -24 -26 -27 -27 -24 -22 -19 -18 -20 -20 -20 -21 -23 -25 -24 -23 -23 -24 -27 -29 -28 -21 -16 -13 -12 -10 -9 -8 -9 -12 -15 -17 -19 -20 -21 -18 -20 -23 -25 -24 -20 -18 -19 -23 -28 -28 -29 -32 -35 -36 -35 -34 -34 -35 -36 -37 -38 -40 -41 -41 -37 -31 -29 -31 -36 -40 -42 -41 -40 -39 -38 -37 -37 -36 -35 -32 -33 -34 -35 -36 -37 -38 -38 -37 -35 -32 -30 -29 -29 -29 -27 -25 -23 -20 -19 -18 -17 -18 -20 -22 -24 -26 -26 -23 -20 -17 -15 -14 -14 -17 -18 -18 -19 -19 -20 -21 -20 -19 -18 -20 -19 -19 -18 -15 -5 -1 4 5 -16 -17 -16 -14 -12 -12 -13 -13 -13 -14 -16 -17 -18 -18 -19 -19 -20 -19 -19 -18 -15 -10 -7 -6 -6 -8 -12 -16 -20 -23 -23 -21 -19 -17 -15 -14 -14 -14 -14 -14 -14 -14 -16 -18 -16 -13 -10 -8 -6 -4 -3 -3 -3 -4 -4 -3 -3 -3 -5 -6 -8 -10 -11 -14 -17 -20 -23 -24 -23 -20 -16 -13 -10 -10 -10 -12 -14 -18 -21 -22 -21 -19 -14 -11 -9 -8 -9 -10 -12 -14 -14 -15 -16 -21 -28 -35 -40 -39 -31 -25 -22 -20 -17 -14 -14 -15 -14 -12 -10 -11 -12 -11 -11 -11 -12 -12 -12 -11 -11 -10 -9 -9 -9 -10 -11 -10 -9 -8 -8 -8 -7 -6 -5 -4 -5 -6 -6 -5 -3 -3 -5 -9 -13 -18 -19 -19 -18 -17 -15 -16 -19 -22 -23 -23 -23 -23 -23 -25 -29 -30 -29 -28 -28 -30 -30 -29 -27 -24 -21 -20 -21 -23 -24 -25 -23 -21 -18 -17 -18 -19 -20 -21 -22 -26 -32 -33 -31 -28 -25 -24 -22 -19 -16 -13 -13 -13 -13 -13 -16 -19 -20 -21 -22 -24 -26 -27 -27 -26 -28 -33 -33 -29 -23 -18 -15 -14 -15 -16 -17 -16 -14 -13 -12 -12 -14 -15 -17 -18 -18 -19 -20 -20 -19 -18 -16 -16 -16 -17 -18 -17 -15 -14 -13 -11 -7 -5 -4 -4 -6 -8 -11 -12 -13 -13 -13 -13 -12 -11 -10 -9 -9 -9 -9 -9 -9 -8 -8 -9 -8 -8 -10 -13 -18 -21 -22 -23 -23 -25 -25 -26 -26 -26 -25 -24 -24 -24 -23 -20 -16 -15 -15 -17 -19 -20 -19 -20 -22 -25 -25 -25 -24 -25 -26 -27 -24 -20 -18 -18 -16 -13 -10 -9 -8 -9 -12 -15 -18 -23 -28 -24 -22 -23 -27 -29 -25 -23 -24 -28 -32 -32 -32 -34 -36 -35 -33 -32 -32 -34 -36 -36 -37 -39 -41 -40 -35 -31 -31 -34 -40 -42 -42 -41 -40 -39 -39 -38 -38 -38 -36 -34 -34 -34 -35 -35 -37 -38 -39 -39 -38 -35 -32 -31 -30 -29 -27 -26 -24 -23 -22 -22 -21 -20 -20 -22 -24 -26 -27 -26 -23 -20 -17 -15 -15 -17 -19 -20 -20 -20 -21 -21 -21 -21 -20 -20 -19 -19 -18 -17 -10 -6 -3 1 -17 -17 -16 -14 -13 -13 -13 -13 -13 -15 -17 -19 -20 -21 -21 -21 -21 -20 -18 -16 -12 -7 -5 -4 -5 -8 -13 -18 -20 -22 -21 -20 -17 -17 -16 -16 -16 -17 -18 -18 -17 -15 -13 -13 -13 -13 -12 -10 -8 -5 -4 -3 -3 -3 -2 -2 -2 -3 -4 -5 -7 -9 -11 -13 -16 -20 -23 -25 -23 -20 -17 -14 -11 -9 -9 -10 -11 -14 -17 -20 -21 -21 -18 -15 -11 -9 -8 -9 -12 -13 -13 -13 -15 -18 -23 -30 -37 -38 -32 -24 -21 -20 -20 -17 -15 -13 -13 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -10 -10 -10 -11 -11 -10 -9 -10 -11 -11 -9 -6 -5 -6 -7 -7 -5 -2 -1 -2 -4 -8 -11 -15 -17 -16 -15 -15 -18 -21 -22 -20 -18 -17 -17 -17 -18 -21 -24 -26 -27 -29 -32 -32 -30 -28 -24 -20 -19 -20 -22 -24 -25 -25 -24 -22 -19 -16 -17 -18 -19 -18 -19 -24 -28 -30 -29 -28 -26 -25 -23 -20 -16 -13 -10 -9 -9 -12 -17 -20 -23 -25 -25 -26 -28 -27 -25 -24 -28 -31 -32 -29 -25 -19 -16 -14 -15 -16 -16 -15 -14 -12 -12 -13 -15 -16 -18 -19 -20 -22 -23 -25 -25 -23 -18 -16 -16 -18 -19 -20 -20 -19 -16 -11 -9 -9 -9 -10 -12 -14 -16 -16 -14 -15 -16 -15 -13 -11 -10 -10 -11 -12 -12 -11 -12 -14 -16 -16 -15 -15 -16 -19 -21 -23 -25 -26 -26 -26 -27 -26 -26 -25 -25 -25 -24 -21 -17 -13 -14 -15 -18 -21 -23 -22 -23 -25 -26 -26 -26 -26 -26 -26 -27 -26 -25 -25 -27 -25 -19 -14 -11 -9 -8 -9 -12 -16 -22 -30 -29 -28 -28 -33 -37 -34 -31 -30 -32 -35 -37 -37 -36 -35 -34 -32 -31 -31 -33 -34 -34 -34 -35 -38 -40 -38 -37 -37 -38 -41 -42 -42 -41 -40 -40 -40 -40 -39 -39 -38 -36 -36 -36 -36 -36 -38 -40 -41 -43 -42 -38 -35 -32 -31 -29 -28 -27 -27 -26 -26 -25 -25 -24 -23 -23 -25 -25 -26 -28 -26 -22 -19 -16 -16 -17 -19 -20 -21 -21 -21 -21 -21 -21 -21 -20 -19 -19 -19 -19 -16 -14 -11 -7 -17 -17 -16 -14 -13 -12 -12 -12 -13 -14 -17 -21 -25 -27 -26 -25 -22 -19 -14 -11 -8 -7 -5 -6 -7 -9 -13 -17 -17 -17 -17 -17 -16 -16 -17 -17 -18 -20 -22 -24 -23 -20 -17 -13 -12 -13 -13 -11 -9 -7 -5 -4 -3 -3 -2 -2 -2 -2 -4 -5 -6 -8 -10 -11 -14 -17 -21 -22 -22 -20 -17 -15 -12 -10 -8 -8 -9 -11 -13 -17 -19 -21 -20 -18 -14 -11 -9 -8 -10 -11 -12 -12 -13 -15 -19 -26 -33 -37 -34 -25 -20 -20 -22 -22 -18 -15 -13 -12 -11 -9 -9 -9 -9 -8 -8 -8 -9 -11 -12 -12 -12 -12 -11 -11 -12 -11 -11 -10 -10 -11 -11 -10 -10 -8 -8 -8 -8 -8 -5 -3 -3 -4 -6 -9 -12 -15 -15 -15 -16 -19 -22 -23 -22 -19 -18 -17 -17 -16 -17 -19 -20 -22 -24 -27 -29 -29 -27 -24 -22 -20 -19 -20 -23 -25 -26 -26 -24 -22 -17 -16 -18 -19 -18 -16 -18 -20 -23 -24 -25 -24 -24 -23 -22 -19 -15 -12 -10 -11 -14 -19 -23 -26 -28 -27 -28 -30 -30 -28 -23 -23 -27 -31 -33 -32 -25 -18 -15 -14 -16 -16 -16 -15 -14 -13 -14 -14 -15 -17 -18 -21 -23 -26 -30 -31 -28 -22 -18 -15 -16 -18 -19 -19 -19 -18 -18 -17 -17 -17 -16 -16 -17 -18 -19 -18 -19 -20 -19 -17 -17 -16 -16 -17 -18 -19 -19 -19 -19 -17 -17 -16 -17 -18 -19 -20 -22 -24 -26 -28 -28 -28 -28 -27 -27 -26 -26 -25 -24 -21 -14 -14 -18 -23 -28 -29 -27 -29 -30 -29 -27 -27 -27 -27 -26 -27 -28 -29 -29 -30 -29 -26 -21 -17 -13 -10 -9 -10 -13 -19 -28 -32 -33 -34 -37 -41 -40 -37 -35 -35 -35 -35 -34 -33 -33 -33 -33 -33 -33 -33 -31 -30 -29 -31 -34 -37 -39 -40 -39 -39 -40 -41 -42 -41 -41 -41 -41 -41 -40 -39 -39 -39 -39 -39 -39 -39 -40 -41 -42 -44 -43 -40 -37 -34 -32 -30 -29 -29 -30 -30 -29 -28 -27 -27 -27 -27 -28 -28 -27 -28 -27 -25 -22 -18 -17 -18 -19 -20 -21 -22 -21 -21 -20 -21 -20 -20 -20 -19 -19 -18 -18 -17 -15 -12 -17 -16 -15 -14 -13 -11 -10 -10 -12 -14 -17 -21 -26 -30 -27 -22 -17 -13 -11 -9 -8 -9 -10 -12 -12 -11 -13 -15 -17 -16 -15 -15 -15 -15 -16 -17 -18 -19 -22 -24 -23 -20 -18 -17 -15 -13 -13 -12 -11 -8 -6 -4 -3 -2 -3 -3 -3 -4 -5 -5 -7 -8 -9 -10 -12 -15 -17 -19 -20 -19 -17 -15 -13 -11 -9 -8 -8 -9 -11 -14 -17 -19 -20 -19 -16 -13 -10 -9 -9 -10 -11 -11 -11 -13 -16 -22 -29 -35 -35 -28 -22 -19 -20 -22 -20 -17 -14 -13 -13 -10 -8 -7 -7 -7 -7 -7 -8 -9 -11 -12 -12 -12 -11 -12 -12 -12 -12 -11 -11 -10 -10 -11 -12 -13 -12 -11 -9 -8 -7 -5 -5 -5 -6 -8 -9 -10 -11 -13 -15 -18 -21 -22 -21 -20 -20 -20 -20 -20 -19 -18 -17 -17 -17 -18 -20 -21 -22 -24 -24 -22 -20 -19 -20 -22 -23 -24 -24 -23 -20 -18 -18 -20 -21 -20 -19 -18 -18 -18 -20 -21 -21 -21 -21 -20 -18 -14 -11 -9 -11 -16 -22 -26 -29 -30 -30 -32 -33 -31 -25 -22 -25 -30 -35 -37 -31 -23 -16 -14 -15 -15 -16 -16 -15 -15 -15 -15 -14 -15 -17 -20 -23 -28 -33 -37 -35 -31 -24 -18 -16 -16 -17 -18 -18 -19 -19 -19 -20 -20 -18 -16 -16 -17 -19 -21 -22 -22 -22 -21 -20 -19 -19 -20 -20 -20 -20 -20 -20 -18 -17 -17 -18 -19 -19 -19 -21 -23 -26 -28 -29 -29 -28 -28 -28 -27 -26 -26 -26 -24 -18 -18 -22 -27 -29 -30 -32 -34 -34 -32 -28 -28 -28 -28 -27 -27 -28 -30 -31 -32 -31 -30 -28 -25 -22 -17 -14 -12 -12 -17 -24 -31 -35 -36 -38 -40 -41 -41 -39 -37 -35 -33 -31 -30 -30 -30 -32 -34 -35 -34 -30 -26 -26 -28 -31 -34 -38 -40 -41 -40 -39 -40 -42 -43 -43 -41 -40 -40 -39 -38 -39 -40 -41 -42 -42 -42 -41 -40 -42 -44 -44 -42 -39 -35 -32 -30 -30 -31 -33 -33 -33 -31 -30 -29 -28 -29 -31 -31 -31 -29 -29 -27 -24 -20 -18 -18 -19 -20 -21 -22 -22 -20 -19 -21 -21 -20 -20 -19 -19 -18 -18 -17 -16 -14 -16 -16 -14 -13 -12 -11 -10 -12 -14 -15 -17 -21 -24 -26 -24 -20 -16 -13 -14 -14 -12 -11 -12 -13 -14 -14 -14 -14 -15 -15 -14 -13 -14 -15 -15 -16 -16 -17 -18 -20 -21 -21 -20 -20 -16 -14 -13 -13 -11 -9 -7 -5 -4 -3 -3 -4 -4 -5 -5 -6 -7 -8 -9 -9 -11 -13 -15 -17 -17 -17 -16 -15 -13 -12 -10 -9 -8 -9 -11 -12 -14 -16 -18 -18 -17 -15 -13 -10 -9 -9 -10 -11 -10 -12 -15 -19 -25 -32 -35 -30 -24 -20 -18 -19 -20 -18 -15 -13 -13 -12 -10 -8 -7 -7 -7 -7 -7 -8 -9 -10 -11 -10 -10 -10 -12 -13 -12 -12 -13 -12 -11 -12 -14 -17 -18 -15 -13 -11 -10 -8 -7 -7 -7 -7 -8 -9 -10 -12 -15 -17 -18 -18 -18 -19 -19 -20 -20 -20 -19 -19 -18 -16 -14 -13 -13 -14 -17 -21 -25 -23 -20 -18 -19 -19 -21 -23 -24 -24 -23 -21 -20 -21 -23 -26 -25 -23 -19 -16 -16 -18 -18 -18 -18 -19 -18 -16 -13 -10 -9 -12 -18 -24 -28 -30 -31 -32 -33 -32 -28 -25 -25 -29 -34 -39 -36 -27 -19 -14 -14 -15 -15 -16 -17 -18 -17 -15 -14 -13 -15 -17 -21 -26 -32 -39 -41 -39 -32 -24 -19 -17 -17 -17 -18 -18 -19 -21 -23 -25 -22 -19 -17 -16 -17 -20 -21 -21 -21 -21 -18 -18 -19 -21 -21 -22 -21 -20 -19 -19 -18 -18 -18 -19 -19 -19 -20 -22 -25 -28 -28 -28 -27 -24 -24 -23 -23 -25 -27 -26 -24 -24 -27 -29 -30 -31 -32 -34 -36 -34 -29 -28 -29 -29 -29 -28 -29 -30 -32 -34 -33 -32 -31 -30 -27 -25 -23 -20 -19 -24 -28 -33 -34 -35 -37 -39 -41 -41 -39 -38 -35 -32 -30 -30 -31 -31 -32 -34 -36 -37 -32 -27 -25 -27 -31 -34 -38 -40 -41 -40 -37 -39 -42 -44 -43 -42 -42 -41 -41 -39 -39 -41 -42 -44 -44 -43 -41 -40 -40 -42 -43 -43 -41 -38 -34 -33 -33 -34 -36 -37 -36 -35 -33 -31 -28 -27 -28 -31 -32 -31 -30 -28 -25 -22 -19 -19 -19 -20 -21 -22 -22 -22 -21 -22 -21 -21 -21 -20 -18 -18 -17 -16 -15 -14 -16 -14 -12 -10 -9 -9 -10 -13 -14 -15 -17 -20 -22 -24 -22 -18 -16 -15 -16 -16 -14 -13 -12 -13 -14 -14 -14 -13 -14 -13 -13 -13 -14 -15 -15 -14 -14 -15 -15 -15 -16 -18 -19 -19 -16 -13 -12 -12 -12 -10 -8 -6 -5 -4 -4 -4 -5 -5 -5 -5 -7 -8 -8 -8 -10 -11 -13 -15 -16 -16 -15 -14 -12 -12 -11 -10 -9 -9 -10 -12 -13 -15 -16 -17 -17 -17 -15 -12 -9 -8 -8 -9 -10 -11 -14 -18 -23 -29 -33 -32 -27 -22 -17 -16 -17 -17 -15 -13 -12 -13 -13 -11 -9 -8 -9 -9 -8 -7 -7 -7 -8 -8 -8 -8 -10 -12 -13 -14 -16 -16 -15 -14 -16 -20 -21 -20 -18 -15 -14 -11 -10 -9 -9 -8 -8 -10 -11 -12 -13 -14 -15 -15 -15 -16 -17 -17 -18 -19 -20 -20 -19 -18 -16 -15 -15 -14 -15 -17 -19 -20 -18 -16 -15 -16 -19 -21 -24 -25 -25 -25 -24 -23 -25 -29 -31 -29 -25 -18 -16 -16 -16 -16 -15 -16 -16 -15 -14 -12 -10 -10 -13 -17 -23 -28 -31 -32 -33 -31 -27 -24 -25 -28 -33 -37 -36 -31 -23 -16 -15 -15 -15 -16 -18 -20 -19 -17 -14 -13 -14 -15 -18 -22 -29 -36 -42 -43 -39 -30 -23 -19 -18 -17 -16 -16 -18 -21 -23 -24 -24 -22 -20 -18 -17 -17 -17 -17 -17 -18 -15 -15 -16 -20 -23 -25 -24 -21 -19 -19 -20 -19 -19 -20 -20 -20 -20 -21 -23 -24 -23 -24 -22 -17 -16 -17 -19 -24 -28 -29 -28 -29 -29 -29 -30 -31 -33 -34 -35 -32 -29 -28 -29 -30 -30 -30 -30 -31 -33 -35 -35 -34 -33 -32 -29 -28 -27 -25 -24 -25 -27 -29 -31 -34 -38 -39 -39 -38 -37 -36 -34 -32 -31 -31 -34 -33 -34 -35 -37 -35 -30 -26 -25 -27 -30 -35 -38 -39 -38 -40 -39 -39 -41 -43 -44 -44 -43 -43 -44 -41 -42 -43 -43 -45 -45 -44 -42 -40 -39 -40 -41 -41 -41 -40 -38 -36 -36 -37 -38 -38 -38 -38 -36 -34 -29 -27 -28 -32 -34 -33 -32 -31 -28 -24 -21 -20 -20 -20 -21 -23 -23 -23 -24 -23 -23 -23 -21 -17 -15 -15 -15 -15 -14 -13 -13 -11 -8 -7 -7 -9 -10 -12 -14 -15 -17 -19 -21 -22 -21 -20 -18 -17 -17 -16 -14 -13 -12 -13 -13 -13 -13 -13 -12 -12 -13 -14 -14 -15 -15 -14 -13 -13 -13 -11 -11 -12 -14 -15 -13 -12 -11 -11 -10 -9 -8 -7 -6 -5 -5 -5 -6 -6 -6 -6 -7 -7 -8 -7 -7 -9 -11 -13 -15 -15 -15 -14 -12 -11 -11 -10 -10 -10 -11 -12 -13 -15 -16 -17 -17 -17 -17 -15 -12 -9 -7 -7 -7 -8 -12 -16 -22 -28 -32 -31 -27 -23 -19 -15 -15 -15 -14 -12 -12 -14 -15 -15 -12 -10 -10 -10 -9 -7 -6 -6 -5 -6 -7 -8 -9 -11 -14 -17 -20 -21 -19 -18 -18 -20 -22 -22 -21 -19 -17 -14 -12 -11 -11 -9 -9 -10 -13 -14 -14 -14 -13 -12 -12 -13 -14 -15 -16 -17 -19 -21 -21 -21 -19 -18 -17 -16 -16 -16 -17 -18 -18 -16 -15 -15 -16 -18 -21 -23 -25 -27 -27 -27 -27 -29 -31 -32 -30 -23 -17 -16 -16 -15 -13 -12 -12 -12 -13 -14 -14 -12 -11 -13 -17 -23 -28 -31 -33 -32 -28 -23 -21 -23 -28 -32 -34 -32 -26 -20 -18 -17 -17 -16 -17 -20 -20 -19 -16 -15 -14 -14 -15 -18 -24 -32 -39 -43 -43 -36 -28 -23 -20 -17 -16 -16 -17 -19 -21 -21 -20 -20 -22 -23 -21 -17 -13 -11 -12 -14 -13 -13 -13 -17 -23 -27 -26 -22 -18 -18 -22 -22 -20 -20 -20 -20 -21 -21 -22 -23 -20 -19 -17 -16 -16 -19 -22 -26 -30 -30 -30 -30 -30 -30 -31 -32 -33 -34 -35 -32 -30 -29 -30 -30 -30 -31 -32 -33 -34 -34 -34 -34 -33 -32 -30 -29 -29 -28 -26 -25 -26 -27 -29 -32 -34 -35 -35 -34 -34 -35 -36 -35 -34 -34 -36 -36 -36 -37 -36 -32 -27 -24 -24 -26 -30 -34 -35 -32 -32 -40 -42 -41 -39 -41 -44 -45 -46 -46 -46 -44 -44 -44 -44 -44 -44 -44 -42 -41 -39 -38 -35 -35 -38 -42 -41 -40 -39 -40 -40 -39 -39 -39 -38 -36 -33 -31 -32 -34 -35 -35 -35 -33 -31 -27 -24 -22 -21 -21 -22 -23 -24 -24 -25 -25 -24 -23 -18 -11 -10 -9 -9 -11 -13 -13 -11 -9 -7 -7 -7 -9 -10 -11 -13 -15 -17 -19 -20 -21 -21 -21 -20 -19 -18 -16 -15 -14 -13 -13 -14 -13 -13 -12 -11 -11 -12 -13 -14 -15 -15 -14 -13 -12 -11 -10 -10 -11 -10 -11 -10 -9 -9 -9 -8 -8 -7 -6 -6 -6 -7 -7 -8 -8 -7 -7 -7 -7 -7 -6 -6 -8 -10 -12 -13 -14 -15 -14 -12 -12 -12 -12 -12 -13 -13 -13 -13 -14 -15 -16 -17 -17 -17 -16 -15 -12 -11 -9 -8 -6 -7 -11 -18 -26 -31 -31 -30 -26 -21 -15 -14 -14 -14 -13 -13 -13 -14 -14 -14 -13 -12 -11 -10 -8 -7 -6 -6 -6 -8 -9 -9 -9 -12 -17 -22 -24 -23 -22 -21 -21 -20 -20 -20 -19 -16 -13 -12 -11 -11 -9 -9 -10 -13 -14 -14 -14 -13 -12 -11 -12 -12 -13 -14 -15 -17 -20 -22 -23 -21 -19 -17 -17 -17 -16 -16 -16 -16 -16 -16 -15 -15 -16 -17 -19 -22 -24 -27 -29 -31 -31 -31 -31 -31 -28 -20 -17 -16 -16 -13 -10 -9 -9 -9 -12 -15 -16 -14 -13 -13 -18 -23 -29 -32 -35 -32 -25 -19 -18 -22 -26 -28 -28 -27 -24 -22 -20 -17 -15 -15 -18 -19 -19 -18 -18 -17 -15 -14 -15 -19 -26 -33 -39 -42 -40 -34 -28 -23 -20 -18 -17 -16 -17 -17 -14 -14 -16 -19 -22 -23 -22 -20 -18 -15 -13 -12 -12 -12 -14 -21 -26 -26 -23 -20 -19 -23 -24 -22 -21 -21 -21 -21 -22 -22 -24 -23 -20 -17 -16 -17 -23 -28 -30 -31 -32 -32 -32 -33 -33 -33 -33 -33 -33 -32 -31 -30 -30 -30 -30 -30 -31 -31 -32 -33 -32 -31 -30 -30 -30 -30 -30 -29 -28 -27 -26 -26 -27 -28 -29 -30 -31 -31 -32 -33 -37 -41 -41 -39 -37 -37 -38 -38 -37 -34 -29 -25 -23 -23 -25 -29 -32 -30 -25 -28 -39 -43 -42 -38 -40 -44 -46 -48 -48 -47 -46 -46 -46 -45 -45 -45 -44 -42 -41 -39 -35 -30 -28 -33 -42 -44 -42 -41 -43 -42 -41 -40 -39 -39 -37 -35 -34 -35 -36 -37 -37 -37 -35 -33 -29 -25 -23 -21 -22 -23 -23 -24 -25 -25 -25 -25 -21 -14 -10 -9 -8 -9 -11 -13 -12 -10 -9 -8 -7 -8 -9 -10 -11 -13 -15 -17 -18 -19 -19 -20 -20 -20 -20 -19 -18 -17 -16 -16 -16 -15 -14 -12 -11 -11 -11 -12 -13 -14 -15 -16 -16 -15 -12 -12 -13 -12 -11 -9 -10 -9 -8 -8 -7 -7 -6 -5 -4 -4 -6 -7 -7 -7 -7 -6 -6 -6 -6 -5 -4 -5 -7 -8 -10 -11 -13 -14 -14 -13 -13 -13 -14 -15 -16 -16 -15 -14 -13 -13 -14 -15 -15 -16 -16 -16 -14 -13 -11 -9 -7 -6 -7 -11 -17 -24 -28 -29 -27 -23 -18 -15 -14 -14 -12 -11 -11 -12 -13 -15 -15 -13 -11 -9 -8 -7 -7 -7 -8 -10 -11 -12 -12 -12 -15 -21 -24 -25 -25 -24 -21 -17 -16 -17 -18 -17 -13 -10 -9 -9 -8 -8 -9 -11 -12 -14 -15 -15 -13 -12 -12 -12 -12 -12 -12 -14 -17 -21 -22 -21 -18 -17 -17 -17 -17 -16 -15 -16 -16 -16 -16 -16 -15 -15 -15 -17 -20 -24 -28 -31 -32 -31 -30 -30 -29 -23 -18 -17 -17 -16 -13 -10 -8 -6 -7 -13 -16 -17 -14 -11 -14 -19 -25 -30 -34 -35 -29 -21 -16 -16 -18 -20 -23 -26 -28 -26 -22 -17 -15 -15 -16 -17 -18 -19 -20 -20 -19 -18 -16 -17 -20 -24 -29 -34 -37 -36 -32 -29 -25 -21 -18 -17 -16 -15 -13 -13 -14 -17 -20 -24 -26 -25 -22 -20 -18 -14 -12 -13 -16 -23 -27 -27 -26 -26 -25 -26 -26 -25 -23 -22 -22 -22 -23 -23 -25 -24 -20 -17 -17 -18 -20 -25 -30 -33 -34 -35 -35 -35 -36 -35 -34 -33 -32 -30 -30 -30 -30 -30 -30 -29 -30 -31 -31 -32 -31 -30 -29 -28 -29 -29 -29 -29 -29 -28 -27 -26 -26 -26 -27 -27 -28 -30 -31 -34 -39 -42 -43 -43 -40 -39 -38 -37 -36 -32 -28 -24 -23 -23 -25 -29 -32 -31 -27 -29 -37 -41 -41 -38 -41 -44 -48 -49 -48 -47 -47 -47 -47 -46 -46 -46 -45 -44 -43 -41 -37 -30 -27 -31 -41 -45 -45 -44 -44 -43 -42 -41 -41 -40 -39 -38 -37 -37 -38 -38 -39 -39 -37 -35 -31 -26 -23 -22 -22 -22 -23 -24 -25 -24 -24 -23 -20 -12 -10 -10 -9 -10 -12 -13 -12 -10 -9 -8 -8 -9 -10 -11 -12 -13 -15 -16 -16 -16 -17 -18 -18 -19 -19 -19 -18 -18 -18 -18 -17 -17 -16 -14 -12 -12 -12 -13 -13 -13 -14 -15 -16 -17 -18 -19 -17 -13 -11 -10 -11 -10 -9 -8 -6 -5 -5 -4 -3 -3 -4 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -6 -6 -7 -8 -10 -12 -13 -14 -14 -14 -15 -16 -18 -19 -19 -17 -15 -13 -12 -12 -13 -13 -14 -15 -15 -15 -14 -13 -12 -10 -8 -7 -8 -11 -16 -21 -24 -24 -21 -19 -17 -16 -14 -12 -9 -8 -9 -10 -13 -13 -13 -11 -9 -8 -7 -7 -8 -9 -11 -12 -12 -12 -14 -17 -23 -26 -28 -28 -26 -21 -16 -14 -13 -15 -16 -14 -11 -9 -9 -8 -7 -8 -10 -11 -13 -15 -16 -15 -14 -13 -12 -11 -11 -11 -11 -14 -17 -19 -19 -17 -16 -17 -18 -18 -17 -16 -16 -17 -17 -17 -17 -16 -15 -14 -14 -16 -20 -25 -29 -30 -30 -30 -31 -30 -26 -20 -17 -17 -18 -17 -13 -9 -5 -4 -9 -12 -14 -12 -10 -11 -14 -19 -25 -30 -32 -30 -26 -20 -16 -14 -14 -17 -23 -28 -28 -23 -18 -15 -15 -15 -16 -17 -18 -20 -21 -22 -23 -23 -21 -21 -20 -20 -22 -27 -31 -33 -33 -31 -25 -20 -18 -17 -15 -14 -14 -15 -16 -19 -24 -27 -29 -27 -25 -21 -16 -14 -15 -19 -24 -28 -29 -30 -32 -32 -32 -31 -30 -28 -25 -23 -23 -24 -25 -25 -22 -19 -18 -20 -23 -25 -27 -30 -33 -36 -37 -37 -37 -38 -38 -36 -34 -32 -30 -30 -30 -31 -31 -30 -29 -29 -30 -32 -32 -32 -31 -30 -29 -28 -28 -28 -29 -29 -28 -27 -26 -25 -24 -25 -26 -27 -29 -32 -35 -36 -36 -37 -42 -42 -41 -38 -36 -33 -30 -26 -24 -23 -24 -25 -29 -32 -34 -32 -33 -37 -40 -41 -40 -42 -45 -48 -49 -47 -47 -47 -47 -47 -46 -46 -45 -45 -44 -44 -43 -38 -33 -29 -32 -40 -45 -47 -46 -45 -43 -43 -43 -43 -42 -41 -41 -40 -41 -40 -40 -40 -40 -40 -37 -32 -28 -24 -24 -23 -23 -23 -24 -24 -20 -20 -20 -19 -13 -11 -11 -10 -10 -12 -14 -12 -10 -10 -10 -10 -10 -11 -11 -12 -14 -16 -16 -15 -14 -15 -15 -16 -17 -19 -18 -17 -16 -16 -15 -15 -16 -16 -16 -15 -15 -15 -14 -14 -13 -13 -15 -17 -19 -20 -18 -14 -12 -10 -10 -11 -11 -10 -8 -5 -4 -4 -3 -3 -3 -3 -4 -5 -5 -5 -5 -6 -5 -5 -5 -6 -7 -7 -7 -8 -10 -11 -12 -13 -14 -15 -16 -18 -20 -21 -20 -18 -16 -14 -12 -12 -12 -12 -12 -12 -13 -14 -14 -14 -14 -14 -13 -12 -11 -11 -13 -15 -17 -18 -18 -17 -16 -16 -15 -13 -10 -8 -7 -8 -9 -9 -10 -10 -9 -7 -6 -7 -8 -10 -12 -12 -12 -14 -16 -21 -26 -29 -31 -30 -26 -19 -15 -13 -12 -13 -15 -14 -11 -8 -7 -8 -8 -9 -10 -11 -12 -13 -15 -16 -16 -14 -12 -10 -10 -10 -11 -12 -13 -15 -17 -17 -16 -17 -18 -20 -18 -17 -16 -16 -17 -18 -18 -18 -17 -15 -14 -14 -16 -20 -25 -28 -29 -30 -32 -32 -29 -22 -17 -15 -17 -18 -16 -12 -7 -5 -7 -8 -10 -10 -9 -8 -11 -15 -20 -24 -27 -28 -28 -26 -21 -16 -14 -14 -17 -22 -24 -22 -19 -17 -16 -16 -16 -17 -17 -19 -21 -24 -27 -28 -28 -27 -25 -23 -21 -20 -22 -26 -30 -32 -29 -24 -20 -16 -12 -12 -13 -15 -16 -19 -21 -25 -28 -29 -29 -24 -18 -15 -16 -20 -23 -26 -29 -33 -38 -39 -38 -37 -36 -34 -30 -27 -25 -26 -27 -26 -23 -22 -22 -24 -27 -28 -29 -30 -33 -35 -37 -38 -38 -38 -39 -38 -37 -34 -33 -32 -33 -33 -33 -31 -30 -29 -30 -32 -33 -33 -32 -31 -30 -29 -28 -28 -29 -28 -28 -27 -27 -26 -24 -24 -25 -27 -31 -33 -35 -34 -34 -35 -41 -43 -42 -40 -36 -30 -27 -24 -24 -24 -24 -26 -29 -32 -35 -34 -34 -35 -37 -38 -40 -43 -48 -50 -49 -47 -47 -46 -46 -46 -45 -44 -44 -43 -43 -45 -44 -41 -38 -35 -37 -42 -46 -48 -48 -46 -45 -45 -45 -44 -44 -43 -43 -43 -43 -42 -42 -42 -42 -42 -40 -35 -31 -27 -25 -24 -24 -23 -23 -22 -20 -20 -19 -17 -14 -12 -11 -11 -10 -12 -14 -13 -11 -11 -12 -12 -12 -12 -12 -13 -15 -16 -16 -15 -14 -14 -14 -15 -17 -19 -19 -18 -17 -16 -15 -15 -16 -16 -16 -16 -16 -17 -17 -16 -16 -16 -15 -15 -14 -14 -13 -10 -7 -7 -8 -10 -9 -8 -6 -5 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -7 -8 -9 -9 -10 -11 -13 -15 -17 -19 -20 -21 -20 -18 -16 -14 -13 -12 -12 -11 -11 -10 -11 -12 -12 -13 -14 -15 -17 -18 -18 -18 -16 -14 -14 -15 -15 -14 -13 -14 -15 -15 -12 -10 -8 -7 -7 -6 -7 -8 -8 -7 -5 -5 -7 -10 -12 -14 -15 -16 -19 -23 -27 -29 -30 -29 -25 -19 -16 -14 -12 -12 -13 -13 -11 -8 -6 -6 -7 -8 -10 -11 -11 -12 -13 -15 -16 -16 -14 -12 -10 -10 -10 -10 -10 -11 -15 -17 -17 -17 -18 -19 -19 -18 -17 -16 -16 -17 -18 -18 -19 -18 -16 -15 -15 -17 -21 -25 -28 -30 -33 -35 -33 -27 -19 -13 -13 -16 -16 -14 -11 -9 -7 -7 -8 -9 -10 -8 -8 -11 -15 -19 -22 -23 -24 -25 -24 -23 -20 -16 -13 -15 -18 -19 -19 -18 -18 -18 -17 -17 -18 -19 -21 -24 -27 -30 -31 -32 -31 -30 -29 -26 -24 -25 -26 -29 -30 -27 -23 -18 -14 -13 -13 -15 -16 -18 -17 -18 -21 -25 -28 -25 -19 -16 -17 -21 -22 -25 -29 -35 -39 -41 -41 -40 -38 -39 -36 -32 -28 -27 -29 -29 -30 -30 -29 -28 -30 -30 -30 -30 -32 -34 -36 -37 -38 -38 -38 -39 -40 -38 -36 -35 -35 -35 -35 -32 -31 -30 -30 -31 -32 -32 -32 -32 -31 -30 -30 -30 -30 -29 -28 -28 -29 -28 -25 -23 -24 -27 -32 -33 -33 -35 -38 -40 -41 -42 -42 -40 -36 -29 -26 -24 -24 -24 -24 -26 -29 -32 -34 -33 -33 -33 -33 -33 -36 -41 -47 -50 -49 -48 -48 -46 -44 -44 -44 -43 -42 -42 -43 -45 -45 -43 -40 -37 -37 -40 -44 -47 -48 -47 -47 -47 -46 -46 -46 -46 -46 -46 -46 -45 -45 -44 -43 -43 -43 -39 -35 -30 -27 -25 -24 -23 -23 -22 -21 -20 -19 -17 -15 -13 -12 -11 -11 -11 -12 -12 -11 -12 -13 -13 -12 -13 -14 -15 -15 -14 -13 -13 -13 -14 -15 -17 -18 -19 -18 -17 -16 -15 -15 -15 -17 -17 -17 -16 -15 -16 -15 -15 -15 -15 -13 -11 -9 -8 -8 -6 -5 -5 -6 -7 -6 -5 -5 -5 -3 -2 -2 -2 -3 -4 -4 -4 -5 -5 -6 -6 -6 -5 -5 -6 -6 -7 -7 -7 -6 -7 -8 -10 -11 -14 -17 -19 -21 -21 -20 -17 -15 -14 -12 -12 -12 -11 -10 -9 -9 -10 -10 -11 -12 -14 -18 -22 -26 -27 -23 -19 -16 -14 -13 -11 -11 -11 -12 -13 -12 -11 -10 -9 -8 -7 -6 -7 -7 -7 -5 -4 -6 -9 -13 -16 -18 -19 -21 -23 -25 -26 -26 -25 -23 -19 -17 -15 -15 -14 -14 -14 -12 -9 -6 -5 -6 -7 -9 -10 -11 -11 -12 -13 -15 -15 -15 -14 -13 -12 -11 -10 -8 -8 -9 -13 -15 -17 -18 -20 -21 -20 -19 -17 -17 -17 -17 -18 -18 -20 -20 -18 -16 -15 -18 -22 -26 -29 -33 -38 -40 -35 -26 -14 -10 -12 -13 -13 -12 -12 -10 -8 -8 -9 -10 -9 -8 -9 -12 -15 -17 -18 -20 -21 -24 -27 -27 -24 -17 -13 -14 -15 -17 -19 -20 -20 -20 -20 -20 -22 -24 -25 -27 -28 -28 -30 -33 -35 -36 -34 -31 -27 -25 -25 -26 -25 -23 -19 -16 -15 -15 -15 -16 -14 -11 -11 -13 -18 -22 -21 -18 -17 -19 -21 -22 -24 -28 -31 -33 -35 -36 -37 -37 -39 -39 -36 -32 -29 -29 -30 -32 -34 -34 -32 -32 -31 -31 -30 -31 -33 -35 -37 -38 -38 -39 -41 -42 -41 -38 -36 -35 -35 -35 -33 -31 -30 -29 -29 -29 -30 -31 -32 -32 -31 -31 -31 -31 -29 -28 -29 -29 -28 -26 -24 -24 -26 -30 -31 -31 -36 -41 -43 -41 -41 -42 -40 -35 -29 -26 -25 -25 -25 -25 -26 -28 -30 -32 -30 -31 -32 -31 -30 -33 -37 -42 -47 -49 -48 -48 -46 -44 -44 -45 -44 -42 -41 -42 -44 -44 -43 -41 -39 -37 -38 -41 -45 -48 -48 -48 -48 -47 -48 -48 -48 -48 -48 -49 -49 -47 -46 -45 -43 -44 -43 -40 -35 -31 -28 -25 -24 -24 -23 -22 -21 -20 -18 -16 -14 -13 -12 -11 -10 -10 -10 -12 -12 -13 -14 -13 -13 -13 -14 -14 -13 -13 -13 -14 -15 -17 -18 -18 -17 -17 -16 -15 -15 -15 -17 -20 -20 -18 -16 -15 -15 -14 -14 -14 -13 -11 -9 -6 -5 -5 -5 -6 -7 -7 -6 -5 -5 -5 -5 -3 -2 -2 -2 -2 -2 -3 -4 -5 -6 -7 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -4 -5 -7 -9 -12 -16 -19 -21 -22 -21 -19 -16 -14 -12 -11 -11 -11 -11 -9 -9 -9 -8 -9 -10 -12 -17 -23 -29 -33 -30 -24 -20 -17 -15 -13 -11 -10 -8 -8 -8 -9 -10 -11 -11 -10 -8 -7 -6 -6 -5 -4 -6 -9 -13 -17 -20 -22 -22 -22 -23 -23 -22 -21 -19 -17 -16 -16 -17 -17 -17 -16 -14 -11 -7 -5 -5 -6 -7 -9 -10 -11 -11 -12 -13 -14 -14 -15 -15 -15 -14 -12 -10 -7 -6 -8 -10 -13 -15 -17 -20 -21 -21 -20 -18 -18 -18 -18 -19 -20 -22 -22 -20 -17 -16 -19 -23 -28 -33 -40 -45 -43 -34 -20 -11 -10 -10 -10 -11 -13 -13 -11 -9 -8 -9 -9 -8 -9 -11 -13 -15 -17 -20 -22 -24 -28 -31 -31 -25 -17 -13 -13 -16 -19 -21 -23 -24 -24 -25 -27 -28 -29 -29 -27 -24 -25 -29 -33 -36 -35 -32 -28 -24 -22 -22 -22 -21 -18 -16 -16 -16 -16 -16 -15 -12 -10 -10 -12 -15 -15 -16 -18 -22 -22 -22 -24 -26 -27 -28 -30 -32 -33 -35 -38 -39 -37 -35 -33 -31 -32 -34 -37 -37 -34 -32 -31 -31 -31 -32 -33 -34 -36 -38 -39 -40 -42 -43 -43 -41 -38 -35 -34 -33 -32 -31 -30 -29 -28 -28 -29 -30 -31 -31 -31 -31 -31 -30 -29 -28 -29 -29 -27 -25 -25 -25 -26 -28 -30 -31 -36 -40 -40 -39 -41 -42 -41 -36 -30 -28 -27 -27 -26 -26 -26 -26 -27 -27 -29 -31 -32 -31 -28 -30 -33 -38 -42 -46 -45 -44 -44 -43 -43 -44 -44 -43 -42 -43 -44 -44 -43 -41 -39 -36 -35 -37 -42 -46 -48 -49 -49 -49 -49 -50 -51 -51 -52 -52 -50 -48 -47 -48 -46 -45 -43 -41 -39 -36 -32 -29 -26 -26 -25 -23 -21 -20 -16 -16 -15 -13 -12 -12 -11 -9 -8 -12 -12 -13 -13 -13 -13 -12 -12 -12 -12 -12 -13 -14 -15 -16 -16 -16 -15 -15 -15 -15 -15 -16 -19 -22 -22 -20 -18 -17 -17 -16 -16 -15 -14 -13 -11 -8 -5 -5 -5 -6 -9 -10 -9 -5 -4 -4 -4 -3 -2 -1 -1 -1 -1 -1 -3 -4 -5 -6 -7 -7 -7 -7 -7 -5 -5 -4 -4 -3 -3 -4 -6 -8 -10 -14 -17 -20 -22 -23 -23 -20 -16 -13 -11 -10 -10 -10 -10 -9 -8 -7 -7 -9 -10 -13 -18 -25 -32 -33 -29 -25 -22 -21 -17 -13 -10 -7 -5 -4 -5 -6 -9 -12 -14 -13 -10 -7 -5 -5 -5 -6 -8 -11 -15 -19 -22 -23 -23 -25 -25 -23 -21 -18 -16 -16 -17 -18 -19 -19 -18 -16 -14 -11 -8 -6 -6 -6 -7 -8 -9 -10 -11 -11 -11 -13 -14 -15 -15 -16 -16 -14 -11 -7 -7 -7 -9 -11 -14 -17 -20 -22 -22 -21 -19 -19 -19 -19 -20 -20 -21 -22 -22 -21 -20 -21 -26 -33 -41 -47 -46 -38 -26 -14 -10 -8 -8 -9 -12 -14 -13 -11 -9 -9 -9 -9 -10 -11 -11 -13 -16 -19 -22 -24 -27 -31 -33 -32 -24 -18 -14 -15 -18 -22 -25 -28 -30 -31 -32 -32 -32 -33 -31 -27 -25 -25 -27 -28 -28 -27 -26 -24 -21 -20 -20 -19 -18 -17 -17 -17 -17 -17 -17 -17 -17 -18 -18 -17 -15 -15 -17 -22 -21 -22 -24 -26 -27 -28 -28 -29 -31 -34 -36 -37 -37 -38 -37 -35 -34 -34 -34 -35 -35 -33 -31 -31 -32 -33 -33 -33 -35 -37 -39 -40 -40 -41 -42 -41 -38 -35 -32 -31 -31 -31 -30 -29 -29 -28 -28 -28 -29 -30 -31 -31 -30 -29 -28 -28 -28 -28 -27 -26 -26 -26 -27 -28 -32 -35 -38 -39 -37 -37 -40 -42 -42 -39 -34 -32 -31 -30 -30 -29 -29 -29 -28 -29 -32 -34 -34 -32 -28 -29 -31 -35 -39 -41 -40 -40 -41 -42 -44 -46 -46 -45 -45 -45 -45 -45 -44 -41 -39 -37 -35 -34 -38 -43 -47 -49 -49 -50 -49 -51 -54 -57 -57 -55 -50 -46 -44 -45 -44 -44 -42 -39 -37 -37 -36 -33 -29 -28 -27 -25 -22 -19 -15 -15 -15 -13 -12 -11 -11 -10 -7 -12 -13 -13 -13 -14 -13 -12 -11 -11 -12 -12 -13 -14 -14 -15 -15 -15 -14 -14 -14 -14 -15 -17 -19 -21 -22 -21 -20 -20 -20 -19 -17 -16 -14 -14 -13 -11 -8 -6 -7 -7 -8 -9 -8 -5 -4 -4 -4 -3 -2 -2 -1 -0 -0 -0 -1 -2 -3 -4 -6 -6 -7 -7 -7 -6 -5 -5 -5 -4 -4 -4 -6 -7 -9 -11 -14 -17 -20 -23 -24 -23 -20 -16 -13 -11 -10 -10 -10 -10 -10 -9 -8 -8 -9 -10 -14 -19 -26 -30 -30 -29 -27 -25 -21 -16 -12 -8 -5 -3 -3 -4 -7 -10 -13 -14 -13 -10 -8 -7 -6 -6 -6 -9 -13 -17 -20 -22 -25 -28 -29 -28 -25 -22 -20 -19 -18 -17 -17 -18 -18 -16 -14 -13 -12 -9 -7 -5 -5 -6 -7 -8 -9 -9 -10 -11 -12 -14 -15 -17 -19 -19 -16 -12 -9 -7 -7 -8 -10 -13 -17 -20 -22 -22 -21 -20 -20 -20 -19 -18 -18 -20 -22 -24 -23 -23 -25 -32 -40 -45 -45 -39 -29 -18 -12 -9 -8 -8 -10 -13 -14 -13 -12 -10 -9 -10 -11 -11 -11 -12 -14 -17 -20 -23 -26 -30 -33 -35 -32 -26 -20 -17 -17 -21 -26 -29 -32 -34 -34 -34 -34 -34 -34 -31 -27 -24 -23 -23 -23 -23 -23 -23 -22 -21 -20 -19 -18 -18 -19 -19 -19 -18 -17 -17 -18 -20 -21 -21 -19 -18 -19 -21 -21 -21 -23 -26 -27 -28 -28 -29 -30 -33 -35 -36 -38 -40 -40 -39 -36 -35 -34 -33 -34 -34 -34 -34 -34 -33 -33 -34 -35 -37 -39 -39 -38 -37 -38 -39 -38 -36 -33 -31 -30 -30 -30 -29 -29 -28 -28 -28 -28 -28 -29 -30 -30 -29 -29 -28 -28 -28 -27 -27 -27 -28 -29 -30 -32 -35 -37 -38 -37 -37 -39 -41 -43 -42 -39 -36 -34 -33 -33 -32 -31 -32 -32 -32 -34 -35 -35 -32 -28 -28 -30 -33 -36 -38 -38 -38 -39 -42 -46 -46 -45 -44 -44 -45 -46 -46 -46 -43 -40 -39 -37 -34 -34 -39 -45 -48 -48 -50 -52 -56 -60 -63 -62 -59 -52 -45 -40 -40 -41 -42 -42 -40 -36 -35 -34 -34 -32 -30 -29 -26 -22 -18 -15 -14 -14 -14 -13 -11 -11 -10 -8 -13 -13 -14 -14 -15 -14 -12 -11 -11 -12 -12 -13 -14 -14 -15 -15 -15 -15 -15 -15 -15 -17 -18 -19 -20 -20 -20 -19 -19 -18 -17 -15 -14 -13 -13 -14 -15 -15 -12 -9 -8 -8 -8 -5 -3 -4 -4 -4 -4 -4 -3 -1 -0 1 1 0 -0 -2 -3 -5 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -6 -8 -9 -11 -12 -14 -16 -20 -23 -23 -22 -19 -15 -12 -11 -10 -10 -10 -11 -12 -12 -11 -11 -11 -12 -15 -21 -27 -29 -30 -30 -30 -27 -21 -14 -9 -6 -3 -3 -4 -6 -8 -11 -13 -12 -10 -8 -8 -8 -7 -6 -6 -9 -13 -17 -21 -24 -27 -27 -27 -25 -25 -27 -27 -23 -18 -14 -13 -12 -11 -10 -11 -13 -12 -9 -6 -6 -5 -5 -6 -6 -8 -9 -10 -12 -13 -14 -17 -20 -22 -22 -17 -13 -10 -8 -7 -8 -11 -14 -18 -20 -21 -20 -20 -20 -21 -20 -19 -17 -17 -19 -23 -24 -25 -26 -31 -36 -41 -42 -38 -30 -19 -12 -8 -7 -7 -8 -9 -12 -13 -13 -13 -12 -11 -11 -11 -10 -11 -13 -15 -18 -20 -23 -26 -31 -35 -36 -33 -28 -23 -21 -23 -26 -29 -31 -32 -32 -32 -32 -32 -33 -32 -29 -25 -22 -21 -21 -21 -22 -23 -23 -22 -21 -19 -18 -20 -21 -22 -21 -19 -18 -17 -18 -19 -21 -24 -25 -24 -21 -19 -19 -21 -23 -25 -27 -27 -28 -28 -30 -32 -33 -34 -36 -40 -43 -42 -40 -37 -35 -32 -32 -34 -36 -36 -36 -36 -36 -36 -37 -36 -36 -36 -37 -36 -36 -36 -37 -36 -36 -33 -31 -30 -29 -29 -29 -29 -29 -29 -28 -27 -27 -28 -29 -29 -29 -28 -28 -28 -28 -29 -29 -30 -31 -34 -34 -34 -35 -36 -38 -40 -41 -41 -42 -42 -41 -40 -37 -36 -35 -34 -33 -34 -35 -33 -33 -33 -33 -31 -29 -29 -30 -31 -33 -37 -38 -39 -40 -43 -45 -44 -42 -42 -41 -42 -43 -44 -45 -44 -42 -41 -40 -37 -32 -35 -40 -45 -49 -54 -56 -59 -62 -64 -63 -60 -54 -46 -40 -39 -39 -41 -41 -41 -38 -35 -33 -32 -33 -31 -28 -26 -24 -20 -17 -15 -14 -15 -14 -12 -11 -10 -9 -14 -14 -14 -15 -15 -13 -12 -11 -12 -12 -13 -14 -14 -14 -14 -15 -16 -17 -17 -17 -18 -19 -19 -19 -19 -19 -18 -17 -15 -14 -13 -13 -13 -13 -12 -13 -14 -15 -13 -11 -9 -7 -6 -4 -4 -4 -5 -5 -5 -5 -4 -3 -2 -1 0 0 -0 -1 -3 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -7 -8 -9 -10 -11 -12 -14 -17 -20 -21 -21 -20 -17 -14 -12 -11 -11 -11 -13 -14 -14 -14 -13 -13 -13 -14 -17 -22 -25 -29 -32 -33 -31 -25 -17 -10 -7 -5 -4 -4 -6 -8 -9 -10 -10 -7 -5 -6 -9 -10 -11 -9 -8 -9 -12 -17 -23 -26 -26 -24 -24 -25 -28 -29 -26 -20 -15 -13 -12 -11 -10 -9 -11 -11 -9 -6 -6 -6 -5 -5 -6 -7 -8 -10 -12 -14 -14 -16 -19 -22 -24 -22 -17 -13 -11 -9 -8 -9 -12 -15 -18 -18 -18 -18 -18 -20 -22 -21 -19 -17 -16 -19 -21 -24 -27 -29 -30 -33 -35 -35 -30 -21 -14 -9 -7 -7 -7 -8 -10 -11 -12 -13 -13 -12 -11 -12 -12 -12 -13 -14 -17 -17 -18 -21 -26 -31 -34 -36 -34 -30 -27 -28 -29 -31 -32 -32 -31 -30 -30 -30 -30 -31 -30 -27 -23 -21 -20 -20 -22 -24 -24 -24 -23 -22 -20 -21 -23 -23 -23 -21 -19 -18 -17 -17 -19 -23 -27 -27 -23 -20 -20 -21 -23 -25 -26 -27 -27 -27 -28 -28 -28 -29 -32 -38 -44 -44 -43 -40 -37 -33 -32 -33 -35 -34 -34 -35 -34 -32 -30 -30 -31 -33 -35 -35 -34 -34 -34 -35 -36 -34 -32 -31 -30 -30 -29 -30 -30 -30 -29 -27 -26 -26 -27 -28 -29 -29 -29 -29 -29 -30 -31 -32 -34 -37 -36 -36 -37 -37 -40 -42 -42 -40 -40 -40 -41 -42 -41 -41 -38 -36 -35 -36 -36 -33 -32 -32 -32 -32 -32 -31 -31 -32 -33 -36 -38 -39 -41 -44 -43 -42 -41 -41 -39 -40 -41 -41 -43 -43 -43 -42 -41 -41 -33 -31 -34 -42 -51 -56 -59 -60 -62 -63 -63 -61 -56 -48 -41 -40 -40 -40 -40 -40 -38 -36 -33 -31 -31 -30 -28 -25 -23 -20 -18 -17 -16 -16 -16 -15 -13 -11 -11 -14 -14 -14 -14 -13 -12 -12 -12 -13 -13 -14 -14 -14 -14 -15 -16 -17 -18 -19 -20 -21 -21 -20 -20 -19 -18 -17 -15 -13 -12 -13 -14 -14 -13 -11 -11 -12 -12 -12 -11 -9 -7 -5 -4 -4 -5 -5 -6 -6 -6 -5 -4 -4 -3 -2 -1 -1 -2 -2 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -6 -8 -9 -9 -9 -10 -11 -13 -16 -18 -19 -19 -18 -17 -15 -13 -12 -11 -12 -14 -15 -15 -15 -14 -14 -13 -14 -15 -19 -22 -26 -30 -33 -32 -27 -20 -13 -9 -7 -5 -5 -7 -9 -9 -9 -8 -6 -4 -4 -7 -11 -14 -14 -11 -9 -10 -13 -20 -23 -23 -23 -23 -24 -24 -24 -22 -20 -17 -16 -15 -13 -10 -9 -9 -8 -7 -5 -5 -6 -6 -5 -5 -6 -9 -12 -14 -17 -17 -17 -16 -17 -20 -22 -19 -16 -13 -12 -11 -10 -11 -13 -16 -16 -15 -14 -15 -17 -19 -21 -21 -19 -17 -16 -18 -22 -26 -29 -27 -26 -27 -28 -28 -23 -17 -11 -7 -7 -7 -8 -9 -10 -11 -12 -12 -12 -11 -12 -13 -13 -12 -12 -14 -16 -17 -19 -22 -26 -30 -33 -36 -37 -35 -35 -35 -35 -35 -34 -32 -31 -29 -29 -29 -30 -30 -29 -26 -23 -21 -20 -21 -25 -27 -29 -30 -29 -25 -24 -24 -23 -22 -20 -19 -19 -18 -17 -17 -21 -25 -27 -25 -22 -22 -23 -24 -25 -25 -25 -25 -26 -28 -29 -29 -29 -31 -37 -43 -44 -43 -42 -41 -37 -34 -33 -33 -31 -32 -34 -34 -31 -28 -28 -29 -31 -35 -36 -35 -33 -33 -33 -33 -34 -33 -32 -31 -30 -30 -30 -31 -31 -30 -27 -26 -25 -26 -27 -29 -30 -29 -28 -29 -31 -32 -34 -36 -38 -38 -38 -40 -40 -41 -42 -41 -39 -38 -39 -39 -40 -42 -42 -39 -38 -37 -38 -37 -34 -33 -33 -33 -34 -34 -33 -32 -33 -35 -35 -36 -37 -41 -44 -43 -42 -41 -41 -39 -39 -40 -40 -41 -41 -39 -37 -38 -42 -38 -32 -31 -40 -50 -55 -58 -60 -61 -62 -62 -61 -57 -50 -43 -41 -40 -39 -39 -38 -37 -36 -34 -31 -30 -28 -27 -25 -23 -21 -20 -18 -18 -18 -19 -18 -16 -14 -13 -15 -15 -14 -13 -12 -12 -13 -13 -14 -14 -14 -15 -15 -15 -16 -17 -18 -19 -20 -21 -21 -21 -20 -19 -18 -17 -16 -15 -14 -13 -14 -14 -14 -12 -11 -10 -10 -10 -10 -10 -8 -6 -5 -4 -3 -4 -5 -6 -6 -6 -6 -5 -5 -4 -3 -3 -3 -2 -2 -3 -4 -5 -5 -4 -4 -4 -4 -3 -4 -5 -6 -7 -9 -9 -10 -11 -13 -14 -16 -17 -16 -16 -16 -16 -15 -13 -12 -11 -12 -13 -15 -16 -16 -14 -13 -12 -12 -14 -19 -22 -24 -26 -29 -30 -28 -23 -17 -12 -9 -7 -6 -7 -9 -9 -9 -8 -6 -4 -3 -5 -8 -12 -15 -15 -13 -11 -11 -15 -18 -20 -21 -22 -22 -20 -17 -15 -16 -17 -16 -16 -15 -13 -10 -9 -8 -7 -5 -5 -6 -5 -5 -4 -6 -10 -14 -18 -20 -21 -19 -16 -14 -14 -17 -17 -15 -13 -12 -12 -12 -12 -13 -15 -15 -14 -13 -12 -13 -14 -17 -20 -21 -19 -17 -17 -20 -26 -30 -27 -23 -20 -21 -22 -22 -19 -14 -9 -7 -7 -8 -9 -10 -10 -11 -11 -11 -10 -11 -13 -13 -13 -13 -16 -20 -23 -23 -23 -26 -29 -33 -36 -40 -41 -40 -40 -40 -38 -37 -35 -32 -30 -30 -31 -32 -31 -30 -28 -26 -23 -22 -22 -25 -29 -33 -36 -37 -35 -32 -30 -27 -23 -20 -19 -20 -20 -20 -17 -18 -22 -25 -25 -25 -26 -26 -26 -25 -24 -24 -24 -24 -27 -29 -30 -31 -32 -37 -41 -41 -40 -42 -45 -42 -38 -35 -32 -30 -30 -32 -34 -32 -30 -31 -32 -32 -34 -36 -36 -35 -33 -33 -33 -34 -35 -34 -31 -31 -31 -30 -30 -31 -31 -29 -27 -26 -27 -28 -30 -29 -27 -27 -29 -31 -33 -35 -37 -40 -41 -42 -43 -43 -42 -42 -41 -39 -39 -38 -37 -36 -36 -38 -39 -40 -39 -38 -35 -33 -33 -34 -34 -35 -35 -33 -32 -35 -38 -39 -38 -38 -42 -45 -45 -44 -42 -41 -40 -39 -39 -39 -40 -38 -33 -29 -30 -35 -37 -35 -32 -33 -43 -50 -55 -59 -60 -60 -60 -59 -58 -53 -45 -41 -39 -38 -37 -36 -35 -34 -33 -31 -29 -27 -26 -25 -23 -23 -22 -22 -21 -21 -21 -21 -20 -17 -16 -15 -15 -14 -13 -12 -13 -13 -14 -14 -14 -15 -16 -16 -17 -18 -18 -19 -20 -20 -21 -21 -20 -20 -19 -18 -17 -17 -16 -15 -15 -15 -14 -13 -12 -10 -10 -9 -9 -8 -8 -6 -5 -4 -3 -3 -3 -4 -5 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -3 -4 -4 -4 -3 -3 -3 -3 -3 -4 -5 -6 -8 -10 -12 -13 -15 -16 -18 -17 -15 -14 -14 -14 -14 -13 -11 -10 -12 -14 -16 -17 -17 -16 -13 -10 -10 -12 -17 -20 -21 -21 -23 -25 -26 -25 -21 -16 -12 -10 -8 -7 -8 -9 -10 -10 -9 -7 -5 -4 -4 -7 -11 -14 -13 -12 -10 -12 -15 -18 -20 -21 -21 -18 -14 -12 -11 -12 -13 -14 -14 -14 -12 -11 -10 -8 -7 -7 -7 -6 -5 -4 -6 -10 -15 -19 -22 -23 -22 -20 -16 -12 -11 -11 -11 -11 -11 -11 -11 -11 -12 -13 -14 -14 -13 -12 -10 -10 -13 -17 -20 -20 -19 -19 -21 -27 -32 -30 -24 -18 -16 -17 -19 -19 -16 -10 -7 -7 -8 -9 -10 -12 -12 -11 -9 -8 -8 -9 -11 -13 -15 -19 -23 -25 -25 -22 -23 -26 -30 -35 -37 -39 -41 -42 -41 -40 -38 -36 -34 -32 -32 -33 -34 -34 -33 -32 -30 -27 -25 -25 -25 -28 -33 -38 -42 -43 -42 -39 -34 -27 -22 -20 -21 -24 -25 -21 -17 -18 -21 -23 -25 -27 -28 -28 -27 -24 -22 -22 -23 -25 -27 -29 -31 -33 -35 -35 -35 -37 -40 -43 -42 -40 -37 -34 -32 -31 -32 -34 -35 -35 -38 -38 -35 -33 -35 -37 -37 -35 -33 -32 -34 -35 -34 -31 -31 -30 -30 -30 -31 -32 -30 -28 -27 -27 -29 -29 -27 -25 -26 -29 -32 -34 -35 -38 -42 -45 -45 -45 -44 -44 -43 -42 -40 -40 -39 -38 -36 -35 -37 -38 -39 -39 -37 -35 -33 -33 -35 -35 -36 -35 -35 -34 -36 -40 -41 -40 -40 -41 -43 -45 -46 -44 -42 -41 -40 -39 -38 -38 -36 -30 -24 -24 -26 -27 -30 -32 -28 -32 -41 -49 -55 -57 -58 -57 -57 -57 -53 -47 -41 -37 -35 -34 -34 -33 -32 -31 -29 -28 -27 -27 -26 -25 -25 -25 -24 -23 -22 -22 -22 -22 -20 -19 -15 -15 -14 -13 -13 -13 -14 -14 -14 -15 -16 -17 -17 -18 -19 -19 -20 -20 -20 -21 -21 -20 -19 -19 -18 -18 -18 -17 -17 -15 -14 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -3 -3 -3 -5 -6 -6 -7 -8 -9 -8 -7 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -2 -3 -3 -4 -4 -4 -4 -5 -7 -9 -11 -13 -14 -16 -18 -18 -16 -14 -13 -13 -14 -13 -11 -10 -10 -13 -17 -19 -19 -18 -14 -10 -8 -8 -12 -15 -17 -18 -19 -22 -25 -26 -25 -20 -15 -12 -9 -7 -6 -8 -9 -10 -10 -10 -8 -6 -5 -4 -5 -8 -9 -9 -8 -10 -13 -16 -18 -19 -20 -20 -17 -14 -10 -8 -8 -10 -12 -13 -12 -11 -10 -10 -9 -8 -8 -7 -6 -5 -7 -9 -14 -18 -22 -23 -24 -24 -22 -17 -12 -9 -9 -9 -9 -9 -10 -11 -11 -11 -12 -13 -14 -13 -11 -9 -10 -14 -18 -20 -20 -20 -22 -28 -35 -34 -28 -21 -16 -15 -16 -16 -14 -10 -8 -7 -8 -9 -12 -13 -13 -11 -8 -5 -4 -6 -8 -12 -17 -21 -24 -25 -25 -23 -22 -24 -27 -31 -34 -36 -38 -39 -39 -38 -37 -37 -37 -35 -34 -34 -35 -36 -37 -35 -33 -31 -29 -27 -25 -27 -32 -37 -42 -46 -47 -45 -40 -32 -26 -23 -24 -26 -29 -26 -21 -18 -17 -17 -19 -24 -27 -29 -28 -25 -23 -21 -21 -23 -25 -28 -30 -33 -34 -33 -32 -33 -36 -41 -41 -40 -37 -35 -34 -33 -33 -35 -35 -39 -39 -38 -35 -31 -33 -36 -38 -36 -33 -32 -33 -34 -33 -31 -31 -30 -29 -29 -30 -31 -31 -28 -26 -26 -28 -27 -26 -24 -25 -28 -33 -38 -38 -39 -44 -46 -46 -46 -45 -46 -45 -43 -40 -40 -39 -38 -37 -36 -37 -37 -37 -36 -35 -34 -33 -32 -33 -35 -37 -38 -37 -36 -37 -39 -40 -41 -41 -41 -42 -43 -45 -46 -44 -43 -42 -40 -37 -36 -35 -30 -22 -22 -22 -21 -22 -26 -29 -29 -32 -39 -47 -52 -54 -55 -55 -55 -52 -47 -41 -35 -31 -31 -31 -31 -31 -29 -27 -27 -28 -30 -30 -29 -28 -27 -25 -24 -24 -23 -23 -23 -22 -20 -16 -15 -15 -14 -14 -14 -14 -14 -15 -16 -17 -18 -18 -19 -20 -20 -21 -21 -21 -21 -21 -20 -19 -19 -20 -21 -21 -20 -18 -16 -14 -13 -12 -12 -11 -10 -10 -9 -8 -6 -4 -4 -4 -4 -3 -4 -5 -6 -7 -9 -12 -14 -14 -12 -9 -7 -6 -5 -5 -5 -5 -4 -3 -2 -2 -2 -3 -4 -5 -5 -5 -5 -6 -7 -9 -11 -12 -14 -15 -16 -15 -13 -11 -9 -11 -12 -12 -10 -9 -13 -16 -19 -20 -22 -19 -15 -10 -8 -8 -9 -11 -14 -17 -20 -24 -27 -27 -23 -17 -13 -11 -9 -7 -6 -6 -6 -8 -10 -11 -10 -9 -8 -6 -5 -3 -4 -6 -9 -11 -14 -16 -17 -19 -20 -21 -19 -15 -9 -6 -8 -10 -12 -12 -11 -10 -9 -9 -9 -8 -8 -8 -7 -7 -9 -11 -15 -19 -20 -22 -24 -25 -23 -17 -12 -10 -8 -7 -8 -9 -11 -11 -11 -12 -12 -12 -11 -11 -10 -10 -12 -15 -17 -19 -21 -24 -28 -34 -34 -29 -22 -16 -16 -15 -14 -12 -9 -8 -7 -8 -10 -13 -14 -14 -11 -8 -4 -3 -3 -6 -10 -15 -19 -22 -24 -25 -24 -24 -25 -27 -29 -30 -31 -33 -35 -37 -37 -37 -38 -39 -40 -38 -37 -37 -37 -38 -37 -36 -34 -31 -28 -26 -27 -31 -35 -39 -43 -45 -45 -42 -36 -31 -27 -25 -25 -28 -26 -22 -20 -19 -18 -18 -20 -24 -27 -28 -27 -24 -22 -21 -22 -24 -27 -29 -31 -32 -32 -31 -30 -31 -35 -38 -39 -39 -37 -34 -32 -32 -33 -35 -38 -35 -31 -30 -29 -29 -33 -36 -37 -34 -33 -33 -33 -31 -30 -29 -28 -28 -28 -28 -29 -29 -28 -25 -25 -26 -26 -25 -24 -25 -28 -33 -39 -41 -42 -45 -46 -44 -44 -45 -45 -45 -43 -41 -39 -38 -37 -37 -37 -37 -36 -35 -34 -33 -33 -32 -31 -32 -33 -35 -38 -40 -39 -37 -37 -38 -40 -41 -40 -41 -43 -44 -45 -45 -45 -44 -41 -37 -36 -34 -29 -21 -20 -20 -19 -19 -21 -28 -29 -29 -32 -37 -44 -48 -51 -52 -51 -49 -45 -40 -34 -29 -27 -27 -29 -31 -31 -30 -30 -32 -33 -34 -32 -31 -29 -27 -26 -24 -24 -24 -24 -23 -22 -16 -15 -15 -14 -14 -15 -15 -15 -15 -16 -17 -18 -19 -20 -20 -21 -21 -21 -21 -21 -21 -19 -18 -18 -19 -22 -23 -23 -22 -18 -13 -11 -11 -11 -10 -9 -9 -9 -9 -6 -3 -3 -4 -5 -3 -3 -5 -7 -8 -10 -15 -19 -22 -20 -15 -10 -7 -5 -5 -5 -5 -4 -3 -2 -1 -1 -2 -3 -4 -5 -5 -6 -6 -6 -8 -9 -10 -12 -13 -14 -13 -12 -10 -9 -10 -12 -13 -12 -11 -11 -12 -15 -18 -20 -20 -18 -14 -10 -7 -6 -7 -10 -13 -15 -19 -22 -24 -23 -19 -15 -13 -11 -8 -6 -5 -4 -5 -7 -10 -11 -12 -13 -12 -9 -6 -4 -4 -6 -9 -12 -14 -14 -14 -15 -17 -18 -17 -10 -7 -7 -11 -15 -15 -12 -9 -7 -7 -8 -7 -7 -7 -8 -8 -8 -10 -12 -15 -17 -19 -22 -24 -25 -22 -17 -13 -9 -7 -8 -9 -10 -11 -12 -12 -12 -11 -10 -9 -10 -11 -12 -13 -15 -18 -21 -24 -27 -30 -30 -27 -22 -16 -15 -15 -14 -12 -9 -7 -7 -9 -11 -14 -15 -14 -13 -11 -7 -4 -3 -5 -8 -12 -15 -19 -22 -23 -25 -27 -28 -29 -27 -25 -25 -27 -30 -33 -35 -36 -38 -40 -41 -41 -40 -39 -39 -39 -39 -37 -35 -32 -28 -26 -28 -31 -34 -36 -39 -41 -41 -40 -37 -34 -29 -26 -25 -26 -24 -21 -20 -22 -22 -20 -19 -19 -20 -24 -27 -26 -24 -23 -23 -24 -25 -26 -26 -28 -28 -28 -27 -27 -30 -34 -36 -37 -36 -32 -31 -32 -34 -37 -40 -36 -29 -26 -26 -26 -29 -33 -36 -34 -33 -32 -31 -29 -28 -28 -28 -27 -27 -27 -27 -27 -27 -24 -24 -25 -26 -25 -25 -26 -28 -32 -37 -40 -44 -46 -45 -42 -43 -43 -43 -42 -41 -39 -37 -36 -36 -36 -37 -37 -35 -34 -32 -33 -33 -33 -33 -33 -33 -35 -38 -42 -40 -37 -36 -37 -38 -39 -40 -41 -43 -43 -43 -44 -44 -44 -41 -38 -36 -35 -30 -21 -19 -18 -18 -18 -20 -27 -29 -29 -30 -31 -35 -40 -44 -47 -46 -44 -41 -38 -33 -27 -24 -24 -28 -35 -36 -36 -36 -35 -34 -34 -33 -32 -31 -29 -27 -25 -24 -24 -25 -25 -24 -16 -15 -15 -14 -14 -15 -16 -16 -16 -17 -18 -18 -19 -20 -21 -21 -21 -21 -21 -21 -20 -19 -17 -17 -18 -20 -23 -24 -23 -18 -13 -11 -11 -10 -9 -8 -8 -7 -6 -4 -3 -4 -4 -4 -2 -2 -4 -6 -8 -12 -15 -18 -20 -19 -15 -13 -10 -8 -6 -6 -6 -5 -5 -3 -1 -1 -1 -2 -3 -4 -5 -6 -6 -7 -8 -8 -9 -10 -12 -12 -12 -10 -9 -9 -9 -10 -12 -13 -11 -9 -10 -12 -15 -18 -20 -21 -19 -14 -10 -7 -6 -7 -9 -12 -14 -17 -19 -20 -18 -16 -14 -12 -10 -8 -6 -6 -5 -5 -8 -10 -13 -15 -15 -13 -10 -7 -5 -4 -6 -9 -12 -13 -12 -11 -12 -14 -17 -15 -12 -10 -11 -13 -16 -14 -11 -8 -7 -6 -5 -5 -6 -7 -9 -9 -10 -12 -14 -16 -17 -19 -21 -24 -25 -22 -18 -12 -8 -7 -8 -10 -11 -12 -13 -12 -11 -9 -8 -9 -11 -12 -13 -14 -17 -21 -25 -28 -28 -27 -24 -20 -16 -15 -14 -14 -12 -8 -5 -6 -9 -12 -16 -17 -16 -14 -13 -12 -8 -6 -5 -6 -8 -11 -15 -18 -20 -24 -28 -30 -30 -27 -23 -22 -23 -26 -29 -32 -35 -37 -39 -42 -42 -42 -41 -40 -39 -38 -37 -35 -31 -27 -26 -28 -32 -36 -37 -38 -39 -39 -38 -37 -35 -31 -28 -26 -24 -22 -20 -19 -20 -22 -21 -21 -20 -19 -20 -22 -25 -27 -26 -23 -23 -23 -22 -22 -23 -24 -25 -25 -25 -27 -31 -34 -35 -35 -32 -32 -33 -34 -38 -44 -41 -32 -24 -24 -24 -27 -30 -33 -33 -32 -31 -29 -28 -27 -27 -27 -27 -28 -27 -27 -26 -26 -25 -24 -24 -24 -25 -25 -26 -28 -31 -35 -39 -43 -45 -45 -42 -41 -41 -40 -40 -40 -38 -36 -36 -36 -36 -37 -37 -36 -34 -31 -33 -35 -36 -36 -34 -33 -36 -40 -43 -41 -39 -36 -35 -36 -37 -38 -40 -42 -40 -40 -41 -43 -43 -42 -39 -37 -35 -32 -25 -19 -17 -17 -18 -20 -26 -27 -28 -29 -30 -29 -31 -35 -40 -41 -39 -37 -34 -31 -26 -23 -24 -28 -36 -38 -39 -38 -36 -35 -34 -34 -33 -32 -30 -28 -26 -26 -26 -27 -27 -26 -15 -15 -15 -15 -15 -16 -16 -16 -17 -18 -18 -19 -19 -20 -20 -21 -21 -21 -21 -20 -20 -18 -17 -16 -16 -18 -20 -22 -23 -21 -19 -16 -15 -13 -10 -9 -9 -8 -6 -4 -3 -3 -3 -3 -2 -3 -4 -6 -8 -12 -14 -16 -17 -18 -16 -13 -11 -9 -8 -7 -6 -6 -5 -4 -2 -1 -2 -2 -3 -3 -5 -6 -7 -7 -8 -8 -9 -10 -11 -12 -12 -10 -8 -8 -8 -8 -9 -10 -9 -7 -8 -10 -13 -16 -20 -23 -23 -19 -15 -11 -8 -8 -8 -9 -11 -12 -14 -14 -13 -13 -12 -11 -9 -8 -7 -7 -7 -8 -9 -11 -13 -14 -14 -13 -12 -9 -6 -3 -3 -5 -8 -12 -12 -10 -8 -9 -12 -15 -15 -13 -12 -14 -18 -17 -14 -11 -9 -7 -5 -4 -5 -6 -8 -9 -10 -11 -13 -15 -16 -17 -19 -22 -24 -24 -22 -18 -12 -8 -7 -8 -10 -11 -12 -12 -11 -10 -9 -9 -10 -11 -13 -15 -17 -22 -26 -28 -27 -24 -21 -18 -15 -15 -15 -14 -12 -8 -6 -6 -8 -12 -16 -17 -16 -14 -13 -12 -11 -9 -8 -7 -8 -10 -13 -15 -17 -21 -26 -30 -30 -27 -24 -22 -22 -23 -25 -29 -31 -34 -37 -40 -42 -41 -41 -40 -40 -39 -37 -35 -32 -27 -25 -27 -31 -35 -37 -37 -38 -38 -38 -37 -35 -33 -30 -27 -24 -21 -19 -18 -18 -20 -21 -21 -22 -22 -22 -22 -23 -24 -25 -23 -21 -20 -19 -20 -21 -22 -23 -25 -25 -27 -29 -31 -32 -33 -32 -33 -34 -33 -36 -43 -41 -33 -25 -24 -24 -25 -26 -28 -32 -32 -30 -28 -28 -27 -27 -28 -28 -29 -29 -29 -27 -25 -24 -24 -23 -23 -24 -25 -26 -27 -30 -34 -38 -43 -46 -46 -43 -39 -38 -38 -38 -38 -37 -36 -35 -35 -35 -37 -37 -36 -34 -30 -33 -37 -39 -39 -36 -34 -36 -40 -43 -41 -37 -35 -33 -34 -35 -37 -40 -40 -37 -37 -38 -40 -41 -42 -41 -38 -36 -35 -31 -23 -17 -16 -18 -21 -25 -26 -27 -27 -29 -27 -26 -28 -32 -35 -34 -33 -30 -27 -26 -25 -26 -29 -34 -37 -38 -37 -36 -35 -34 -34 -34 -33 -31 -29 -28 -27 -28 -28 -28 -27 -14 -15 -15 -15 -15 -16 -16 -17 -18 -18 -19 -19 -19 -19 -20 -21 -21 -21 -20 -19 -18 -17 -16 -16 -15 -16 -18 -20 -21 -20 -19 -17 -15 -14 -13 -13 -12 -10 -8 -5 -2 -2 -2 -2 -3 -4 -5 -6 -8 -11 -13 -15 -16 -17 -17 -14 -12 -10 -9 -8 -7 -6 -5 -4 -2 -2 -2 -3 -3 -3 -4 -5 -6 -7 -8 -9 -9 -10 -11 -12 -12 -12 -10 -7 -6 -5 -5 -6 -5 -5 -6 -9 -12 -15 -18 -22 -25 -24 -21 -16 -12 -10 -8 -8 -8 -9 -10 -9 -9 -8 -7 -6 -6 -6 -7 -8 -10 -12 -12 -11 -10 -9 -9 -10 -11 -11 -9 -7 -6 -5 -5 -7 -9 -8 -7 -6 -7 -10 -11 -12 -12 -14 -17 -17 -15 -13 -11 -9 -7 -6 -5 -5 -6 -6 -7 -8 -10 -12 -15 -17 -19 -21 -23 -25 -25 -23 -17 -11 -8 -7 -9 -10 -11 -12 -12 -11 -10 -9 -9 -10 -12 -16 -20 -24 -28 -30 -28 -24 -19 -16 -14 -15 -16 -16 -14 -9 -6 -6 -8 -12 -15 -15 -14 -13 -12 -11 -11 -10 -10 -10 -10 -10 -11 -13 -15 -19 -25 -28 -29 -27 -24 -23 -23 -23 -23 -25 -27 -29 -32 -36 -39 -39 -40 -41 -42 -42 -41 -37 -33 -29 -26 -26 -27 -30 -34 -37 -38 -37 -37 -36 -34 -32 -29 -27 -24 -21 -19 -19 -19 -19 -20 -22 -23 -24 -23 -23 -22 -21 -21 -19 -19 -18 -18 -19 -20 -21 -23 -25 -26 -27 -27 -28 -29 -31 -32 -34 -35 -32 -34 -40 -40 -34 -27 -26 -25 -25 -25 -27 -29 -30 -29 -26 -28 -27 -28 -28 -29 -31 -31 -31 -29 -26 -24 -24 -23 -23 -23 -24 -25 -27 -29 -34 -40 -45 -48 -47 -43 -38 -37 -37 -38 -38 -37 -37 -36 -35 -34 -35 -36 -36 -35 -31 -33 -36 -39 -40 -37 -35 -36 -39 -41 -38 -35 -34 -33 -33 -35 -37 -39 -39 -36 -34 -35 -38 -39 -41 -41 -39 -37 -35 -33 -27 -21 -19 -21 -25 -27 -28 -28 -27 -29 -29 -28 -26 -26 -29 -29 -28 -27 -25 -27 -29 -31 -31 -32 -34 -36 -37 -37 -35 -34 -34 -33 -33 -33 -32 -31 -30 -30 -29 -29 -29 -14 -14 -15 -15 -16 -16 -17 -18 -18 -19 -19 -19 -19 -19 -20 -20 -21 -20 -19 -18 -17 -16 -15 -15 -14 -14 -15 -17 -17 -17 -16 -15 -15 -15 -16 -15 -14 -12 -9 -5 -2 -1 -1 -1 -2 -4 -5 -7 -8 -10 -13 -14 -15 -16 -17 -15 -13 -12 -10 -9 -8 -7 -6 -4 -3 -2 -2 -4 -5 -4 -4 -5 -6 -7 -8 -9 -10 -10 -11 -12 -13 -13 -11 -8 -5 -4 -3 -4 -3 -3 -5 -8 -12 -15 -17 -20 -23 -27 -25 -20 -16 -12 -9 -8 -7 -7 -8 -7 -6 -5 -4 -3 -2 -3 -6 -9 -13 -15 -14 -10 -6 -3 -4 -6 -9 -10 -10 -11 -11 -9 -7 -6 -7 -7 -7 -6 -5 -6 -7 -8 -10 -12 -14 -16 -16 -15 -12 -10 -9 -8 -7 -6 -5 -5 -5 -6 -8 -11 -14 -17 -19 -21 -23 -25 -26 -25 -21 -16 -12 -9 -8 -9 -9 -11 -12 -13 -12 -11 -10 -10 -11 -16 -22 -27 -31 -32 -29 -24 -18 -14 -12 -13 -16 -17 -16 -11 -7 -7 -9 -12 -14 -14 -13 -11 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -14 -18 -23 -28 -31 -28 -25 -23 -23 -24 -24 -24 -24 -24 -26 -29 -33 -35 -37 -40 -44 -45 -44 -41 -36 -30 -26 -24 -25 -27 -31 -34 -36 -37 -38 -37 -35 -33 -30 -28 -24 -22 -21 -22 -22 -20 -21 -22 -24 -24 -23 -23 -22 -22 -21 -20 -19 -19 -19 -19 -20 -21 -23 -25 -26 -27 -28 -29 -29 -30 -32 -35 -37 -34 -34 -38 -40 -36 -30 -28 -27 -27 -27 -27 -28 -28 -28 -25 -27 -28 -29 -30 -31 -32 -32 -32 -30 -28 -26 -24 -23 -22 -22 -23 -25 -27 -29 -34 -42 -47 -48 -46 -42 -39 -38 -37 -37 -37 -37 -37 -37 -35 -33 -34 -35 -35 -35 -32 -32 -34 -36 -36 -37 -37 -37 -37 -37 -35 -34 -34 -34 -34 -35 -37 -38 -38 -37 -35 -35 -37 -38 -39 -40 -40 -38 -37 -33 -28 -24 -24 -25 -27 -28 -30 -31 -30 -31 -32 -32 -29 -26 -27 -27 -27 -27 -27 -29 -31 -32 -30 -30 -32 -35 -37 -37 -36 -35 -34 -33 -33 -34 -34 -34 -33 -31 -31 -30 -30 -14 -15 -15 -15 -16 -16 -17 -18 -19 -19 -19 -19 -18 -18 -19 -20 -20 -19 -18 -17 -16 -15 -14 -13 -13 -13 -13 -13 -13 -13 -12 -13 -14 -16 -17 -15 -13 -10 -8 -5 -1 -0 0 -0 -0 -2 -4 -6 -7 -9 -11 -13 -14 -16 -16 -15 -14 -13 -11 -10 -9 -7 -6 -5 -3 -3 -3 -5 -6 -5 -4 -4 -5 -6 -7 -8 -9 -10 -10 -11 -12 -12 -12 -10 -6 -4 -2 -3 -2 -2 -3 -6 -12 -16 -17 -18 -20 -24 -26 -23 -19 -15 -12 -10 -8 -7 -7 -7 -6 -6 -4 -3 -2 -2 -5 -9 -13 -16 -13 -8 -3 1 1 -1 -4 -5 -6 -8 -12 -13 -11 -8 -8 -8 -9 -8 -7 -7 -6 -6 -6 -8 -11 -13 -15 -14 -11 -10 -10 -9 -8 -7 -6 -6 -6 -7 -7 -9 -12 -15 -18 -20 -22 -25 -26 -25 -22 -18 -15 -12 -10 -9 -9 -9 -10 -12 -13 -13 -13 -12 -12 -16 -22 -28 -33 -34 -30 -23 -17 -13 -11 -11 -14 -17 -18 -14 -10 -8 -9 -11 -14 -14 -13 -11 -9 -9 -10 -10 -11 -12 -13 -13 -13 -13 -14 -17 -23 -29 -32 -30 -26 -24 -23 -25 -26 -26 -24 -21 -20 -21 -24 -28 -31 -36 -42 -46 -46 -42 -37 -31 -26 -24 -23 -24 -27 -31 -35 -37 -38 -37 -35 -33 -31 -29 -25 -23 -22 -22 -22 -21 -21 -23 -24 -23 -22 -22 -22 -23 -23 -21 -19 -18 -18 -21 -23 -24 -24 -26 -27 -28 -29 -30 -32 -33 -34 -37 -40 -38 -34 -36 -39 -38 -33 -31 -29 -28 -27 -27 -28 -28 -29 -27 -28 -28 -29 -30 -32 -33 -33 -32 -31 -30 -27 -24 -22 -22 -22 -23 -26 -29 -30 -34 -40 -45 -46 -45 -42 -40 -39 -38 -37 -35 -36 -36 -35 -33 -34 -35 -36 -35 -34 -32 -32 -33 -35 -37 -39 -40 -39 -38 -36 -35 -34 -34 -35 -34 -34 -34 -36 -40 -40 -38 -36 -37 -38 -38 -39 -40 -39 -38 -33 -28 -26 -26 -27 -27 -29 -31 -33 -33 -33 -34 -35 -35 -31 -30 -29 -30 -30 -30 -31 -32 -32 -32 -31 -31 -34 -37 -38 -37 -36 -34 -33 -34 -35 -35 -35 -35 -33 -32 -31 -30 -15 -15 -15 -16 -16 -16 -17 -18 -19 -19 -19 -18 -18 -18 -18 -19 -19 -18 -17 -16 -14 -13 -12 -12 -11 -11 -11 -11 -10 -10 -10 -11 -13 -14 -14 -11 -9 -7 -5 -4 -2 -1 0 0 1 0 -2 -4 -4 -4 -7 -12 -17 -21 -19 -16 -14 -12 -11 -9 -8 -7 -5 -4 -3 -3 -4 -5 -6 -6 -6 -6 -7 -7 -7 -8 -9 -9 -10 -10 -10 -10 -10 -10 -8 -5 -2 -1 -1 -2 -3 -6 -11 -16 -19 -19 -18 -18 -22 -24 -23 -20 -17 -13 -9 -7 -6 -6 -6 -6 -6 -5 -4 -4 -5 -8 -11 -11 -9 -5 -1 1 1 0 -1 -2 -3 -6 -9 -11 -12 -10 -10 -12 -14 -14 -13 -10 -7 -4 -2 -3 -7 -10 -12 -12 -10 -9 -9 -9 -9 -8 -7 -7 -8 -8 -8 -9 -11 -13 -16 -18 -21 -24 -27 -27 -23 -19 -16 -15 -13 -12 -10 -10 -10 -10 -13 -15 -16 -16 -14 -17 -21 -27 -32 -34 -31 -23 -16 -12 -11 -9 -11 -15 -19 -17 -13 -10 -9 -11 -13 -13 -12 -10 -9 -9 -10 -11 -11 -11 -12 -13 -14 -15 -15 -18 -24 -30 -35 -34 -30 -26 -25 -25 -27 -27 -25 -22 -19 -17 -17 -20 -23 -29 -37 -43 -44 -42 -36 -30 -26 -24 -22 -22 -24 -28 -32 -35 -37 -37 -35 -33 -31 -28 -24 -21 -20 -21 -21 -21 -22 -23 -23 -23 -21 -20 -20 -22 -24 -23 -21 -18 -19 -22 -24 -25 -25 -25 -27 -28 -29 -31 -33 -35 -35 -37 -42 -42 -35 -34 -37 -38 -35 -33 -31 -28 -27 -27 -27 -27 -26 -26 -27 -28 -28 -30 -32 -33 -33 -32 -30 -29 -27 -25 -23 -22 -22 -24 -27 -31 -33 -36 -39 -42 -43 -44 -42 -41 -40 -38 -36 -33 -32 -32 -32 -32 -35 -36 -36 -35 -35 -34 -33 -34 -37 -40 -42 -42 -41 -40 -38 -35 -34 -34 -34 -33 -33 -33 -36 -41 -41 -38 -36 -36 -37 -37 -38 -39 -38 -36 -32 -29 -28 -28 -28 -29 -30 -32 -34 -36 -37 -38 -38 -38 -37 -35 -34 -34 -33 -32 -32 -33 -32 -32 -30 -30 -32 -35 -37 -37 -36 -35 -34 -34 -35 -35 -35 -36 -35 -34 -32 -31 -15 -15 -15 -15 -16 -16 -17 -18 -18 -18 -17 -17 -16 -17 -17 -18 -18 -17 -16 -14 -13 -12 -11 -10 -10 -10 -9 -9 -8 -8 -8 -9 -9 -10 -9 -7 -5 -4 -5 -5 -6 -5 -3 -1 -1 -2 -3 -3 -2 -1 -4 -10 -15 -20 -19 -16 -12 -9 -8 -8 -7 -6 -5 -3 -3 -4 -4 -5 -5 -6 -8 -9 -10 -9 -9 -8 -9 -8 -8 -9 -9 -9 -9 -10 -11 -8 -4 -1 -0 -0 -1 -4 -9 -15 -20 -23 -22 -18 -17 -20 -22 -22 -20 -17 -13 -9 -7 -7 -6 -6 -6 -5 -5 -5 -6 -7 -7 -6 -5 -4 -2 -1 -0 -1 -1 -2 -3 -3 -4 -6 -7 -8 -10 -15 -19 -21 -20 -16 -11 -7 -4 -3 -5 -7 -9 -9 -7 -7 -7 -8 -8 -8 -8 -8 -9 -10 -10 -9 -10 -11 -13 -15 -19 -24 -27 -29 -25 -21 -18 -16 -16 -14 -13 -11 -10 -9 -10 -14 -17 -18 -17 -17 -20 -25 -30 -32 -29 -21 -14 -10 -10 -10 -10 -11 -15 -18 -17 -14 -10 -10 -12 -13 -12 -10 -9 -11 -12 -12 -12 -11 -12 -13 -15 -16 -18 -21 -27 -34 -38 -37 -33 -29 -26 -26 -27 -28 -27 -24 -19 -16 -16 -17 -20 -25 -32 -39 -42 -41 -35 -31 -27 -24 -22 -21 -23 -26 -29 -32 -34 -35 -35 -33 -30 -28 -24 -22 -20 -21 -23 -24 -25 -24 -22 -23 -22 -21 -19 -20 -23 -24 -24 -21 -20 -22 -24 -25 -25 -24 -25 -26 -28 -30 -34 -37 -37 -39 -42 -41 -33 -31 -35 -39 -34 -32 -31 -29 -28 -29 -28 -26 -24 -25 -26 -26 -26 -27 -30 -32 -32 -31 -29 -28 -27 -25 -24 -23 -23 -26 -29 -32 -34 -35 -37 -39 -41 -40 -40 -40 -39 -38 -35 -30 -28 -28 -29 -32 -36 -37 -37 -35 -36 -35 -33 -34 -39 -42 -42 -42 -41 -41 -39 -36 -33 -33 -32 -32 -33 -34 -36 -41 -41 -38 -36 -37 -37 -38 -39 -38 -36 -32 -31 -30 -29 -29 -29 -29 -30 -32 -34 -38 -39 -40 -40 -40 -39 -37 -35 -35 -34 -32 -31 -32 -32 -32 -30 -29 -30 -32 -35 -36 -36 -36 -34 -34 -35 -35 -35 -36 -36 -35 -33 -31 -14 -14 -14 -15 -15 -16 -16 -17 -17 -17 -16 -16 -16 -16 -16 -17 -17 -16 -15 -14 -12 -11 -10 -10 -9 -8 -8 -8 -8 -9 -8 -8 -8 -7 -6 -5 -4 -4 -5 -7 -7 -7 -6 -4 -3 -2 -2 -3 -4 -6 -9 -11 -13 -14 -14 -11 -10 -8 -8 -8 -7 -6 -4 -3 -3 -4 -5 -5 -6 -6 -8 -10 -12 -13 -12 -11 -10 -8 -6 -6 -7 -7 -7 -8 -10 -9 -6 -3 -1 0 0 -1 -5 -11 -18 -24 -25 -23 -18 -17 -19 -21 -21 -19 -16 -13 -10 -9 -8 -7 -7 -7 -7 -6 -6 -5 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -3 -5 -7 -10 -14 -18 -21 -22 -20 -17 -14 -11 -8 -7 -7 -7 -6 -3 -4 -6 -7 -8 -7 -7 -7 -9 -10 -10 -9 -9 -9 -10 -12 -17 -22 -26 -29 -27 -23 -20 -18 -18 -17 -17 -15 -13 -10 -10 -12 -15 -19 -21 -20 -20 -23 -28 -30 -28 -20 -12 -7 -9 -9 -8 -7 -10 -17 -21 -20 -14 -8 -10 -12 -11 -10 -10 -13 -14 -15 -14 -13 -12 -13 -15 -17 -19 -23 -29 -35 -39 -38 -34 -30 -27 -27 -29 -30 -28 -25 -20 -17 -15 -15 -18 -24 -30 -36 -40 -41 -37 -33 -28 -25 -22 -22 -23 -25 -28 -30 -32 -33 -33 -32 -30 -28 -26 -24 -22 -22 -25 -27 -28 -26 -24 -23 -23 -23 -22 -19 -20 -22 -25 -25 -23 -23 -24 -25 -25 -24 -24 -25 -26 -29 -33 -35 -37 -39 -43 -36 -30 -29 -34 -39 -33 -30 -30 -30 -31 -31 -30 -27 -24 -25 -25 -25 -25 -25 -28 -30 -31 -30 -28 -27 -26 -25 -24 -24 -25 -28 -31 -33 -33 -33 -35 -37 -38 -37 -37 -37 -37 -35 -32 -29 -27 -27 -29 -33 -36 -37 -35 -34 -35 -34 -33 -34 -40 -42 -42 -41 -41 -40 -38 -36 -35 -34 -32 -33 -34 -36 -36 -40 -39 -38 -36 -36 -38 -38 -38 -37 -34 -31 -30 -30 -29 -29 -29 -29 -30 -31 -33 -36 -38 -39 -39 -37 -36 -35 -35 -36 -34 -31 -30 -30 -31 -31 -30 -28 -28 -30 -33 -35 -36 -36 -36 -35 -35 -34 -35 -36 -37 -36 -33 -32 -14 -13 -13 -14 -15 -16 -16 -16 -16 -15 -15 -15 -15 -15 -15 -15 -15 -15 -14 -13 -11 -10 -10 -9 -7 -7 -7 -7 -8 -10 -9 -7 -6 -5 -4 -3 -3 -4 -5 -7 -7 -7 -6 -5 -4 -3 -3 -4 -5 -8 -11 -13 -13 -12 -11 -10 -10 -9 -9 -8 -6 -5 -4 -4 -4 -4 -4 -6 -7 -8 -9 -10 -13 -16 -16 -13 -10 -8 -5 -5 -6 -7 -6 -7 -9 -10 -9 -6 -2 -1 0 0 -1 -5 -13 -21 -26 -26 -21 -17 -17 -18 -20 -19 -18 -16 -13 -11 -10 -9 -9 -8 -9 -8 -6 -5 -4 -2 0 1 0 -1 -2 -1 -1 -1 -1 -0 0 0 -2 -5 -9 -13 -16 -17 -18 -19 -19 -18 -16 -14 -13 -12 -11 -7 -2 -2 -4 -6 -8 -7 -6 -6 -7 -9 -10 -10 -10 -9 -9 -10 -13 -18 -23 -27 -28 -26 -23 -20 -19 -20 -20 -19 -17 -15 -12 -11 -12 -16 -21 -22 -22 -23 -26 -30 -28 -21 -12 -6 -6 -6 -6 -6 -8 -14 -21 -22 -19 -12 -10 -10 -10 -11 -12 -14 -16 -17 -17 -16 -15 -15 -15 -16 -19 -23 -28 -32 -35 -37 -35 -31 -28 -29 -32 -32 -30 -25 -21 -17 -14 -13 -15 -21 -27 -34 -40 -43 -40 -34 -28 -24 -22 -23 -24 -24 -25 -27 -29 -30 -30 -30 -30 -29 -28 -27 -26 -24 -26 -28 -29 -28 -26 -24 -24 -24 -24 -22 -21 -21 -23 -25 -27 -26 -25 -24 -25 -25 -25 -26 -26 -28 -32 -33 -34 -37 -42 -33 -27 -27 -31 -36 -32 -29 -29 -31 -31 -33 -32 -30 -26 -26 -25 -24 -24 -25 -27 -29 -30 -29 -26 -26 -26 -25 -24 -25 -26 -29 -32 -33 -33 -32 -33 -35 -34 -34 -35 -35 -34 -31 -29 -28 -28 -28 -30 -32 -33 -33 -33 -31 -32 -32 -32 -34 -39 -41 -41 -40 -40 -40 -38 -38 -37 -38 -35 -35 -36 -36 -35 -37 -37 -36 -35 -35 -37 -37 -35 -33 -32 -31 -30 -30 -29 -29 -29 -29 -29 -30 -33 -34 -36 -38 -38 -37 -36 -36 -36 -35 -33 -31 -30 -29 -30 -31 -30 -28 -27 -28 -31 -33 -36 -38 -38 -37 -35 -34 -34 -36 -36 -35 -34 -33 -13 -12 -12 -13 -14 -15 -15 -15 -15 -15 -15 -15 -14 -13 -13 -13 -14 -14 -13 -12 -11 -10 -8 -7 -6 -6 -6 -7 -8 -8 -7 -5 -5 -4 -4 -3 -4 -4 -5 -6 -7 -5 -4 -5 -5 -4 -4 -5 -6 -8 -11 -13 -14 -13 -13 -12 -11 -10 -9 -7 -5 -5 -4 -4 -3 -3 -4 -6 -8 -10 -11 -12 -13 -15 -16 -13 -10 -8 -6 -6 -7 -7 -6 -6 -10 -12 -12 -9 -5 -3 -1 -0 0 -1 -6 -14 -20 -24 -22 -19 -17 -17 -19 -19 -18 -16 -15 -13 -11 -10 -9 -10 -10 -10 -8 -6 -4 -2 0 1 1 -1 -2 -1 -0 -1 -1 -2 -1 -1 -2 -5 -10 -13 -14 -13 -13 -14 -15 -17 -17 -18 -18 -18 -16 -12 -6 -3 -3 -4 -6 -8 -7 -7 -8 -8 -9 -11 -11 -9 -7 -7 -8 -11 -15 -19 -24 -26 -24 -21 -20 -22 -23 -23 -22 -20 -16 -12 -10 -12 -17 -22 -24 -24 -25 -29 -29 -24 -16 -7 -4 -3 -3 -4 -7 -11 -17 -21 -21 -17 -13 -11 -10 -10 -13 -16 -18 -19 -20 -21 -21 -20 -19 -18 -19 -21 -24 -27 -30 -34 -35 -33 -31 -32 -35 -35 -32 -26 -20 -15 -11 -10 -12 -17 -24 -32 -38 -41 -39 -34 -29 -25 -23 -23 -23 -23 -23 -24 -26 -27 -28 -28 -29 -30 -30 -31 -30 -28 -29 -31 -32 -31 -29 -26 -25 -25 -25 -23 -22 -22 -23 -24 -27 -27 -25 -24 -24 -25 -26 -27 -28 -28 -30 -31 -33 -36 -40 -32 -26 -25 -28 -33 -33 -32 -30 -30 -29 -30 -31 -31 -28 -26 -25 -24 -24 -25 -27 -29 -30 -29 -26 -26 -25 -25 -25 -26 -26 -29 -33 -34 -34 -33 -32 -32 -31 -32 -32 -32 -30 -27 -26 -26 -27 -29 -30 -29 -28 -28 -29 -30 -32 -34 -35 -35 -38 -39 -38 -37 -38 -39 -38 -38 -39 -39 -36 -34 -34 -34 -34 -35 -35 -34 -33 -34 -36 -35 -33 -31 -31 -31 -30 -30 -30 -30 -30 -29 -29 -30 -32 -33 -34 -37 -39 -39 -37 -36 -36 -35 -34 -33 -32 -30 -30 -30 -29 -29 -27 -28 -30 -31 -34 -37 -38 -37 -36 -34 -34 -35 -35 -35 -34 -33 -12 -11 -11 -12 -13 -13 -14 -15 -15 -16 -15 -14 -13 -12 -12 -12 -13 -13 -13 -12 -10 -9 -7 -6 -6 -6 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -4 -4 -5 -7 -7 -7 -7 -8 -10 -12 -13 -15 -16 -18 -17 -14 -10 -7 -6 -5 -4 -4 -4 -2 -2 -3 -5 -7 -10 -13 -13 -12 -11 -13 -12 -10 -8 -7 -7 -7 -7 -6 -6 -11 -14 -15 -13 -10 -7 -4 -2 -1 -1 -2 -6 -10 -16 -18 -19 -19 -19 -20 -19 -18 -16 -15 -13 -11 -10 -9 -10 -11 -11 -9 -6 -4 -3 -2 -0 0 -0 -1 -0 1 0 -1 -4 -5 -4 -4 -6 -11 -14 -14 -11 -9 -10 -11 -12 -14 -16 -19 -22 -22 -19 -14 -10 -6 -4 -4 -6 -8 -9 -9 -9 -11 -12 -11 -8 -5 -5 -5 -6 -8 -11 -16 -19 -20 -20 -20 -22 -24 -25 -25 -23 -20 -15 -11 -9 -13 -19 -23 -25 -25 -28 -30 -29 -23 -13 -5 -2 -1 -2 -5 -9 -14 -18 -20 -20 -17 -14 -11 -10 -14 -18 -20 -22 -24 -25 -24 -22 -20 -18 -17 -18 -20 -22 -25 -30 -34 -36 -36 -36 -38 -38 -35 -28 -20 -14 -10 -8 -9 -13 -20 -27 -32 -34 -31 -27 -25 -23 -22 -23 -23 -23 -22 -22 -24 -26 -27 -27 -27 -29 -31 -33 -33 -33 -34 -35 -36 -36 -33 -29 -27 -25 -24 -22 -22 -23 -23 -23 -24 -24 -26 -28 -28 -26 -26 -28 -31 -29 -28 -29 -33 -36 -38 -32 -27 -25 -25 -28 -30 -31 -31 -31 -29 -29 -29 -29 -28 -26 -25 -24 -24 -26 -27 -29 -30 -29 -26 -25 -25 -25 -26 -27 -27 -30 -33 -35 -35 -32 -30 -30 -30 -30 -29 -28 -26 -24 -23 -24 -25 -28 -29 -27 -25 -25 -26 -28 -33 -37 -39 -38 -37 -36 -35 -35 -35 -37 -38 -38 -38 -37 -35 -34 -34 -34 -34 -36 -35 -34 -32 -33 -34 -34 -32 -32 -31 -30 -30 -30 -30 -30 -29 -29 -28 -30 -32 -32 -33 -36 -39 -39 -38 -36 -35 -36 -36 -35 -34 -31 -30 -30 -29 -29 -29 -29 -29 -30 -32 -36 -38 -38 -36 -35 -35 -35 -35 -35 -34 -33 -12 -11 -12 -12 -13 -12 -13 -14 -16 -16 -15 -13 -11 -11 -11 -12 -12 -13 -13 -12 -10 -7 -5 -5 -5 -6 -7 -7 -7 -6 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -4 -4 -6 -8 -9 -9 -9 -10 -12 -14 -15 -17 -20 -23 -23 -18 -11 -6 -5 -4 -4 -4 -4 -3 -3 -4 -5 -5 -7 -11 -12 -11 -11 -12 -11 -10 -8 -6 -5 -6 -5 -4 -5 -10 -14 -16 -16 -15 -11 -8 -5 -3 -2 -2 -3 -4 -6 -10 -13 -17 -21 -23 -22 -20 -16 -14 -13 -11 -10 -9 -10 -11 -11 -9 -7 -5 -4 -4 -4 -3 -3 -1 0 1 1 -1 -5 -8 -7 -6 -6 -11 -14 -14 -11 -7 -7 -7 -8 -9 -13 -17 -21 -24 -25 -23 -18 -12 -8 -5 -5 -7 -9 -10 -11 -14 -15 -13 -9 -6 -5 -4 -4 -5 -7 -9 -11 -13 -14 -17 -20 -22 -23 -23 -23 -23 -20 -17 -12 -12 -15 -20 -24 -27 -29 -32 -33 -30 -20 -10 -3 0 0 -3 -8 -12 -15 -17 -19 -19 -18 -15 -13 -16 -20 -24 -26 -27 -24 -22 -20 -18 -15 -16 -17 -19 -21 -23 -27 -32 -36 -38 -40 -42 -43 -39 -31 -23 -16 -11 -8 -8 -11 -16 -20 -24 -24 -21 -19 -18 -19 -20 -21 -21 -20 -19 -20 -23 -25 -26 -27 -26 -27 -29 -32 -33 -35 -37 -39 -40 -39 -36 -32 -28 -25 -22 -21 -21 -22 -23 -24 -24 -24 -26 -29 -29 -27 -26 -28 -32 -30 -28 -28 -31 -33 -35 -34 -32 -28 -25 -25 -27 -28 -30 -31 -30 -29 -28 -29 -27 -26 -25 -25 -24 -26 -27 -28 -29 -29 -26 -25 -24 -24 -26 -27 -28 -31 -33 -36 -35 -33 -30 -30 -30 -28 -25 -23 -22 -22 -22 -22 -23 -26 -27 -26 -24 -24 -25 -27 -31 -36 -38 -37 -34 -33 -33 -33 -34 -36 -37 -38 -37 -36 -35 -35 -35 -34 -35 -35 -36 -35 -33 -33 -34 -33 -32 -32 -32 -31 -30 -29 -29 -30 -29 -29 -28 -29 -30 -31 -33 -36 -37 -38 -37 -36 -35 -36 -37 -36 -35 -31 -30 -30 -31 -30 -30 -30 -29 -29 -31 -34 -36 -37 -37 -37 -36 -36 -36 -35 -34 -33 -12 -12 -12 -12 -12 -12 -13 -14 -15 -15 -14 -12 -11 -11 -11 -12 -12 -12 -12 -11 -8 -6 -5 -5 -5 -6 -7 -7 -7 -6 -5 -5 -5 -6 -6 -6 -5 -4 -3 -3 -3 -4 -4 -6 -8 -9 -9 -10 -11 -14 -17 -20 -21 -22 -22 -22 -18 -12 -5 -3 -4 -3 -2 -3 -3 -3 -4 -5 -4 -4 -6 -8 -10 -12 -11 -10 -9 -8 -6 -4 -2 -2 -1 -3 -9 -16 -20 -21 -18 -16 -13 -10 -7 -4 -3 -3 -3 -4 -6 -8 -12 -18 -25 -26 -22 -18 -13 -12 -11 -9 -9 -9 -11 -11 -10 -9 -7 -6 -6 -7 -7 -7 -5 -3 -1 -0 -2 -5 -7 -7 -5 -4 -7 -10 -12 -10 -6 -6 -6 -7 -7 -9 -13 -17 -21 -25 -27 -24 -19 -14 -10 -7 -6 -7 -10 -12 -15 -18 -18 -15 -10 -7 -5 -4 -5 -6 -7 -6 -7 -8 -12 -15 -18 -19 -19 -19 -21 -22 -22 -18 -14 -13 -16 -21 -28 -33 -35 -36 -35 -27 -15 -6 -1 0 -2 -6 -10 -13 -15 -17 -20 -21 -21 -19 -20 -23 -26 -28 -27 -22 -19 -16 -14 -12 -12 -14 -17 -20 -23 -26 -30 -33 -37 -41 -44 -44 -41 -33 -25 -19 -14 -10 -9 -11 -13 -16 -17 -18 -16 -15 -14 -15 -18 -20 -19 -18 -17 -18 -21 -23 -25 -26 -26 -25 -25 -28 -30 -35 -39 -42 -42 -41 -39 -34 -29 -24 -21 -20 -21 -22 -23 -23 -23 -24 -27 -31 -31 -29 -28 -28 -31 -31 -28 -26 -24 -25 -30 -35 -36 -31 -26 -24 -24 -25 -27 -29 -29 -29 -28 -29 -27 -26 -26 -26 -25 -26 -27 -28 -28 -28 -26 -25 -24 -24 -24 -26 -28 -31 -33 -36 -36 -34 -31 -31 -30 -27 -24 -22 -21 -22 -22 -22 -22 -24 -25 -25 -24 -24 -25 -26 -30 -33 -34 -33 -31 -31 -32 -32 -33 -35 -37 -38 -38 -37 -35 -35 -36 -36 -36 -36 -35 -34 -33 -33 -33 -32 -32 -32 -32 -32 -31 -30 -30 -30 -30 -29 -28 -28 -28 -30 -32 -35 -36 -37 -37 -36 -35 -36 -37 -37 -36 -32 -31 -31 -32 -32 -32 -31 -29 -28 -29 -31 -33 -35 -37 -38 -37 -37 -36 -36 -35 -34 -12 -12 -12 -12 -12 -12 -13 -14 -14 -14 -13 -12 -12 -11 -12 -12 -12 -12 -11 -9 -7 -5 -4 -5 -5 -6 -7 -8 -8 -7 -6 -5 -5 -6 -7 -6 -5 -3 -2 -2 -3 -3 -3 -4 -5 -7 -8 -10 -11 -13 -16 -19 -21 -21 -21 -19 -15 -10 -5 -5 -5 -3 -3 -3 -3 -4 -4 -4 -3 -3 -4 -5 -6 -7 -7 -7 -7 -6 -5 -3 -2 -0 1 1 -5 -14 -22 -26 -25 -23 -20 -16 -10 -6 -4 -3 -3 -3 -3 -5 -8 -12 -18 -21 -22 -19 -15 -12 -11 -10 -9 -9 -10 -10 -10 -11 -11 -10 -9 -9 -10 -12 -13 -11 -7 -3 -2 -2 -3 -4 -4 -3 -2 -3 -7 -9 -7 -6 -7 -8 -8 -7 -9 -13 -18 -22 -25 -25 -24 -21 -18 -12 -8 -6 -8 -11 -14 -17 -20 -19 -15 -11 -7 -5 -5 -7 -7 -7 -6 -6 -9 -12 -14 -15 -15 -15 -18 -20 -22 -21 -18 -17 -17 -20 -27 -34 -37 -39 -39 -35 -23 -13 -5 -2 -3 -4 -6 -10 -14 -17 -20 -24 -27 -26 -25 -25 -26 -27 -25 -20 -16 -14 -11 -9 -9 -12 -16 -19 -22 -26 -30 -33 -35 -39 -43 -44 -41 -34 -27 -21 -17 -13 -12 -13 -15 -17 -19 -19 -19 -18 -17 -15 -17 -19 -19 -19 -18 -17 -19 -21 -23 -26 -26 -24 -24 -26 -28 -31 -35 -39 -41 -40 -38 -35 -30 -25 -21 -20 -21 -22 -22 -22 -23 -25 -27 -29 -30 -31 -30 -29 -29 -28 -26 -23 -23 -25 -29 -34 -36 -32 -26 -25 -24 -24 -25 -27 -29 -29 -28 -29 -28 -28 -28 -29 -27 -26 -27 -28 -29 -28 -26 -25 -25 -25 -25 -26 -28 -30 -33 -37 -37 -35 -33 -33 -31 -27 -24 -23 -24 -24 -23 -22 -22 -23 -24 -25 -24 -24 -25 -26 -29 -31 -31 -30 -29 -30 -31 -32 -33 -34 -36 -38 -39 -38 -36 -35 -36 -37 -37 -36 -35 -34 -34 -34 -33 -32 -33 -32 -33 -33 -33 -31 -31 -31 -31 -29 -28 -27 -28 -29 -31 -33 -35 -36 -36 -35 -35 -36 -37 -37 -36 -34 -32 -31 -31 -32 -32 -30 -29 -28 -28 -29 -31 -35 -38 -39 -39 -38 -37 -37 -35 -34 -12 -12 -12 -13 -13 -13 -14 -14 -13 -12 -12 -12 -12 -12 -12 -12 -12 -10 -9 -7 -5 -4 -5 -5 -6 -7 -8 -8 -8 -7 -6 -6 -6 -6 -7 -6 -4 -3 -2 -1 -2 -1 -1 -2 -4 -6 -8 -9 -11 -12 -14 -18 -21 -23 -23 -19 -13 -8 -6 -6 -5 -3 -2 -2 -2 -3 -3 -3 -3 -3 -4 -5 -6 -7 -7 -6 -6 -5 -4 -4 -3 -1 2 3 -1 -8 -16 -25 -29 -30 -29 -25 -17 -9 -5 -4 -4 -3 -3 -3 -4 -5 -8 -13 -16 -17 -16 -12 -10 -9 -9 -9 -9 -9 -9 -10 -13 -14 -14 -13 -12 -12 -15 -18 -17 -13 -8 -4 -1 0 -0 -2 -0 0 -1 -5 -6 -5 -7 -8 -9 -7 -7 -10 -15 -21 -24 -26 -27 -27 -26 -21 -14 -8 -6 -8 -10 -13 -17 -19 -18 -14 -10 -8 -6 -8 -9 -10 -10 -9 -8 -9 -11 -11 -12 -13 -14 -16 -19 -20 -21 -20 -20 -20 -24 -32 -39 -44 -48 -44 -31 -18 -8 -4 -4 -4 -6 -8 -11 -15 -21 -28 -32 -32 -26 -24 -23 -24 -21 -17 -15 -13 -10 -7 -8 -11 -15 -18 -22 -26 -30 -33 -35 -38 -41 -42 -40 -35 -28 -21 -17 -15 -16 -16 -16 -17 -20 -25 -28 -29 -26 -20 -17 -17 -19 -21 -21 -20 -20 -21 -22 -24 -24 -23 -23 -24 -27 -29 -31 -33 -36 -37 -36 -33 -30 -27 -24 -21 -20 -21 -21 -23 -25 -26 -26 -26 -27 -29 -31 -30 -28 -25 -23 -22 -24 -26 -27 -28 -30 -29 -26 -24 -24 -25 -25 -26 -28 -29 -28 -28 -29 -29 -29 -31 -27 -27 -28 -29 -29 -28 -28 -28 -29 -29 -27 -28 -29 -30 -33 -37 -37 -35 -34 -35 -33 -29 -25 -24 -28 -29 -27 -25 -23 -24 -24 -25 -25 -25 -25 -27 -29 -30 -29 -29 -28 -29 -30 -32 -32 -34 -36 -38 -38 -39 -38 -36 -34 -36 -37 -36 -35 -35 -35 -34 -34 -34 -35 -34 -34 -34 -34 -32 -32 -31 -31 -28 -28 -28 -29 -30 -31 -32 -34 -35 -35 -35 -35 -36 -36 -37 -37 -35 -33 -32 -31 -32 -32 -31 -30 -30 -29 -30 -32 -35 -38 -40 -40 -39 -37 -37 -35 -35 -12 -12 -12 -13 -14 -14 -14 -13 -12 -11 -12 -12 -12 -12 -11 -11 -10 -8 -7 -6 -5 -5 -6 -7 -7 -8 -8 -8 -8 -7 -7 -8 -8 -8 -7 -6 -4 -3 -2 -1 -1 0 0 -1 -4 -6 -8 -10 -11 -12 -14 -18 -21 -24 -23 -17 -11 -7 -6 -7 -5 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -5 -6 -7 -6 -6 -5 -4 -4 -4 -2 1 3 1 -3 -9 -17 -23 -29 -33 -32 -25 -14 -8 -6 -7 -7 -6 -5 -3 -2 -3 -6 -9 -11 -13 -12 -10 -8 -8 -9 -10 -9 -9 -9 -11 -15 -19 -20 -17 -13 -12 -15 -20 -22 -21 -14 -6 -1 0 -1 1 2 2 -1 -4 -4 -4 -5 -8 -10 -8 -8 -12 -20 -24 -25 -26 -28 -30 -28 -22 -15 -9 -6 -8 -10 -13 -17 -19 -18 -15 -13 -10 -9 -10 -12 -13 -12 -10 -9 -10 -11 -12 -12 -11 -12 -14 -17 -20 -22 -23 -23 -24 -30 -37 -44 -50 -47 -36 -22 -11 -7 -6 -6 -7 -8 -9 -12 -19 -26 -31 -30 -22 -18 -17 -18 -16 -13 -12 -11 -10 -8 -8 -10 -14 -17 -22 -27 -31 -33 -35 -37 -39 -40 -38 -33 -27 -21 -16 -14 -15 -15 -15 -17 -22 -30 -35 -37 -33 -24 -16 -15 -17 -21 -23 -24 -23 -22 -21 -22 -23 -22 -21 -22 -25 -27 -29 -30 -32 -33 -34 -33 -31 -29 -26 -22 -20 -19 -21 -24 -25 -25 -24 -23 -24 -27 -29 -30 -27 -23 -22 -23 -25 -27 -26 -26 -27 -27 -26 -24 -24 -25 -26 -26 -27 -28 -29 -28 -28 -28 -29 -31 -28 -27 -28 -29 -29 -28 -32 -35 -36 -34 -31 -30 -31 -32 -34 -37 -36 -34 -33 -35 -34 -30 -27 -26 -29 -29 -28 -26 -23 -25 -24 -24 -24 -26 -26 -28 -30 -30 -29 -28 -28 -28 -29 -30 -31 -33 -35 -37 -37 -38 -38 -37 -34 -35 -36 -36 -36 -35 -35 -34 -34 -34 -34 -33 -34 -34 -34 -33 -32 -32 -30 -29 -28 -28 -29 -31 -32 -32 -33 -35 -34 -35 -35 -35 -35 -36 -37 -37 -35 -33 -31 -32 -31 -30 -30 -29 -29 -30 -32 -34 -36 -38 -39 -39 -38 -37 -36 -35 -12 -12 -13 -14 -15 -15 -13 -11 -11 -12 -12 -12 -11 -11 -10 -9 -8 -7 -7 -6 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -8 -7 -5 -4 -3 -2 -1 -1 -0 -0 -1 -3 -6 -8 -10 -11 -12 -14 -17 -20 -22 -21 -15 -10 -7 -7 -6 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -5 -6 -6 -6 -6 -5 -5 -5 -3 -1 1 1 -1 -4 -8 -15 -22 -29 -32 -29 -20 -13 -11 -11 -12 -12 -10 -7 -4 -2 -2 -4 -6 -9 -11 -10 -8 -8 -10 -11 -10 -9 -7 -8 -12 -19 -22 -22 -16 -10 -11 -18 -25 -30 -23 -14 -6 -3 -2 0 2 2 1 -1 -1 -1 -3 -7 -10 -8 -7 -10 -19 -26 -27 -26 -25 -26 -28 -26 -21 -15 -9 -8 -9 -11 -13 -15 -16 -16 -15 -13 -11 -12 -13 -14 -13 -12 -11 -12 -12 -13 -11 -10 -9 -10 -14 -18 -21 -24 -25 -26 -28 -32 -39 -46 -46 -38 -26 -15 -9 -7 -7 -8 -10 -11 -14 -20 -27 -32 -30 -22 -16 -14 -14 -12 -9 -7 -7 -8 -9 -9 -11 -13 -16 -21 -26 -31 -33 -35 -39 -40 -39 -36 -30 -24 -19 -15 -14 -14 -15 -17 -22 -28 -34 -37 -38 -35 -29 -20 -17 -17 -20 -22 -24 -25 -23 -21 -21 -21 -21 -20 -20 -23 -25 -27 -28 -28 -29 -31 -32 -31 -29 -26 -23 -21 -19 -20 -23 -25 -25 -25 -24 -24 -25 -27 -29 -28 -25 -23 -24 -28 -28 -28 -28 -29 -28 -27 -25 -24 -24 -25 -26 -27 -28 -30 -28 -27 -27 -28 -31 -28 -27 -28 -29 -29 -29 -33 -37 -38 -36 -34 -33 -34 -35 -35 -36 -35 -33 -31 -32 -32 -30 -28 -28 -29 -27 -26 -25 -24 -25 -25 -25 -25 -25 -27 -29 -31 -30 -28 -28 -27 -27 -28 -29 -31 -33 -34 -36 -35 -36 -37 -36 -34 -34 -35 -37 -37 -36 -35 -34 -33 -32 -31 -32 -33 -34 -34 -33 -33 -32 -31 -29 -29 -29 -29 -30 -31 -31 -32 -34 -34 -35 -36 -36 -35 -35 -37 -37 -36 -34 -32 -31 -30 -29 -29 -29 -28 -28 -29 -30 -33 -36 -38 -38 -38 -37 -36 -35 -12 -12 -13 -15 -16 -15 -13 -11 -11 -11 -12 -11 -11 -11 -10 -9 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -9 -10 -10 -9 -8 -6 -4 -3 -2 -2 -2 -2 -2 -2 -3 -5 -7 -9 -10 -11 -12 -14 -18 -20 -20 -16 -11 -9 -8 -7 -5 -4 -3 -3 -2 -2 -3 -3 -2 -2 -2 -1 -1 -2 -3 -4 -5 -6 -6 -5 -5 -5 -3 -2 0 1 0 -1 -4 -10 -17 -23 -27 -28 -24 -20 -17 -15 -16 -18 -17 -14 -10 -5 -2 -2 -4 -7 -10 -9 -8 -8 -10 -12 -11 -9 -6 -4 -7 -13 -19 -21 -19 -12 -11 -15 -23 -29 -26 -19 -11 -6 -4 -1 1 3 4 3 2 0 -2 -6 -9 -7 -7 -10 -19 -27 -30 -28 -24 -21 -22 -23 -23 -20 -15 -12 -11 -11 -11 -11 -12 -13 -14 -14 -14 -14 -14 -13 -13 -12 -12 -12 -12 -13 -12 -10 -8 -7 -10 -14 -18 -23 -26 -27 -27 -28 -32 -39 -41 -38 -30 -20 -12 -8 -8 -9 -10 -12 -16 -22 -29 -33 -31 -23 -17 -14 -13 -12 -10 -8 -8 -10 -10 -8 -9 -11 -14 -19 -25 -29 -32 -36 -39 -41 -39 -34 -28 -21 -17 -15 -15 -17 -19 -22 -27 -32 -35 -36 -35 -33 -28 -22 -19 -18 -19 -20 -22 -23 -23 -20 -19 -20 -20 -19 -18 -21 -24 -25 -26 -26 -27 -29 -30 -30 -29 -26 -23 -21 -19 -19 -20 -21 -23 -25 -26 -25 -25 -27 -29 -29 -28 -27 -27 -30 -31 -31 -31 -31 -30 -29 -27 -25 -25 -25 -26 -26 -28 -30 -29 -27 -27 -27 -31 -29 -27 -27 -29 -30 -29 -32 -36 -38 -37 -38 -38 -37 -37 -37 -36 -35 -32 -30 -29 -29 -29 -29 -30 -28 -26 -24 -24 -23 -24 -25 -26 -26 -26 -28 -30 -32 -30 -28 -27 -27 -27 -27 -28 -30 -32 -33 -34 -34 -34 -35 -35 -34 -33 -33 -35 -37 -35 -34 -33 -32 -31 -30 -30 -31 -32 -33 -33 -33 -33 -32 -31 -30 -29 -29 -29 -31 -31 -31 -33 -33 -35 -36 -37 -36 -35 -35 -36 -36 -35 -34 -32 -30 -28 -28 -28 -27 -27 -27 -28 -31 -35 -37 -37 -38 -37 -36 -35 -12 -12 -14 -16 -16 -16 -14 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -11 -11 -11 -12 -11 -11 -11 -10 -9 -9 -9 -10 -11 -12 -11 -9 -7 -5 -3 -3 -3 -3 -3 -4 -4 -4 -5 -7 -9 -10 -11 -11 -13 -15 -18 -20 -18 -12 -9 -9 -9 -8 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -2 -3 -4 -5 -4 -4 -4 -3 -2 -0 0 1 -0 -3 -8 -14 -19 -23 -25 -25 -24 -22 -20 -21 -23 -23 -21 -17 -11 -6 -3 -3 -5 -8 -8 -8 -8 -9 -11 -12 -10 -7 -4 -2 -6 -11 -15 -17 -15 -14 -15 -18 -21 -20 -16 -12 -8 -5 -3 0 4 6 6 4 1 -2 -5 -6 -6 -7 -11 -18 -28 -32 -31 -26 -19 -18 -18 -20 -20 -19 -17 -15 -14 -13 -13 -12 -12 -12 -13 -13 -14 -14 -14 -15 -16 -15 -13 -12 -11 -11 -9 -7 -5 -7 -11 -16 -21 -26 -28 -26 -25 -26 -31 -36 -37 -33 -25 -16 -11 -10 -10 -11 -13 -17 -24 -30 -34 -31 -24 -19 -16 -15 -13 -11 -10 -8 -7 -7 -6 -7 -9 -11 -16 -22 -28 -33 -36 -39 -40 -38 -34 -26 -21 -18 -19 -21 -22 -24 -27 -31 -33 -34 -33 -32 -31 -27 -23 -22 -21 -21 -21 -22 -23 -23 -20 -19 -20 -20 -19 -18 -21 -23 -24 -24 -24 -25 -27 -28 -28 -27 -24 -21 -20 -19 -19 -19 -19 -19 -22 -24 -25 -26 -26 -27 -29 -30 -31 -30 -30 -31 -32 -33 -33 -32 -31 -30 -29 -28 -26 -26 -27 -28 -29 -29 -29 -29 -28 -30 -28 -27 -27 -28 -30 -30 -33 -36 -37 -39 -42 -44 -42 -41 -40 -39 -36 -32 -29 -28 -29 -30 -31 -30 -28 -27 -25 -24 -24 -24 -25 -26 -26 -27 -29 -31 -32 -30 -28 -27 -26 -26 -27 -28 -29 -31 -32 -33 -34 -33 -33 -33 -35 -35 -34 -34 -36 -35 -33 -32 -32 -30 -30 -29 -29 -30 -32 -32 -32 -33 -33 -32 -31 -30 -29 -29 -31 -31 -30 -32 -32 -33 -34 -36 -36 -35 -35 -36 -36 -37 -36 -33 -31 -28 -27 -27 -27 -28 -28 -28 -31 -34 -36 -36 -38 -37 -36 -36 -13 -14 -15 -16 -17 -17 -15 -14 -13 -13 -13 -13 -13 -13 -13 -12 -12 -13 -14 -14 -14 -13 -13 -12 -12 -11 -11 -11 -12 -12 -12 -11 -9 -7 -5 -4 -4 -4 -5 -5 -6 -6 -6 -7 -9 -11 -12 -12 -13 -15 -17 -18 -17 -15 -12 -10 -10 -9 -7 -4 -3 -3 -3 -3 -4 -4 -4 -4 -3 -3 -2 -2 -2 -1 -1 -2 -3 -3 -4 -3 -3 -3 -2 -1 -0 0 -1 -4 -9 -15 -19 -21 -22 -22 -22 -21 -21 -23 -24 -25 -24 -22 -18 -12 -8 -5 -5 -7 -9 -9 -8 -7 -9 -11 -11 -9 -6 -3 -1 -3 -7 -12 -15 -17 -17 -15 -13 -11 -10 -8 -7 -6 -4 -1 2 5 6 4 2 -1 -3 -5 -6 -7 -11 -18 -27 -33 -34 -29 -21 -16 -15 -16 -17 -18 -19 -19 -18 -18 -17 -16 -15 -13 -12 -12 -13 -13 -14 -15 -16 -17 -16 -14 -13 -12 -11 -9 -5 -4 -5 -8 -14 -21 -26 -27 -27 -26 -26 -33 -38 -39 -33 -22 -15 -13 -13 -13 -14 -19 -25 -31 -34 -30 -25 -21 -18 -17 -15 -14 -12 -11 -9 -8 -8 -9 -10 -11 -15 -22 -29 -35 -37 -37 -36 -34 -30 -26 -24 -24 -27 -29 -30 -31 -31 -31 -29 -28 -28 -29 -29 -27 -24 -22 -21 -22 -24 -24 -23 -22 -21 -20 -20 -20 -19 -19 -20 -22 -22 -21 -20 -21 -24 -26 -26 -25 -23 -20 -19 -18 -18 -18 -18 -18 -20 -22 -24 -25 -25 -26 -27 -28 -30 -30 -29 -30 -32 -34 -35 -35 -34 -33 -33 -32 -28 -28 -29 -29 -29 -31 -33 -33 -30 -30 -29 -27 -27 -28 -29 -32 -34 -36 -37 -41 -46 -48 -45 -43 -43 -41 -37 -32 -29 -29 -30 -32 -33 -32 -31 -30 -29 -27 -26 -26 -27 -27 -28 -29 -31 -33 -32 -29 -28 -27 -27 -26 -27 -28 -29 -29 -30 -32 -34 -34 -32 -33 -35 -36 -35 -33 -35 -36 -35 -34 -32 -31 -30 -29 -28 -29 -30 -31 -32 -32 -33 -32 -30 -30 -29 -30 -31 -31 -30 -30 -30 -31 -33 -34 -35 -35 -35 -36 -37 -37 -36 -34 -31 -28 -27 -27 -27 -29 -30 -30 -32 -34 -34 -36 -38 -38 -36 -36 -14 -15 -16 -17 -18 -18 -17 -15 -14 -14 -14 -14 -14 -14 -13 -13 -13 -14 -15 -15 -15 -15 -14 -14 -13 -13 -13 -12 -12 -13 -12 -11 -9 -7 -6 -5 -5 -5 -6 -7 -7 -7 -8 -9 -11 -13 -14 -15 -16 -18 -20 -17 -14 -13 -12 -11 -10 -8 -6 -4 -4 -4 -4 -5 -4 -4 -4 -4 -3 -3 -2 -2 -2 -1 -1 -1 -2 -3 -3 -3 -4 -4 -3 -2 -1 -1 -3 -6 -11 -16 -19 -20 -20 -19 -18 -16 -15 -16 -19 -21 -22 -20 -19 -17 -14 -12 -10 -9 -8 -9 -9 -9 -8 -9 -10 -11 -9 -6 -1 1 -0 -5 -13 -17 -16 -12 -6 -4 -4 -4 -4 -4 -3 -2 -1 1 3 4 4 2 -1 -4 -6 -8 -11 -17 -26 -33 -34 -30 -23 -17 -14 -13 -14 -16 -18 -19 -20 -21 -22 -22 -22 -19 -15 -13 -12 -12 -12 -12 -13 -14 -14 -15 -15 -15 -13 -10 -7 -5 -4 -6 -9 -15 -19 -22 -24 -24 -25 -31 -38 -42 -40 -32 -23 -17 -15 -16 -17 -21 -26 -30 -32 -30 -27 -23 -20 -18 -16 -15 -15 -14 -13 -12 -12 -12 -12 -12 -15 -20 -26 -31 -34 -33 -31 -29 -27 -26 -28 -31 -35 -38 -39 -37 -33 -28 -21 -19 -20 -24 -27 -27 -24 -21 -21 -23 -26 -25 -23 -21 -20 -20 -20 -20 -20 -20 -21 -21 -20 -18 -16 -17 -20 -23 -24 -24 -22 -20 -19 -18 -17 -17 -18 -18 -20 -21 -23 -24 -26 -26 -26 -27 -28 -28 -26 -27 -29 -32 -35 -36 -36 -35 -35 -33 -30 -29 -30 -31 -31 -34 -37 -36 -31 -29 -28 -27 -27 -28 -30 -33 -35 -36 -37 -44 -48 -48 -45 -43 -43 -41 -38 -33 -30 -29 -30 -33 -35 -35 -35 -35 -32 -30 -29 -29 -30 -30 -31 -32 -34 -33 -32 -30 -29 -28 -27 -26 -26 -27 -28 -28 -28 -31 -34 -35 -33 -33 -35 -35 -35 -33 -35 -35 -34 -33 -33 -31 -30 -29 -27 -28 -29 -30 -31 -31 -32 -31 -30 -30 -30 -31 -31 -31 -30 -29 -29 -30 -31 -34 -35 -35 -35 -36 -37 -37 -36 -34 -31 -28 -28 -27 -27 -29 -31 -31 -32 -33 -32 -34 -37 -37 -36 -37 -16 -16 -17 -18 -19 -19 -18 -17 -16 -15 -15 -14 -14 -14 -14 -13 -14 -14 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -12 -11 -11 -10 -9 -8 -7 -6 -6 -6 -7 -7 -8 -8 -9 -11 -13 -15 -16 -17 -19 -22 -24 -21 -18 -16 -15 -12 -9 -6 -5 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -4 -3 -2 -3 -6 -11 -16 -20 -21 -20 -19 -17 -15 -12 -10 -9 -13 -16 -17 -16 -15 -15 -16 -18 -19 -17 -13 -10 -10 -11 -10 -9 -9 -10 -9 -7 -4 -1 0 -2 -8 -12 -13 -9 -4 -1 1 1 2 1 1 1 0 -0 0 2 2 1 -2 -4 -6 -7 -10 -16 -26 -32 -33 -29 -22 -17 -14 -13 -13 -15 -16 -18 -19 -21 -24 -28 -31 -29 -23 -17 -14 -12 -11 -10 -10 -10 -11 -13 -15 -16 -16 -14 -11 -7 -5 -4 -5 -7 -12 -16 -20 -25 -29 -32 -35 -38 -40 -38 -30 -23 -19 -19 -21 -25 -28 -31 -33 -33 -30 -26 -23 -20 -18 -17 -17 -18 -19 -19 -19 -18 -16 -15 -16 -19 -23 -27 -28 -27 -25 -23 -23 -27 -31 -35 -37 -38 -37 -34 -29 -22 -15 -13 -15 -18 -21 -23 -21 -20 -21 -24 -26 -25 -23 -21 -20 -20 -19 -19 -19 -20 -20 -20 -20 -18 -17 -17 -19 -22 -25 -24 -22 -21 -21 -20 -19 -19 -19 -20 -21 -22 -23 -24 -26 -27 -27 -28 -28 -28 -27 -27 -28 -31 -33 -35 -36 -37 -37 -35 -31 -29 -29 -31 -34 -38 -40 -38 -33 -30 -28 -27 -28 -30 -31 -32 -34 -36 -40 -46 -47 -44 -42 -42 -41 -39 -37 -35 -31 -29 -28 -30 -33 -33 -34 -35 -34 -32 -30 -31 -32 -33 -33 -34 -34 -34 -33 -31 -30 -29 -28 -27 -26 -27 -28 -29 -28 -30 -33 -35 -34 -33 -34 -35 -35 -34 -35 -33 -31 -31 -32 -31 -30 -29 -27 -28 -29 -30 -30 -31 -32 -32 -31 -30 -30 -31 -30 -29 -29 -29 -29 -29 -30 -32 -35 -35 -35 -35 -35 -36 -37 -36 -33 -29 -27 -26 -26 -28 -29 -31 -32 -32 -32 -33 -36 -37 -37 -37 -17 -17 -18 -19 -19 -19 -18 -18 -16 -16 -15 -14 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -15 -13 -12 -11 -10 -10 -10 -9 -9 -8 -7 -7 -7 -7 -7 -7 -8 -10 -12 -14 -16 -15 -16 -20 -26 -31 -30 -27 -23 -19 -15 -10 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -2 -2 -2 -1 -1 -1 -1 -0 -0 -1 -2 -3 -3 -3 -2 -4 -8 -15 -22 -25 -24 -21 -18 -15 -12 -9 -7 -5 -7 -10 -12 -13 -12 -14 -18 -22 -27 -27 -21 -13 -9 -10 -11 -10 -9 -9 -8 -7 -7 -5 -3 -3 -6 -8 -8 -6 -2 1 3 5 6 6 4 3 3 2 1 -1 -2 -3 -4 -5 -6 -7 -10 -16 -25 -31 -33 -30 -23 -17 -14 -12 -12 -14 -15 -16 -16 -18 -24 -32 -38 -40 -35 -25 -18 -14 -12 -10 -9 -8 -8 -9 -12 -16 -18 -18 -15 -11 -9 -6 -3 -1 -6 -11 -18 -25 -32 -34 -35 -36 -37 -37 -33 -27 -23 -23 -26 -30 -33 -36 -37 -35 -32 -28 -25 -23 -21 -20 -20 -21 -23 -25 -26 -26 -25 -22 -21 -22 -23 -25 -23 -21 -18 -17 -18 -21 -26 -30 -33 -34 -33 -31 -26 -19 -15 -15 -15 -16 -16 -17 -17 -18 -19 -23 -25 -25 -24 -22 -20 -19 -18 -18 -18 -18 -18 -19 -19 -18 -17 -17 -18 -18 -20 -20 -20 -21 -22 -23 -22 -22 -22 -22 -23 -23 -23 -24 -25 -27 -28 -29 -29 -29 -28 -29 -30 -30 -31 -34 -37 -39 -40 -39 -35 -32 -31 -32 -36 -41 -42 -39 -34 -31 -29 -29 -29 -30 -32 -32 -34 -38 -42 -46 -45 -43 -41 -41 -39 -37 -35 -35 -32 -29 -27 -27 -28 -29 -32 -34 -34 -32 -30 -30 -32 -32 -32 -32 -33 -33 -34 -32 -30 -30 -29 -27 -27 -27 -28 -29 -28 -30 -31 -32 -34 -33 -35 -36 -36 -35 -35 -33 -30 -29 -31 -31 -30 -30 -28 -28 -30 -30 -29 -31 -31 -32 -32 -31 -31 -31 -30 -29 -29 -29 -28 -28 -28 -30 -33 -34 -35 -34 -35 -36 -37 -37 -34 -29 -26 -25 -25 -26 -28 -30 -32 -32 -32 -33 -35 -36 -38 -37 -17 -18 -19 -19 -19 -19 -18 -18 -17 -16 -15 -14 -12 -13 -13 -14 -15 -14 -14 -13 -13 -13 -14 -14 -14 -14 -12 -10 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -8 -9 -11 -13 -15 -15 -14 -14 -18 -24 -32 -34 -31 -24 -18 -14 -10 -7 -5 -5 -6 -6 -6 -6 -5 -5 -5 -4 -3 -2 -2 -2 -2 -1 -1 -1 -1 -0 0 0 -1 -2 -2 -3 -3 -5 -9 -17 -25 -27 -26 -21 -16 -12 -9 -7 -6 -5 -5 -7 -9 -12 -14 -17 -20 -24 -29 -31 -24 -15 -7 -7 -10 -10 -9 -8 -6 -6 -7 -7 -7 -6 -7 -7 -7 -5 -2 0 2 4 7 8 7 6 4 3 1 -3 -6 -8 -7 -6 -6 -7 -10 -15 -23 -29 -32 -31 -25 -18 -14 -13 -13 -14 -16 -15 -14 -14 -20 -30 -40 -45 -43 -33 -24 -18 -14 -11 -9 -7 -6 -5 -7 -12 -17 -20 -19 -16 -12 -8 -4 -2 -4 -9 -15 -23 -32 -35 -35 -34 -33 -33 -32 -30 -28 -29 -35 -39 -42 -42 -38 -32 -27 -23 -23 -23 -23 -22 -22 -22 -25 -29 -32 -34 -35 -33 -31 -29 -27 -25 -20 -17 -15 -14 -13 -16 -19 -24 -28 -31 -31 -30 -27 -22 -21 -20 -17 -15 -14 -14 -15 -16 -19 -22 -25 -25 -24 -23 -20 -18 -17 -18 -17 -16 -16 -17 -18 -18 -17 -17 -17 -16 -17 -18 -19 -21 -23 -23 -23 -24 -25 -25 -25 -23 -23 -23 -24 -27 -28 -30 -30 -31 -31 -32 -32 -32 -33 -35 -37 -40 -41 -43 -40 -38 -38 -39 -40 -42 -42 -39 -35 -33 -33 -33 -32 -32 -33 -34 -35 -39 -43 -46 -46 -46 -43 -40 -37 -34 -32 -33 -32 -30 -28 -27 -27 -28 -30 -33 -33 -31 -30 -31 -33 -31 -31 -31 -32 -33 -33 -32 -31 -30 -29 -28 -27 -27 -28 -29 -29 -30 -30 -30 -32 -33 -34 -35 -34 -34 -35 -33 -30 -29 -29 -29 -30 -30 -29 -29 -30 -30 -29 -30 -31 -31 -32 -32 -32 -31 -30 -30 -30 -29 -29 -29 -28 -29 -30 -33 -34 -34 -35 -36 -37 -37 -34 -31 -27 -25 -25 -27 -29 -30 -31 -31 -31 -33 -34 -35 -37 -36 -18 -18 -19 -18 -18 -17 -17 -17 -16 -15 -14 -13 -12 -12 -13 -14 -15 -14 -13 -12 -12 -12 -13 -14 -13 -12 -11 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -8 -8 -9 -11 -12 -13 -13 -12 -12 -15 -20 -28 -31 -27 -20 -14 -12 -10 -8 -6 -5 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -0 -0 0 0 -0 -1 -2 -3 -5 -9 -15 -23 -27 -25 -20 -14 -10 -7 -6 -6 -7 -8 -9 -11 -14 -17 -20 -22 -24 -27 -30 -25 -16 -8 -4 -7 -8 -7 -6 -4 -4 -5 -7 -7 -7 -8 -7 -6 -5 -2 -0 2 4 6 8 8 7 4 2 -1 -4 -8 -10 -10 -7 -6 -7 -10 -15 -20 -25 -29 -30 -27 -23 -19 -17 -16 -16 -17 -17 -15 -14 -16 -22 -29 -36 -39 -37 -31 -24 -18 -14 -11 -9 -6 -3 -3 -6 -12 -18 -22 -21 -16 -11 -8 -7 -7 -8 -12 -19 -27 -32 -34 -33 -31 -29 -30 -31 -32 -33 -38 -42 -45 -45 -40 -31 -23 -18 -17 -18 -19 -19 -19 -21 -25 -30 -33 -37 -40 -41 -39 -37 -32 -26 -21 -18 -16 -14 -13 -14 -17 -20 -22 -25 -26 -27 -27 -27 -26 -23 -18 -14 -13 -15 -16 -17 -19 -21 -23 -24 -24 -23 -20 -18 -17 -18 -17 -15 -15 -16 -17 -17 -18 -18 -17 -16 -16 -17 -19 -21 -24 -24 -24 -26 -28 -28 -26 -24 -23 -23 -23 -25 -28 -30 -31 -32 -34 -35 -36 -34 -35 -36 -39 -41 -42 -44 -43 -43 -45 -47 -46 -43 -41 -37 -35 -37 -38 -39 -36 -34 -35 -36 -37 -39 -44 -47 -47 -48 -45 -41 -36 -32 -30 -31 -31 -31 -30 -29 -29 -29 -30 -32 -32 -29 -29 -31 -33 -30 -30 -30 -31 -32 -34 -34 -33 -31 -29 -28 -27 -27 -28 -29 -30 -30 -30 -30 -32 -34 -34 -32 -30 -32 -33 -33 -30 -29 -28 -28 -28 -30 -29 -29 -29 -29 -27 -28 -29 -30 -31 -31 -31 -31 -31 -32 -31 -30 -29 -30 -29 -29 -30 -32 -33 -34 -35 -36 -37 -37 -35 -33 -30 -28 -27 -27 -29 -31 -32 -31 -32 -32 -33 -34 -35 -35 -17 -18 -18 -17 -17 -17 -17 -16 -15 -15 -14 -13 -12 -12 -13 -14 -14 -13 -12 -12 -11 -12 -12 -12 -12 -11 -10 -8 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -9 -10 -11 -11 -11 -11 -12 -14 -16 -21 -23 -20 -14 -10 -11 -9 -7 -5 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -1 -1 -1 -0 0 1 1 0 -2 -4 -6 -9 -14 -20 -24 -23 -18 -12 -8 -6 -5 -6 -9 -13 -15 -17 -19 -20 -21 -22 -24 -26 -29 -26 -19 -12 -5 -4 -4 -4 -4 -3 -3 -4 -5 -6 -7 -7 -7 -6 -4 -1 1 2 4 5 7 8 7 4 0 -3 -7 -10 -12 -11 -7 -6 -8 -11 -15 -19 -22 -24 -27 -28 -27 -25 -23 -21 -19 -18 -17 -17 -16 -17 -18 -21 -26 -33 -36 -33 -28 -22 -16 -13 -11 -8 -4 -1 -1 -6 -13 -21 -23 -21 -18 -15 -13 -11 -9 -9 -12 -20 -27 -31 -32 -30 -28 -29 -32 -33 -34 -38 -41 -42 -42 -38 -30 -22 -16 -13 -14 -15 -16 -18 -20 -25 -30 -35 -39 -43 -46 -46 -43 -36 -28 -23 -21 -19 -17 -15 -16 -16 -16 -16 -18 -21 -24 -27 -28 -26 -22 -18 -15 -15 -16 -17 -17 -18 -20 -21 -22 -22 -22 -20 -19 -18 -19 -18 -17 -16 -16 -16 -18 -19 -18 -17 -16 -16 -17 -19 -21 -25 -27 -28 -29 -31 -30 -28 -26 -26 -25 -23 -24 -27 -30 -32 -32 -35 -37 -37 -35 -35 -37 -39 -42 -43 -45 -45 -46 -49 -51 -49 -46 -43 -41 -39 -40 -43 -45 -41 -38 -37 -38 -38 -40 -44 -47 -47 -48 -45 -40 -35 -30 -29 -30 -31 -31 -30 -31 -31 -30 -29 -30 -30 -29 -29 -31 -32 -30 -29 -30 -31 -33 -36 -37 -36 -34 -32 -29 -28 -27 -29 -31 -32 -32 -30 -30 -32 -33 -33 -31 -28 -29 -31 -31 -29 -29 -28 -27 -27 -28 -29 -29 -28 -28 -28 -28 -28 -29 -31 -30 -30 -30 -31 -33 -32 -30 -29 -29 -29 -29 -30 -31 -32 -33 -35 -36 -36 -36 -36 -35 -33 -31 -29 -28 -30 -31 -32 -32 -32 -32 -32 -33 -33 -33 -17 -17 -17 -16 -17 -17 -17 -16 -15 -14 -13 -12 -12 -12 -13 -14 -14 -12 -11 -11 -11 -11 -10 -10 -10 -10 -9 -8 -8 -8 -7 -7 -6 -7 -7 -6 -6 -6 -7 -8 -8 -9 -9 -9 -9 -9 -10 -12 -14 -15 -16 -17 -15 -13 -11 -10 -8 -6 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -2 -2 -2 -2 -1 -0 1 1 1 1 -0 -3 -6 -10 -14 -20 -22 -20 -16 -10 -7 -4 -3 -6 -11 -18 -21 -22 -22 -21 -19 -19 -21 -24 -26 -25 -22 -17 -11 -5 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -6 -5 -3 -1 2 3 4 6 7 8 7 5 1 -5 -9 -12 -14 -12 -8 -7 -9 -13 -17 -18 -19 -21 -23 -27 -28 -27 -26 -24 -21 -19 -18 -17 -18 -19 -19 -20 -22 -28 -31 -32 -29 -24 -18 -14 -12 -10 -7 -3 -1 -2 -8 -14 -18 -20 -20 -19 -17 -15 -12 -10 -9 -13 -19 -24 -28 -29 -28 -30 -32 -33 -34 -36 -36 -36 -34 -32 -28 -22 -17 -14 -13 -15 -16 -18 -21 -26 -31 -36 -40 -44 -47 -48 -45 -38 -29 -24 -22 -20 -18 -16 -15 -15 -14 -12 -13 -17 -21 -24 -24 -22 -20 -19 -19 -19 -18 -17 -16 -16 -18 -20 -21 -21 -21 -20 -20 -21 -21 -21 -20 -18 -17 -16 -18 -19 -19 -18 -17 -17 -18 -20 -22 -26 -29 -30 -31 -32 -31 -29 -29 -30 -31 -27 -26 -28 -32 -32 -32 -33 -35 -36 -35 -34 -35 -38 -41 -43 -44 -45 -45 -48 -51 -49 -47 -45 -47 -45 -43 -43 -46 -44 -41 -40 -40 -40 -40 -43 -45 -47 -49 -47 -43 -36 -30 -27 -29 -30 -30 -30 -31 -31 -30 -29 -29 -29 -30 -30 -30 -30 -30 -30 -30 -31 -33 -36 -38 -38 -37 -35 -32 -29 -27 -30 -33 -34 -33 -31 -30 -30 -31 -32 -29 -27 -28 -29 -28 -27 -27 -26 -26 -27 -27 -27 -28 -28 -28 -29 -28 -28 -28 -30 -30 -30 -30 -31 -31 -31 -30 -29 -29 -29 -28 -29 -30 -31 -33 -34 -35 -35 -35 -35 -35 -35 -33 -32 -31 -31 -31 -33 -32 -31 -31 -32 -32 -32 -32 -17 -17 -17 -17 -18 -18 -18 -16 -15 -13 -12 -11 -11 -12 -13 -14 -13 -11 -10 -10 -10 -9 -8 -8 -9 -9 -10 -10 -10 -9 -8 -7 -6 -5 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -7 -7 -10 -13 -15 -16 -16 -15 -15 -14 -13 -10 -7 -5 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -3 -3 -2 -1 0 1 2 2 1 -2 -5 -10 -15 -21 -22 -19 -14 -8 -5 -4 -4 -8 -14 -19 -22 -22 -21 -18 -16 -17 -22 -28 -32 -31 -28 -23 -16 -11 -7 -5 -4 -4 -4 -5 -6 -7 -7 -6 -5 -4 -3 -1 2 4 6 7 8 8 8 6 3 -3 -9 -13 -16 -14 -10 -10 -12 -16 -19 -19 -19 -19 -20 -24 -25 -25 -23 -21 -20 -19 -20 -21 -22 -23 -24 -23 -23 -25 -27 -28 -26 -23 -19 -16 -14 -13 -9 -6 -3 -3 -5 -9 -14 -19 -21 -21 -20 -18 -15 -12 -11 -13 -16 -20 -23 -26 -26 -28 -31 -32 -31 -31 -30 -29 -27 -27 -25 -23 -20 -17 -16 -17 -19 -20 -24 -28 -32 -36 -41 -46 -49 -50 -47 -38 -28 -23 -20 -19 -15 -13 -12 -12 -13 -12 -13 -15 -17 -19 -19 -19 -19 -20 -23 -23 -21 -18 -16 -16 -18 -20 -21 -21 -20 -21 -22 -22 -22 -22 -21 -20 -19 -17 -17 -19 -20 -19 -18 -18 -20 -22 -24 -27 -29 -30 -31 -31 -31 -30 -31 -32 -33 -30 -28 -28 -28 -29 -29 -30 -31 -32 -32 -31 -32 -34 -37 -39 -42 -43 -43 -44 -47 -46 -43 -42 -46 -45 -42 -41 -42 -42 -42 -42 -43 -44 -41 -42 -44 -47 -50 -50 -46 -39 -31 -26 -26 -27 -29 -32 -32 -30 -28 -27 -28 -29 -30 -30 -29 -29 -31 -31 -31 -31 -33 -35 -37 -38 -37 -36 -33 -30 -28 -29 -31 -32 -32 -32 -30 -30 -30 -30 -28 -26 -27 -28 -28 -26 -25 -25 -25 -26 -26 -26 -27 -28 -28 -29 -28 -27 -28 -29 -29 -30 -30 -30 -30 -31 -30 -29 -28 -28 -28 -28 -29 -30 -32 -32 -33 -35 -36 -36 -36 -35 -34 -34 -33 -32 -32 -34 -33 -31 -31 -33 -32 -31 -31 -18 -18 -18 -18 -19 -19 -18 -16 -14 -12 -11 -10 -11 -12 -13 -13 -13 -11 -9 -9 -9 -8 -7 -7 -8 -9 -11 -11 -11 -11 -9 -8 -6 -5 -4 -5 -5 -6 -7 -7 -7 -8 -9 -9 -8 -9 -12 -13 -13 -12 -14 -16 -16 -14 -12 -8 -6 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -3 -3 -2 -0 1 1 1 -1 -4 -9 -14 -21 -22 -20 -15 -10 -6 -5 -7 -12 -18 -22 -23 -22 -20 -17 -16 -17 -20 -25 -29 -34 -36 -33 -26 -17 -12 -9 -7 -6 -5 -6 -6 -6 -5 -5 -5 -4 -3 -2 0 3 5 7 8 8 8 7 5 1 -5 -11 -14 -14 -13 -15 -18 -21 -22 -21 -19 -18 -18 -20 -20 -19 -18 -17 -18 -20 -23 -26 -29 -30 -29 -27 -24 -24 -25 -25 -23 -21 -19 -17 -16 -15 -12 -9 -6 -5 -5 -8 -11 -15 -19 -19 -19 -20 -19 -17 -15 -16 -18 -20 -21 -21 -21 -24 -28 -31 -30 -28 -26 -25 -25 -25 -26 -26 -24 -21 -20 -20 -21 -23 -27 -32 -35 -38 -42 -48 -52 -53 -50 -41 -28 -21 -18 -17 -13 -10 -10 -10 -10 -12 -13 -14 -15 -15 -17 -18 -20 -22 -25 -25 -22 -19 -16 -16 -18 -20 -21 -21 -20 -20 -22 -23 -23 -22 -22 -22 -22 -19 -19 -21 -22 -22 -20 -20 -21 -24 -25 -27 -28 -29 -30 -30 -30 -31 -31 -32 -32 -31 -29 -27 -27 -27 -28 -28 -28 -28 -27 -26 -27 -29 -31 -35 -38 -39 -39 -40 -41 -40 -38 -38 -41 -41 -40 -39 -39 -39 -40 -41 -42 -43 -42 -42 -43 -46 -48 -49 -46 -41 -34 -28 -25 -25 -27 -33 -33 -29 -25 -23 -27 -29 -31 -31 -30 -30 -31 -32 -32 -31 -32 -34 -35 -36 -36 -36 -34 -31 -29 -30 -30 -29 -29 -30 -31 -30 -29 -30 -27 -25 -26 -28 -28 -27 -26 -26 -25 -25 -24 -25 -26 -27 -27 -28 -28 -27 -27 -28 -29 -30 -30 -30 -31 -30 -30 -30 -30 -30 -29 -28 -28 -30 -31 -31 -32 -34 -36 -37 -36 -36 -34 -35 -34 -33 -32 -34 -34 -32 -32 -34 -33 -32 -31 -18 -19 -19 -19 -19 -19 -18 -16 -14 -12 -10 -10 -10 -11 -12 -12 -12 -10 -9 -9 -8 -8 -7 -7 -7 -8 -10 -10 -10 -9 -8 -7 -6 -4 -4 -4 -5 -6 -6 -6 -6 -7 -8 -9 -9 -10 -10 -10 -11 -12 -14 -14 -14 -13 -11 -9 -8 -8 -8 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -6 -5 -5 -4 -4 -4 -4 -5 -5 -4 -3 -3 -2 -1 -3 -5 -7 -10 -14 -18 -20 -19 -16 -11 -9 -11 -15 -19 -21 -22 -21 -20 -18 -18 -19 -21 -23 -27 -33 -37 -37 -31 -22 -15 -10 -8 -8 -7 -7 -7 -6 -4 -5 -5 -5 -4 -2 -0 2 5 7 8 8 7 7 6 4 0 -4 -9 -13 -16 -21 -25 -27 -25 -23 -21 -18 -14 -14 -15 -17 -17 -17 -19 -22 -26 -30 -36 -37 -35 -30 -24 -22 -23 -23 -22 -20 -18 -16 -16 -16 -14 -12 -10 -9 -9 -10 -11 -13 -16 -18 -18 -19 -20 -20 -19 -19 -20 -22 -22 -23 -22 -22 -24 -26 -27 -25 -23 -22 -21 -23 -26 -29 -30 -27 -24 -23 -23 -25 -30 -35 -39 -41 -43 -48 -52 -54 -52 -43 -30 -22 -18 -17 -15 -12 -10 -9 -10 -11 -13 -14 -14 -14 -14 -16 -18 -20 -24 -26 -24 -20 -16 -15 -18 -20 -21 -20 -20 -20 -21 -24 -25 -23 -23 -24 -25 -22 -22 -23 -25 -24 -22 -21 -22 -24 -25 -26 -27 -28 -29 -28 -28 -30 -32 -32 -32 -29 -27 -27 -27 -27 -26 -26 -26 -26 -24 -23 -24 -26 -28 -31 -33 -34 -34 -35 -35 -34 -33 -36 -37 -36 -36 -36 -36 -37 -38 -39 -40 -40 -40 -40 -42 -44 -45 -45 -44 -41 -38 -32 -27 -25 -25 -31 -32 -29 -25 -22 -26 -29 -31 -31 -30 -31 -32 -32 -32 -31 -31 -32 -33 -32 -34 -34 -33 -32 -30 -30 -30 -28 -27 -28 -29 -29 -29 -29 -26 -25 -26 -28 -28 -27 -26 -26 -26 -24 -24 -25 -26 -27 -27 -26 -27 -27 -27 -27 -28 -29 -31 -32 -32 -30 -29 -30 -31 -31 -30 -29 -29 -30 -30 -30 -31 -33 -36 -36 -36 -34 -33 -35 -35 -34 -32 -34 -34 -33 -32 -33 -33 -32 -32 -19 -19 -19 -19 -19 -19 -18 -16 -14 -12 -11 -10 -10 -11 -11 -11 -11 -10 -9 -8 -7 -7 -7 -7 -7 -8 -10 -9 -9 -9 -8 -7 -5 -4 -4 -4 -5 -5 -5 -5 -6 -7 -7 -8 -9 -10 -9 -9 -10 -11 -11 -10 -10 -11 -12 -11 -12 -12 -10 -8 -7 -6 -6 -5 -5 -5 -4 -4 -4 -5 -5 -6 -5 -5 -5 -5 -5 -6 -6 -5 -6 -6 -6 -6 -7 -7 -7 -8 -9 -12 -16 -19 -19 -16 -15 -16 -18 -19 -19 -20 -20 -20 -20 -21 -22 -23 -24 -25 -30 -33 -34 -31 -23 -16 -11 -9 -9 -9 -9 -8 -6 -5 -5 -5 -5 -5 -3 -1 1 3 5 5 5 5 5 4 3 0 -3 -6 -9 -14 -20 -25 -27 -24 -22 -19 -17 -14 -12 -13 -14 -16 -19 -22 -26 -30 -35 -38 -39 -35 -30 -24 -22 -21 -20 -19 -19 -17 -15 -14 -14 -14 -14 -14 -13 -12 -13 -13 -13 -15 -17 -17 -18 -20 -21 -22 -22 -23 -23 -22 -23 -24 -25 -25 -25 -27 -27 -27 -25 -24 -26 -29 -33 -35 -34 -32 -28 -25 -25 -29 -35 -40 -43 -44 -45 -48 -49 -48 -43 -33 -25 -21 -19 -18 -15 -12 -11 -12 -12 -13 -14 -15 -13 -13 -14 -15 -16 -19 -22 -22 -19 -15 -13 -15 -18 -19 -20 -20 -20 -21 -23 -24 -23 -22 -23 -24 -22 -22 -23 -25 -24 -22 -21 -22 -23 -25 -26 -26 -27 -28 -28 -28 -29 -31 -32 -31 -28 -26 -26 -27 -27 -26 -26 -27 -27 -24 -24 -25 -28 -30 -32 -33 -34 -33 -32 -31 -30 -31 -33 -33 -32 -32 -33 -34 -35 -36 -37 -38 -38 -38 -38 -40 -41 -43 -43 -42 -41 -42 -38 -32 -27 -24 -28 -31 -30 -28 -26 -28 -30 -31 -30 -31 -32 -32 -31 -31 -30 -30 -30 -30 -30 -31 -32 -32 -31 -30 -29 -28 -27 -27 -28 -28 -28 -27 -26 -25 -25 -27 -28 -28 -28 -27 -27 -26 -24 -24 -25 -25 -26 -26 -25 -26 -27 -27 -26 -27 -28 -30 -32 -32 -30 -29 -30 -30 -30 -30 -29 -29 -29 -29 -29 -31 -32 -34 -35 -34 -33 -33 -35 -36 -34 -32 -32 -33 -33 -32 -32 -33 -32 -32 -19 -19 -19 -19 -19 -19 -18 -16 -14 -12 -11 -10 -10 -11 -12 -12 -10 -9 -9 -8 -7 -6 -7 -6 -7 -8 -9 -9 -9 -9 -9 -8 -5 -5 -5 -6 -7 -7 -6 -6 -5 -6 -7 -8 -9 -9 -8 -8 -9 -9 -8 -8 -9 -10 -11 -12 -14 -14 -12 -9 -8 -7 -7 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -10 -12 -11 -9 -8 -8 -8 -8 -11 -15 -18 -19 -20 -21 -21 -19 -17 -18 -20 -23 -23 -24 -24 -24 -24 -24 -26 -28 -29 -28 -23 -17 -12 -10 -10 -10 -10 -8 -7 -6 -5 -6 -6 -6 -4 -3 -1 1 2 3 2 2 2 1 1 -0 -1 -3 -5 -9 -15 -22 -25 -24 -22 -20 -19 -17 -15 -13 -14 -17 -22 -25 -28 -31 -33 -31 -30 -30 -29 -27 -24 -21 -19 -19 -19 -17 -15 -13 -12 -13 -15 -15 -14 -14 -14 -14 -15 -15 -17 -17 -17 -19 -21 -23 -25 -25 -24 -22 -22 -26 -28 -29 -28 -30 -31 -32 -32 -31 -33 -37 -40 -42 -40 -36 -32 -29 -27 -30 -36 -41 -43 -42 -40 -40 -41 -42 -39 -34 -28 -25 -23 -22 -18 -15 -14 -15 -15 -15 -15 -14 -14 -13 -12 -12 -13 -16 -18 -19 -18 -15 -14 -15 -17 -18 -20 -20 -20 -20 -22 -22 -21 -21 -22 -22 -20 -20 -22 -23 -22 -21 -21 -21 -22 -24 -26 -28 -28 -27 -26 -26 -27 -28 -29 -29 -27 -25 -25 -26 -26 -26 -27 -28 -28 -27 -26 -27 -28 -31 -34 -37 -37 -33 -28 -26 -27 -27 -27 -27 -28 -29 -30 -31 -33 -35 -36 -37 -37 -36 -36 -37 -39 -42 -43 -43 -43 -45 -44 -39 -32 -27 -27 -30 -32 -32 -31 -31 -32 -31 -30 -30 -31 -31 -31 -30 -29 -28 -28 -27 -29 -30 -31 -31 -30 -29 -27 -26 -26 -28 -30 -30 -30 -29 -26 -25 -25 -27 -28 -28 -29 -28 -27 -25 -25 -24 -24 -23 -24 -25 -26 -26 -26 -27 -26 -25 -27 -29 -30 -31 -30 -30 -29 -30 -30 -29 -28 -28 -28 -28 -28 -29 -31 -33 -33 -33 -32 -32 -34 -36 -35 -32 -32 -31 -31 -31 -31 -31 -31 -31 -18 -19 -19 -20 -20 -19 -17 -16 -14 -12 -11 -10 -11 -12 -13 -13 -12 -10 -10 -9 -8 -8 -8 -8 -8 -9 -8 -8 -7 -7 -6 -6 -6 -7 -7 -7 -9 -10 -9 -7 -6 -6 -7 -8 -8 -8 -7 -7 -7 -8 -8 -8 -9 -10 -10 -11 -13 -13 -12 -10 -9 -9 -9 -7 -6 -6 -6 -7 -8 -7 -6 -6 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -10 -13 -13 -11 -9 -9 -9 -8 -9 -11 -15 -19 -23 -24 -24 -21 -18 -18 -21 -25 -27 -26 -24 -23 -22 -22 -22 -24 -26 -26 -23 -18 -14 -12 -11 -10 -9 -8 -7 -6 -6 -6 -7 -7 -6 -5 -4 -2 -1 -0 -0 -0 -1 -1 -1 -1 -1 -0 -1 -5 -11 -17 -21 -22 -22 -21 -21 -21 -18 -17 -17 -20 -23 -25 -25 -25 -25 -24 -24 -26 -28 -32 -30 -25 -20 -17 -18 -16 -13 -10 -10 -12 -13 -14 -13 -13 -14 -15 -16 -17 -18 -18 -17 -19 -22 -24 -26 -27 -26 -22 -21 -24 -28 -31 -31 -32 -33 -35 -37 -38 -40 -43 -45 -45 -42 -37 -33 -30 -29 -32 -35 -38 -40 -40 -38 -36 -35 -34 -31 -30 -29 -29 -28 -25 -21 -18 -17 -18 -19 -18 -16 -14 -13 -13 -13 -13 -13 -15 -17 -18 -18 -17 -15 -15 -16 -18 -19 -20 -20 -20 -20 -19 -20 -22 -23 -22 -19 -19 -20 -21 -20 -20 -21 -21 -22 -23 -26 -27 -27 -26 -26 -25 -24 -23 -24 -25 -25 -25 -24 -25 -25 -26 -27 -28 -28 -29 -28 -27 -27 -30 -35 -39 -41 -36 -29 -26 -26 -26 -26 -26 -26 -27 -28 -30 -32 -34 -35 -36 -36 -37 -37 -36 -37 -40 -42 -44 -46 -47 -48 -45 -40 -33 -28 -29 -31 -34 -33 -34 -34 -33 -31 -30 -30 -30 -29 -29 -28 -27 -27 -27 -30 -30 -30 -29 -30 -28 -25 -24 -25 -29 -30 -31 -32 -31 -27 -25 -26 -27 -27 -28 -29 -28 -27 -26 -26 -25 -24 -22 -23 -25 -26 -27 -27 -26 -24 -24 -25 -28 -29 -29 -30 -30 -29 -29 -30 -29 -29 -27 -27 -27 -27 -27 -28 -30 -31 -31 -31 -32 -33 -35 -35 -33 -31 -30 -29 -28 -30 -30 -30 -31 -17 -18 -19 -19 -19 -18 -17 -15 -13 -12 -11 -11 -12 -13 -14 -14 -13 -10 -10 -10 -10 -10 -11 -11 -11 -10 -9 -8 -8 -6 -4 -4 -8 -10 -9 -7 -9 -10 -9 -8 -8 -8 -8 -8 -8 -8 -6 -6 -6 -7 -8 -8 -9 -9 -10 -11 -12 -12 -11 -10 -11 -12 -11 -9 -7 -6 -7 -8 -9 -8 -7 -7 -7 -8 -8 -9 -10 -10 -11 -11 -12 -11 -11 -10 -11 -12 -11 -9 -8 -9 -9 -10 -13 -18 -22 -25 -25 -24 -22 -22 -25 -27 -27 -26 -24 -22 -20 -19 -20 -22 -25 -26 -23 -19 -17 -15 -14 -12 -9 -7 -6 -5 -5 -6 -7 -7 -7 -7 -6 -6 -5 -3 -3 -2 -3 -4 -4 -3 -2 0 0 -2 -7 -12 -17 -20 -21 -21 -21 -22 -21 -21 -22 -24 -25 -23 -19 -15 -14 -16 -17 -21 -27 -35 -36 -30 -23 -18 -16 -14 -12 -10 -9 -9 -11 -12 -12 -13 -15 -17 -19 -20 -21 -19 -17 -18 -22 -26 -29 -30 -28 -24 -20 -21 -25 -30 -32 -32 -32 -35 -38 -41 -44 -45 -45 -44 -40 -34 -30 -28 -29 -33 -36 -40 -42 -41 -38 -35 -31 -29 -27 -26 -28 -30 -32 -30 -25 -21 -19 -19 -21 -21 -18 -15 -13 -14 -14 -15 -15 -15 -16 -16 -17 -18 -17 -17 -18 -18 -18 -18 -18 -18 -17 -17 -20 -22 -23 -21 -19 -18 -18 -18 -18 -20 -22 -23 -22 -22 -24 -25 -26 -26 -26 -25 -23 -22 -22 -23 -23 -23 -23 -23 -24 -25 -25 -26 -27 -28 -29 -28 -27 -29 -33 -37 -40 -37 -31 -29 -28 -29 -29 -27 -26 -25 -27 -28 -29 -31 -33 -34 -36 -38 -39 -38 -36 -38 -41 -44 -47 -48 -49 -48 -46 -39 -33 -30 -30 -32 -32 -33 -34 -34 -32 -30 -29 -29 -28 -27 -28 -27 -27 -27 -29 -29 -28 -28 -30 -28 -26 -25 -25 -28 -29 -31 -32 -31 -28 -26 -26 -27 -27 -28 -29 -28 -27 -27 -27 -26 -25 -23 -23 -24 -25 -26 -27 -25 -24 -23 -23 -26 -28 -29 -29 -30 -30 -30 -29 -30 -29 -27 -27 -27 -27 -26 -27 -28 -28 -29 -30 -31 -32 -33 -34 -32 -32 -31 -29 -28 -29 -30 -29 -30 -16 -17 -18 -18 -18 -17 -15 -13 -12 -12 -11 -11 -11 -12 -14 -15 -14 -11 -10 -10 -10 -11 -13 -14 -13 -12 -11 -10 -8 -5 -3 -4 -10 -13 -11 -9 -8 -8 -7 -7 -9 -10 -9 -7 -7 -7 -7 -6 -5 -6 -7 -7 -8 -8 -9 -12 -13 -13 -13 -13 -13 -12 -11 -10 -8 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -11 -12 -12 -12 -11 -8 -8 -11 -13 -14 -14 -14 -12 -11 -14 -20 -24 -26 -26 -28 -27 -27 -28 -28 -27 -26 -23 -21 -18 -18 -20 -22 -25 -25 -22 -19 -18 -18 -18 -14 -9 -6 -4 -3 -3 -4 -5 -6 -7 -8 -9 -9 -7 -5 -4 -3 -4 -5 -6 -6 -5 -3 -1 -2 -5 -9 -13 -17 -19 -19 -20 -21 -22 -23 -26 -28 -28 -23 -17 -11 -9 -10 -12 -16 -23 -31 -34 -31 -25 -19 -15 -12 -10 -9 -9 -8 -9 -9 -9 -10 -13 -16 -19 -20 -22 -22 -21 -21 -25 -30 -33 -34 -32 -26 -21 -20 -22 -26 -30 -30 -30 -32 -36 -41 -44 -45 -44 -41 -36 -31 -27 -26 -29 -33 -38 -42 -44 -43 -40 -36 -32 -29 -27 -27 -28 -30 -33 -30 -26 -22 -21 -20 -21 -21 -19 -16 -14 -15 -16 -17 -18 -17 -16 -15 -17 -18 -19 -19 -19 -18 -18 -18 -18 -17 -16 -16 -19 -21 -22 -20 -19 -18 -18 -18 -19 -20 -22 -23 -22 -20 -21 -22 -24 -26 -26 -25 -24 -24 -23 -23 -23 -22 -22 -23 -23 -23 -24 -25 -25 -27 -28 -29 -28 -28 -32 -36 -38 -35 -32 -31 -31 -31 -30 -29 -28 -26 -25 -26 -27 -29 -31 -32 -36 -40 -43 -42 -38 -38 -40 -42 -44 -46 -48 -50 -49 -44 -39 -35 -32 -31 -30 -31 -33 -34 -33 -31 -29 -27 -27 -27 -27 -26 -26 -28 -28 -27 -26 -27 -28 -28 -28 -26 -25 -27 -29 -30 -31 -30 -28 -26 -26 -27 -27 -28 -29 -28 -27 -28 -27 -26 -25 -24 -23 -23 -23 -24 -26 -25 -23 -22 -23 -24 -27 -28 -29 -30 -31 -30 -29 -29 -28 -28 -27 -27 -26 -26 -26 -27 -27 -27 -28 -30 -31 -32 -33 -33 -32 -32 -30 -29 -30 -30 -28 -28 -16 -16 -17 -17 -17 -16 -14 -12 -11 -11 -11 -11 -11 -12 -13 -14 -14 -12 -11 -10 -10 -10 -12 -13 -13 -12 -12 -11 -7 -4 -3 -7 -10 -11 -11 -10 -10 -9 -6 -5 -7 -8 -6 -5 -4 -6 -8 -8 -7 -5 -5 -6 -6 -7 -9 -11 -13 -14 -14 -14 -14 -14 -12 -11 -9 -8 -8 -8 -8 -10 -11 -12 -12 -12 -12 -12 -12 -12 -12 -11 -9 -8 -7 -7 -6 -7 -10 -15 -20 -20 -17 -15 -17 -22 -26 -28 -29 -30 -31 -32 -31 -28 -26 -24 -23 -21 -18 -17 -19 -22 -24 -25 -23 -21 -21 -21 -21 -16 -11 -7 -4 -2 -3 -3 -4 -4 -4 -6 -8 -9 -9 -7 -5 -4 -5 -7 -9 -10 -9 -7 -4 -4 -6 -8 -9 -13 -15 -17 -18 -19 -22 -24 -27 -29 -30 -26 -21 -15 -10 -8 -9 -12 -18 -24 -27 -26 -23 -20 -16 -12 -9 -9 -8 -7 -6 -6 -5 -5 -8 -13 -17 -20 -24 -26 -27 -27 -29 -34 -38 -39 -37 -31 -24 -20 -20 -22 -25 -27 -27 -29 -34 -40 -43 -44 -42 -39 -34 -30 -28 -28 -29 -34 -39 -43 -45 -45 -42 -38 -35 -33 -32 -31 -31 -30 -30 -28 -26 -24 -24 -24 -23 -21 -20 -18 -18 -18 -18 -19 -20 -19 -17 -16 -17 -19 -19 -20 -20 -19 -19 -19 -18 -17 -14 -13 -15 -19 -21 -20 -20 -20 -20 -20 -20 -20 -21 -22 -22 -20 -20 -21 -22 -25 -25 -25 -26 -26 -24 -23 -22 -22 -22 -22 -21 -21 -22 -25 -26 -26 -28 -29 -29 -29 -33 -36 -37 -34 -32 -33 -34 -34 -33 -33 -32 -30 -27 -26 -27 -29 -31 -33 -36 -40 -44 -45 -43 -41 -42 -43 -42 -43 -46 -50 -50 -47 -43 -38 -32 -30 -31 -31 -31 -34 -34 -33 -30 -28 -27 -28 -27 -26 -26 -28 -27 -27 -27 -27 -28 -29 -29 -27 -25 -26 -28 -30 -31 -29 -28 -27 -26 -26 -25 -27 -28 -28 -27 -27 -27 -27 -25 -24 -23 -22 -21 -22 -24 -24 -23 -22 -22 -24 -26 -27 -28 -31 -31 -30 -28 -29 -28 -28 -28 -27 -26 -26 -26 -26 -26 -26 -28 -28 -29 -31 -32 -33 -33 -33 -31 -30 -30 -29 -29 -28 -15 -16 -17 -17 -16 -15 -13 -12 -11 -11 -11 -11 -12 -13 -14 -14 -14 -13 -12 -10 -8 -8 -10 -11 -11 -12 -12 -9 -5 -4 -5 -8 -8 -8 -9 -10 -10 -9 -6 -5 -5 -7 -5 -4 -4 -6 -7 -6 -5 -5 -5 -6 -7 -8 -8 -10 -12 -14 -15 -16 -16 -15 -13 -11 -9 -9 -9 -10 -10 -12 -13 -15 -16 -16 -17 -17 -16 -16 -15 -13 -10 -8 -6 -5 -6 -7 -9 -13 -17 -18 -17 -16 -18 -23 -27 -29 -31 -32 -35 -36 -36 -33 -27 -21 -18 -17 -17 -17 -18 -20 -23 -26 -27 -27 -26 -26 -23 -17 -13 -9 -5 -2 -2 -3 -4 -4 -4 -5 -5 -7 -7 -6 -5 -4 -4 -7 -10 -12 -12 -9 -8 -7 -7 -9 -10 -11 -13 -15 -16 -18 -21 -24 -26 -28 -28 -26 -23 -19 -15 -11 -9 -10 -14 -19 -22 -21 -19 -18 -16 -13 -10 -9 -8 -7 -5 -3 -2 -1 -4 -8 -13 -18 -23 -28 -31 -32 -33 -38 -41 -42 -40 -34 -26 -21 -19 -19 -20 -22 -25 -28 -33 -38 -40 -41 -40 -37 -34 -32 -31 -31 -33 -35 -39 -43 -45 -45 -43 -41 -38 -38 -37 -34 -31 -28 -28 -29 -29 -28 -28 -28 -25 -22 -20 -20 -20 -20 -20 -20 -20 -20 -19 -18 -18 -18 -18 -19 -20 -20 -20 -20 -19 -18 -15 -13 -15 -17 -19 -21 -22 -22 -21 -20 -19 -19 -20 -22 -24 -24 -23 -22 -22 -23 -23 -24 -25 -26 -24 -23 -22 -22 -22 -22 -22 -22 -23 -25 -26 -26 -27 -28 -28 -31 -34 -36 -36 -34 -33 -34 -36 -36 -36 -36 -36 -34 -30 -28 -28 -29 -32 -33 -35 -38 -42 -46 -46 -46 -47 -48 -43 -42 -45 -48 -49 -47 -45 -40 -33 -29 -30 -30 -30 -33 -34 -33 -32 -30 -28 -28 -28 -28 -27 -27 -27 -27 -27 -26 -27 -29 -29 -28 -27 -26 -27 -29 -29 -28 -28 -28 -27 -26 -23 -25 -27 -27 -26 -27 -28 -27 -26 -25 -23 -21 -20 -20 -21 -22 -23 -23 -23 -24 -25 -27 -28 -30 -30 -28 -28 -28 -28 -28 -28 -27 -27 -26 -26 -26 -25 -26 -27 -28 -28 -30 -32 -34 -34 -33 -30 -30 -30 -29 -29 -28 -14 -16 -16 -16 -15 -14 -12 -11 -11 -11 -11 -11 -13 -16 -17 -15 -14 -12 -11 -9 -7 -7 -8 -8 -9 -9 -9 -7 -4 -5 -7 -8 -7 -7 -8 -9 -8 -6 -7 -7 -6 -5 -4 -4 -5 -6 -6 -4 -3 -4 -5 -8 -10 -10 -10 -10 -12 -14 -16 -17 -16 -15 -12 -10 -9 -9 -10 -10 -11 -12 -14 -16 -18 -19 -19 -20 -19 -19 -18 -16 -14 -11 -8 -7 -8 -10 -12 -13 -14 -15 -15 -16 -19 -22 -26 -29 -32 -34 -38 -41 -43 -41 -33 -21 -13 -11 -13 -15 -16 -19 -23 -28 -31 -32 -33 -31 -24 -18 -14 -10 -7 -3 -2 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -3 -3 -5 -8 -10 -11 -11 -11 -11 -10 -10 -12 -12 -13 -14 -15 -17 -21 -24 -27 -26 -24 -22 -21 -21 -20 -16 -13 -12 -13 -16 -19 -18 -16 -15 -14 -12 -11 -10 -10 -9 -7 -4 -2 -0 -1 -4 -9 -15 -21 -27 -31 -34 -37 -40 -43 -44 -42 -37 -29 -24 -21 -20 -20 -21 -23 -25 -29 -32 -34 -35 -36 -36 -34 -33 -33 -35 -37 -39 -41 -42 -43 -43 -42 -41 -41 -42 -41 -37 -32 -28 -28 -30 -30 -29 -27 -25 -23 -21 -21 -21 -21 -21 -20 -19 -19 -19 -19 -19 -19 -18 -18 -18 -20 -20 -20 -20 -20 -19 -17 -16 -16 -16 -16 -19 -21 -22 -22 -21 -20 -20 -21 -23 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -23 -22 -22 -23 -24 -24 -24 -25 -26 -26 -27 -27 -28 -30 -32 -34 -35 -35 -35 -35 -35 -36 -37 -38 -39 -38 -36 -33 -32 -31 -31 -32 -32 -34 -36 -40 -44 -46 -48 -49 -51 -46 -44 -45 -47 -47 -46 -45 -42 -35 -30 -28 -27 -27 -30 -33 -34 -34 -32 -29 -28 -28 -28 -28 -27 -26 -26 -25 -25 -26 -27 -28 -28 -27 -27 -27 -27 -27 -27 -28 -28 -28 -25 -23 -23 -25 -26 -26 -27 -28 -27 -27 -26 -24 -22 -20 -18 -19 -20 -22 -23 -23 -24 -25 -27 -29 -29 -28 -28 -28 -28 -28 -29 -29 -28 -27 -26 -26 -25 -24 -26 -27 -28 -28 -29 -32 -34 -34 -33 -30 -29 -29 -29 -28 -27 -14 -16 -16 -16 -14 -13 -11 -11 -11 -11 -11 -11 -13 -17 -17 -15 -13 -12 -10 -8 -7 -7 -8 -8 -8 -7 -7 -6 -5 -6 -7 -8 -7 -7 -7 -7 -6 -5 -6 -7 -6 -3 -3 -4 -5 -6 -5 -3 -3 -4 -6 -8 -9 -10 -10 -11 -13 -16 -17 -17 -16 -14 -12 -10 -10 -10 -10 -11 -11 -12 -14 -16 -18 -19 -19 -19 -19 -19 -18 -17 -16 -15 -13 -12 -11 -13 -15 -15 -15 -14 -13 -14 -17 -19 -23 -28 -32 -35 -39 -44 -47 -48 -42 -26 -14 -9 -10 -12 -14 -18 -23 -27 -31 -35 -36 -32 -23 -18 -15 -12 -9 -5 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -3 -6 -8 -9 -10 -12 -12 -12 -12 -12 -12 -13 -14 -16 -18 -21 -24 -26 -25 -22 -20 -19 -19 -18 -16 -14 -13 -13 -14 -15 -16 -15 -14 -12 -11 -11 -10 -11 -11 -10 -8 -6 -3 -1 -1 -5 -10 -16 -22 -27 -32 -36 -41 -44 -45 -42 -36 -29 -25 -22 -20 -19 -18 -19 -23 -27 -29 -30 -31 -32 -33 -33 -32 -33 -36 -40 -43 -44 -44 -43 -41 -40 -41 -43 -45 -44 -40 -34 -29 -28 -28 -27 -26 -25 -22 -19 -19 -22 -23 -22 -21 -20 -21 -21 -20 -20 -20 -20 -19 -19 -19 -19 -18 -20 -20 -20 -20 -19 -18 -17 -17 -15 -16 -19 -22 -23 -23 -23 -23 -22 -22 -23 -23 -24 -24 -24 -24 -24 -24 -24 -23 -24 -24 -23 -23 -24 -25 -26 -26 -25 -26 -26 -27 -27 -28 -30 -32 -33 -35 -35 -36 -36 -36 -35 -36 -38 -40 -40 -38 -36 -34 -33 -32 -32 -32 -33 -35 -38 -41 -43 -44 -47 -49 -47 -46 -46 -46 -45 -44 -44 -42 -38 -32 -27 -23 -22 -26 -32 -37 -39 -36 -32 -29 -28 -28 -27 -27 -26 -25 -24 -24 -25 -27 -27 -27 -26 -26 -26 -27 -27 -27 -28 -28 -27 -24 -23 -23 -24 -25 -25 -27 -28 -27 -26 -25 -25 -24 -22 -18 -18 -18 -20 -22 -24 -24 -25 -26 -28 -28 -28 -28 -28 -28 -29 -29 -29 -28 -27 -26 -25 -25 -24 -25 -27 -27 -27 -28 -31 -34 -35 -34 -30 -29 -29 -28 -27 -26 -15 -16 -16 -15 -13 -12 -11 -11 -11 -11 -11 -12 -15 -18 -18 -15 -13 -12 -10 -9 -9 -9 -10 -10 -8 -7 -6 -6 -6 -7 -7 -8 -8 -7 -6 -5 -5 -5 -6 -6 -5 -4 -4 -4 -5 -5 -4 -4 -4 -5 -5 -5 -7 -9 -11 -12 -15 -18 -19 -18 -16 -14 -12 -10 -10 -11 -11 -11 -11 -12 -13 -15 -17 -17 -17 -18 -17 -17 -16 -16 -16 -16 -16 -16 -15 -16 -17 -17 -17 -15 -13 -12 -13 -15 -20 -25 -31 -36 -39 -43 -46 -49 -47 -35 -23 -13 -10 -11 -13 -17 -22 -26 -30 -34 -33 -28 -21 -17 -15 -13 -11 -8 -5 -4 -3 -3 -3 -3 -4 -4 -4 -3 -3 -3 -3 -3 -5 -7 -7 -8 -11 -12 -12 -12 -11 -11 -12 -14 -16 -18 -20 -23 -24 -23 -21 -20 -18 -17 -17 -16 -15 -13 -12 -13 -14 -15 -16 -15 -14 -12 -11 -10 -11 -12 -12 -12 -10 -7 -3 -1 -2 -5 -10 -15 -21 -27 -32 -37 -41 -42 -39 -32 -26 -22 -20 -18 -16 -15 -16 -19 -23 -26 -28 -28 -28 -28 -29 -31 -33 -36 -40 -45 -48 -49 -47 -43 -42 -44 -46 -46 -42 -38 -33 -29 -27 -25 -23 -23 -23 -20 -18 -18 -22 -23 -22 -21 -21 -22 -23 -22 -20 -19 -19 -19 -20 -19 -17 -15 -18 -20 -19 -19 -19 -18 -17 -17 -15 -15 -17 -20 -22 -23 -24 -25 -24 -22 -23 -24 -25 -25 -25 -25 -25 -24 -23 -23 -24 -24 -23 -23 -23 -24 -25 -26 -25 -25 -25 -26 -27 -28 -28 -29 -30 -33 -33 -34 -34 -34 -35 -36 -38 -40 -41 -39 -37 -36 -35 -33 -33 -33 -33 -34 -37 -40 -41 -42 -42 -45 -47 -48 -47 -45 -44 -43 -41 -40 -38 -35 -29 -23 -21 -24 -30 -36 -41 -40 -35 -31 -29 -28 -26 -26 -26 -25 -24 -24 -25 -26 -27 -28 -26 -25 -26 -27 -27 -27 -28 -28 -27 -26 -25 -24 -24 -24 -25 -26 -27 -27 -25 -24 -24 -24 -23 -19 -17 -17 -18 -20 -23 -24 -25 -25 -27 -27 -28 -28 -28 -27 -27 -28 -29 -28 -27 -26 -26 -25 -24 -24 -25 -26 -25 -27 -30 -33 -34 -34 -30 -28 -28 -27 -26 -26 -15 -15 -16 -15 -13 -12 -12 -12 -12 -12 -12 -13 -15 -18 -18 -16 -13 -11 -10 -10 -12 -14 -13 -11 -9 -8 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -2 -3 -7 -10 -12 -14 -17 -19 -19 -18 -16 -13 -11 -10 -11 -11 -11 -11 -11 -12 -13 -14 -15 -15 -15 -16 -16 -16 -15 -14 -14 -14 -14 -16 -17 -18 -19 -19 -19 -17 -15 -13 -12 -13 -17 -22 -29 -35 -37 -39 -41 -43 -45 -42 -34 -24 -16 -13 -13 -16 -21 -25 -28 -29 -27 -23 -18 -16 -15 -14 -13 -10 -8 -6 -6 -5 -5 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -6 -6 -9 -10 -11 -12 -11 -11 -12 -13 -15 -18 -20 -21 -21 -21 -19 -19 -18 -18 -17 -17 -16 -14 -13 -12 -12 -13 -14 -16 -16 -14 -13 -13 -12 -11 -12 -13 -13 -10 -7 -5 -3 -3 -6 -12 -17 -22 -25 -28 -32 -35 -33 -27 -22 -19 -17 -16 -15 -14 -13 -14 -18 -22 -24 -25 -24 -24 -27 -29 -32 -36 -40 -45 -49 -51 -50 -48 -47 -47 -47 -45 -40 -35 -31 -29 -27 -25 -24 -23 -21 -19 -19 -19 -20 -21 -21 -21 -21 -22 -22 -21 -20 -20 -19 -19 -18 -16 -13 -15 -18 -20 -19 -18 -17 -17 -16 -16 -15 -15 -16 -19 -21 -22 -24 -25 -25 -24 -24 -26 -27 -28 -28 -27 -26 -24 -23 -22 -22 -22 -22 -22 -21 -23 -24 -25 -25 -25 -25 -25 -26 -27 -27 -27 -28 -30 -31 -32 -33 -34 -34 -35 -35 -36 -38 -39 -39 -38 -37 -34 -34 -33 -33 -33 -35 -38 -40 -40 -40 -44 -46 -47 -46 -44 -42 -41 -40 -38 -36 -36 -32 -28 -26 -25 -28 -34 -41 -40 -37 -33 -31 -28 -26 -25 -25 -25 -25 -26 -26 -27 -27 -28 -27 -26 -26 -27 -27 -27 -27 -27 -27 -26 -25 -25 -25 -25 -25 -25 -26 -25 -23 -23 -23 -24 -23 -20 -18 -17 -17 -19 -21 -24 -25 -25 -25 -26 -27 -26 -26 -26 -26 -26 -27 -26 -26 -27 -27 -26 -24 -23 -23 -23 -23 -25 -28 -31 -33 -32 -29 -28 -27 -27 -26 -26 -15 -15 -15 -14 -13 -12 -13 -13 -13 -13 -13 -15 -16 -18 -20 -17 -13 -10 -10 -12 -16 -18 -16 -11 -9 -8 -7 -7 -6 -6 -6 -7 -6 -6 -6 -6 -6 -5 -5 -6 -6 -6 -5 -5 -5 -6 -6 -7 -6 -4 -0 -2 -7 -11 -13 -15 -19 -20 -20 -18 -15 -12 -11 -10 -11 -11 -11 -12 -12 -12 -13 -13 -14 -15 -15 -15 -15 -15 -14 -13 -12 -12 -13 -15 -16 -18 -19 -19 -18 -17 -17 -16 -14 -13 -15 -20 -26 -33 -36 -36 -36 -36 -38 -41 -41 -36 -28 -20 -17 -19 -24 -27 -25 -23 -20 -18 -16 -15 -14 -14 -14 -12 -10 -9 -9 -8 -6 -6 -5 -5 -5 -6 -7 -8 -8 -9 -8 -7 -6 -5 -7 -8 -10 -11 -11 -11 -11 -12 -14 -16 -18 -19 -19 -19 -18 -18 -18 -18 -18 -17 -16 -15 -14 -12 -11 -11 -13 -14 -15 -15 -15 -14 -13 -12 -12 -12 -13 -12 -11 -10 -9 -10 -12 -14 -16 -17 -18 -20 -22 -25 -26 -26 -24 -20 -17 -15 -15 -14 -12 -12 -14 -18 -21 -22 -21 -22 -24 -28 -32 -37 -42 -46 -49 -52 -52 -51 -50 -46 -42 -39 -36 -33 -31 -29 -28 -27 -25 -23 -19 -17 -17 -17 -17 -19 -21 -21 -21 -21 -20 -20 -20 -21 -20 -17 -14 -13 -12 -17 -19 -20 -20 -19 -18 -17 -16 -16 -16 -16 -18 -20 -21 -21 -23 -24 -24 -24 -26 -28 -30 -31 -31 -30 -28 -25 -22 -21 -22 -22 -22 -22 -23 -25 -26 -27 -26 -25 -24 -24 -24 -24 -26 -27 -27 -29 -29 -31 -33 -34 -34 -34 -33 -33 -34 -35 -37 -38 -39 -35 -34 -33 -33 -33 -33 -36 -38 -40 -39 -42 -44 -44 -43 -43 -42 -40 -39 -37 -36 -37 -36 -33 -31 -28 -28 -32 -37 -39 -39 -37 -33 -28 -26 -26 -27 -27 -27 -27 -27 -27 -27 -27 -28 -28 -27 -27 -27 -27 -26 -26 -26 -25 -25 -25 -25 -26 -25 -25 -25 -24 -22 -22 -23 -23 -22 -20 -18 -17 -16 -18 -20 -23 -24 -24 -25 -25 -25 -25 -25 -25 -25 -25 -25 -24 -25 -27 -27 -26 -24 -23 -22 -22 -22 -23 -26 -29 -30 -30 -28 -26 -26 -25 -25 -26 -15 -16 -16 -15 -14 -14 -13 -13 -13 -12 -13 -15 -17 -18 -19 -16 -12 -9 -10 -13 -18 -20 -18 -12 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -6 -5 -5 -6 -6 -6 -5 -6 -7 -8 -8 -8 -5 -2 0 -2 -6 -9 -12 -16 -21 -22 -21 -18 -14 -12 -11 -11 -11 -11 -11 -11 -12 -11 -11 -12 -12 -14 -15 -15 -15 -14 -14 -14 -13 -13 -13 -14 -15 -16 -16 -14 -13 -13 -14 -14 -14 -13 -16 -20 -26 -32 -34 -35 -35 -34 -33 -35 -38 -39 -36 -28 -24 -24 -27 -28 -23 -18 -16 -15 -15 -14 -13 -13 -14 -13 -12 -11 -10 -10 -8 -6 -5 -5 -5 -6 -7 -8 -10 -10 -9 -7 -6 -5 -6 -7 -8 -10 -11 -11 -11 -12 -13 -14 -15 -17 -18 -18 -17 -18 -18 -19 -18 -17 -17 -16 -15 -13 -12 -11 -12 -13 -14 -15 -16 -16 -15 -14 -14 -14 -13 -13 -14 -14 -14 -14 -14 -14 -14 -13 -13 -14 -16 -19 -21 -24 -24 -23 -21 -19 -17 -14 -12 -12 -13 -15 -17 -19 -19 -20 -23 -26 -31 -36 -42 -46 -51 -53 -53 -51 -47 -41 -36 -34 -34 -34 -33 -32 -31 -29 -26 -23 -21 -19 -17 -15 -14 -17 -20 -21 -22 -22 -20 -19 -20 -22 -22 -16 -13 -13 -14 -18 -20 -21 -21 -20 -19 -18 -17 -17 -17 -17 -18 -19 -18 -20 -22 -24 -23 -23 -25 -29 -31 -32 -32 -32 -30 -26 -23 -23 -23 -23 -23 -23 -25 -28 -29 -29 -27 -25 -24 -23 -22 -23 -24 -27 -29 -29 -29 -30 -33 -34 -34 -33 -32 -31 -30 -31 -33 -36 -38 -36 -35 -34 -34 -33 -33 -34 -37 -40 -38 -38 -38 -38 -39 -41 -41 -40 -39 -38 -35 -35 -35 -35 -33 -30 -29 -30 -33 -38 -40 -40 -36 -30 -29 -29 -29 -28 -28 -28 -27 -27 -26 -27 -27 -28 -28 -28 -28 -27 -26 -24 -24 -24 -24 -25 -25 -25 -24 -23 -24 -23 -22 -22 -22 -22 -22 -20 -19 -17 -16 -16 -18 -21 -23 -24 -25 -25 -24 -23 -24 -24 -24 -24 -24 -23 -24 -25 -27 -26 -24 -23 -22 -21 -21 -22 -25 -27 -28 -29 -27 -25 -25 -25 -24 -25 -17 -17 -17 -16 -15 -14 -13 -12 -11 -11 -13 -15 -16 -16 -15 -13 -10 -9 -10 -13 -17 -18 -16 -13 -9 -7 -7 -7 -6 -6 -7 -7 -6 -6 -7 -7 -5 -5 -6 -6 -7 -6 -7 -8 -8 -8 -8 -7 -4 -1 -1 -4 -8 -10 -13 -17 -22 -23 -21 -18 -14 -13 -12 -12 -12 -12 -11 -11 -11 -11 -10 -10 -10 -12 -13 -14 -14 -14 -15 -15 -14 -14 -14 -14 -15 -15 -14 -12 -9 -9 -10 -11 -11 -12 -15 -20 -26 -31 -33 -34 -34 -33 -32 -32 -33 -34 -33 -30 -29 -29 -28 -26 -22 -18 -15 -14 -14 -14 -13 -13 -14 -13 -12 -11 -11 -11 -9 -7 -6 -6 -6 -6 -7 -8 -9 -9 -10 -9 -8 -8 -9 -9 -9 -9 -10 -10 -11 -12 -12 -12 -13 -14 -15 -16 -16 -17 -18 -18 -18 -17 -16 -16 -15 -15 -13 -13 -12 -13 -13 -14 -15 -16 -16 -16 -16 -16 -15 -15 -16 -17 -17 -15 -15 -14 -13 -12 -11 -12 -14 -15 -17 -20 -22 -22 -20 -18 -16 -15 -15 -14 -13 -13 -14 -14 -15 -18 -21 -25 -29 -34 -40 -46 -52 -55 -54 -50 -45 -38 -34 -33 -34 -36 -37 -36 -34 -32 -28 -25 -23 -21 -19 -18 -16 -17 -18 -20 -21 -22 -21 -20 -21 -24 -23 -18 -15 -16 -18 -20 -21 -22 -21 -20 -19 -19 -18 -18 -18 -18 -18 -19 -18 -19 -20 -21 -21 -21 -23 -27 -30 -32 -32 -31 -30 -28 -26 -25 -25 -25 -25 -25 -27 -30 -31 -31 -28 -24 -22 -20 -19 -21 -24 -27 -30 -30 -29 -30 -33 -35 -35 -34 -32 -30 -28 -30 -32 -35 -37 -37 -37 -36 -36 -35 -34 -35 -36 -38 -35 -33 -32 -33 -35 -37 -38 -38 -39 -39 -35 -33 -32 -32 -30 -31 -31 -30 -30 -37 -41 -41 -38 -33 -32 -30 -30 -29 -29 -28 -27 -26 -25 -26 -27 -28 -28 -27 -28 -27 -26 -25 -24 -23 -23 -23 -24 -24 -23 -22 -23 -23 -22 -21 -21 -21 -21 -20 -19 -18 -16 -16 -17 -19 -21 -22 -23 -24 -24 -23 -23 -23 -24 -24 -24 -23 -22 -24 -27 -26 -25 -24 -23 -21 -21 -22 -24 -25 -26 -28 -27 -25 -24 -24 -25 -25 -17 -18 -18 -16 -16 -14 -12 -11 -9 -9 -11 -14 -16 -15 -12 -10 -8 -8 -11 -13 -15 -15 -14 -12 -9 -8 -7 -9 -9 -7 -6 -6 -5 -6 -6 -6 -5 -5 -6 -7 -7 -7 -8 -8 -7 -6 -5 -4 -3 -2 -3 -7 -10 -12 -15 -19 -22 -22 -20 -17 -15 -14 -14 -13 -13 -13 -13 -12 -12 -11 -9 -9 -10 -11 -12 -13 -15 -15 -16 -16 -16 -15 -14 -14 -14 -14 -12 -11 -10 -9 -8 -7 -7 -9 -13 -18 -24 -29 -32 -33 -32 -31 -30 -31 -31 -32 -31 -31 -31 -29 -25 -22 -20 -18 -16 -15 -14 -14 -14 -14 -14 -14 -13 -13 -12 -11 -10 -9 -8 -9 -9 -8 -7 -7 -7 -9 -11 -11 -10 -9 -9 -10 -10 -10 -9 -9 -10 -11 -11 -11 -11 -11 -12 -13 -15 -16 -16 -17 -18 -17 -17 -16 -15 -14 -14 -14 -13 -13 -14 -14 -15 -16 -17 -18 -18 -19 -18 -18 -19 -20 -19 -17 -16 -14 -12 -11 -11 -13 -14 -15 -16 -18 -19 -20 -19 -18 -16 -16 -16 -15 -14 -13 -12 -12 -13 -17 -21 -24 -28 -33 -39 -45 -51 -54 -54 -51 -46 -41 -37 -36 -37 -39 -40 -39 -36 -32 -29 -27 -24 -21 -19 -17 -15 -15 -15 -16 -17 -17 -18 -20 -21 -22 -21 -19 -18 -20 -24 -24 -23 -23 -22 -21 -20 -19 -18 -17 -18 -18 -19 -20 -19 -19 -19 -19 -19 -20 -23 -26 -29 -31 -31 -31 -31 -31 -30 -29 -28 -28 -27 -27 -28 -30 -32 -32 -29 -24 -20 -18 -18 -20 -22 -25 -27 -28 -29 -30 -33 -36 -36 -35 -32 -30 -31 -32 -33 -34 -36 -37 -39 -40 -40 -40 -40 -38 -36 -36 -33 -32 -31 -30 -32 -33 -34 -35 -38 -39 -37 -35 -33 -32 -31 -31 -31 -29 -30 -35 -38 -38 -37 -35 -33 -31 -29 -29 -29 -28 -27 -25 -24 -25 -25 -26 -27 -27 -27 -28 -27 -27 -25 -24 -23 -22 -23 -23 -23 -22 -23 -22 -22 -22 -22 -21 -21 -21 -20 -19 -18 -16 -16 -17 -20 -21 -22 -23 -24 -23 -23 -22 -23 -24 -24 -23 -22 -22 -25 -26 -26 -24 -23 -21 -21 -22 -23 -23 -26 -27 -26 -24 -24 -24 -25 -26 -17 -17 -17 -16 -16 -13 -11 -9 -8 -8 -10 -13 -15 -14 -10 -7 -7 -8 -11 -13 -14 -14 -12 -10 -8 -7 -7 -9 -9 -7 -5 -4 -5 -5 -6 -6 -5 -6 -7 -8 -9 -9 -7 -6 -4 -3 -2 -3 -4 -5 -6 -8 -11 -13 -16 -19 -21 -21 -20 -17 -15 -15 -15 -15 -14 -14 -15 -14 -13 -11 -10 -9 -10 -11 -12 -13 -15 -16 -17 -17 -18 -17 -16 -14 -13 -11 -10 -10 -10 -10 -8 -6 -6 -7 -10 -14 -20 -25 -29 -30 -30 -29 -29 -30 -32 -33 -33 -31 -28 -25 -21 -19 -18 -18 -18 -17 -16 -15 -14 -14 -14 -14 -14 -14 -13 -12 -10 -9 -9 -10 -10 -10 -8 -7 -7 -9 -11 -11 -10 -9 -9 -10 -10 -11 -11 -11 -11 -11 -10 -9 -9 -10 -11 -12 -14 -14 -14 -15 -16 -17 -17 -16 -14 -13 -14 -15 -15 -13 -13 -14 -16 -17 -17 -18 -20 -21 -21 -20 -21 -22 -21 -19 -17 -15 -12 -10 -11 -13 -14 -15 -15 -16 -17 -18 -18 -16 -15 -15 -16 -16 -16 -14 -13 -12 -12 -15 -19 -23 -28 -33 -36 -40 -45 -50 -52 -51 -49 -47 -44 -42 -41 -40 -39 -36 -33 -30 -28 -25 -23 -19 -16 -15 -15 -15 -15 -15 -14 -15 -18 -21 -23 -24 -24 -21 -19 -21 -27 -27 -26 -25 -24 -23 -22 -20 -18 -17 -18 -19 -20 -20 -19 -19 -18 -18 -19 -21 -24 -26 -28 -30 -31 -32 -33 -33 -33 -32 -31 -30 -29 -28 -29 -30 -32 -31 -28 -24 -20 -18 -18 -19 -21 -22 -24 -25 -26 -28 -31 -35 -37 -36 -34 -33 -34 -35 -35 -35 -35 -37 -40 -43 -44 -46 -47 -44 -39 -37 -35 -33 -30 -29 -29 -30 -30 -31 -34 -38 -38 -37 -34 -34 -34 -33 -31 -30 -29 -31 -33 -34 -36 -34 -33 -31 -29 -28 -28 -27 -26 -25 -25 -24 -24 -24 -25 -25 -27 -28 -28 -27 -26 -26 -25 -23 -22 -22 -22 -22 -23 -22 -22 -23 -22 -21 -21 -21 -21 -20 -19 -18 -17 -18 -19 -20 -21 -23 -23 -24 -23 -23 -22 -23 -24 -24 -23 -22 -24 -25 -26 -24 -22 -22 -22 -22 -21 -22 -24 -26 -25 -24 -24 -24 -25 -25 -18 -18 -17 -16 -15 -13 -10 -7 -6 -7 -9 -11 -12 -12 -8 -6 -7 -8 -10 -12 -13 -13 -11 -9 -7 -7 -7 -8 -7 -5 -4 -4 -4 -6 -6 -6 -6 -7 -8 -9 -9 -8 -5 -2 -1 -2 -3 -4 -5 -7 -8 -10 -12 -14 -16 -18 -19 -19 -18 -17 -16 -16 -16 -16 -16 -17 -17 -16 -14 -12 -10 -10 -10 -11 -11 -12 -14 -15 -17 -18 -20 -20 -18 -15 -12 -10 -9 -9 -9 -9 -8 -7 -6 -6 -8 -11 -14 -19 -25 -28 -27 -26 -28 -31 -34 -35 -35 -29 -23 -19 -17 -17 -17 -18 -19 -20 -18 -17 -16 -15 -15 -14 -14 -14 -13 -12 -10 -9 -9 -9 -10 -11 -10 -10 -9 -11 -12 -12 -11 -10 -10 -11 -11 -12 -12 -12 -11 -10 -9 -9 -8 -9 -10 -11 -12 -12 -12 -12 -14 -15 -14 -14 -13 -12 -13 -14 -15 -13 -12 -13 -15 -17 -19 -20 -21 -22 -23 -24 -25 -25 -23 -20 -17 -15 -14 -12 -12 -13 -13 -13 -13 -14 -15 -16 -16 -15 -14 -14 -15 -16 -16 -14 -13 -11 -12 -15 -19 -24 -29 -33 -35 -36 -37 -42 -47 -50 -52 -52 -49 -45 -41 -37 -34 -30 -27 -25 -24 -22 -21 -18 -15 -14 -16 -16 -15 -14 -14 -16 -20 -23 -25 -25 -24 -20 -17 -20 -28 -30 -29 -28 -27 -28 -26 -23 -20 -20 -20 -20 -20 -19 -18 -18 -18 -18 -20 -22 -24 -26 -28 -30 -32 -34 -36 -37 -37 -36 -36 -34 -31 -30 -30 -31 -32 -30 -28 -25 -22 -20 -20 -19 -19 -19 -21 -22 -24 -26 -29 -32 -35 -37 -37 -36 -36 -37 -37 -36 -35 -36 -40 -44 -46 -49 -50 -48 -44 -41 -38 -34 -30 -28 -26 -26 -27 -28 -31 -35 -37 -37 -36 -37 -37 -36 -34 -32 -31 -30 -30 -31 -33 -32 -31 -29 -28 -27 -27 -27 -26 -26 -27 -26 -25 -24 -25 -24 -25 -27 -28 -27 -27 -26 -26 -24 -22 -21 -21 -22 -23 -23 -23 -22 -21 -21 -21 -21 -21 -22 -21 -20 -19 -19 -19 -19 -20 -22 -23 -23 -23 -23 -22 -22 -24 -25 -24 -22 -22 -24 -26 -25 -23 -22 -22 -22 -21 -21 -23 -25 -26 -25 -24 -24 -25 -24 -18 -19 -18 -17 -15 -12 -9 -6 -6 -6 -8 -10 -10 -10 -7 -6 -7 -8 -10 -11 -12 -12 -11 -9 -7 -7 -7 -7 -5 -4 -3 -3 -5 -6 -7 -7 -7 -8 -9 -9 -8 -6 -2 0 -0 -3 -6 -6 -7 -8 -9 -11 -13 -15 -16 -17 -17 -17 -17 -16 -16 -16 -16 -17 -18 -19 -19 -18 -16 -13 -11 -11 -11 -11 -11 -11 -12 -13 -15 -18 -21 -22 -20 -16 -13 -11 -10 -8 -7 -6 -6 -7 -7 -7 -8 -10 -12 -16 -22 -26 -26 -23 -26 -31 -35 -37 -35 -26 -18 -13 -13 -15 -16 -17 -18 -21 -21 -19 -18 -16 -16 -15 -14 -14 -13 -12 -10 -9 -8 -8 -9 -10 -11 -11 -11 -12 -13 -12 -11 -11 -11 -11 -12 -13 -14 -14 -13 -11 -10 -9 -9 -10 -10 -11 -11 -11 -10 -11 -12 -13 -12 -11 -11 -11 -12 -14 -16 -15 -13 -12 -13 -14 -17 -20 -22 -23 -24 -27 -28 -27 -25 -22 -19 -17 -17 -17 -16 -15 -14 -13 -13 -12 -13 -13 -14 -13 -13 -13 -14 -14 -14 -13 -12 -11 -12 -15 -20 -25 -29 -32 -32 -32 -31 -33 -40 -46 -51 -52 -51 -46 -40 -33 -27 -23 -21 -21 -20 -20 -19 -17 -15 -14 -16 -16 -14 -14 -15 -17 -21 -24 -26 -26 -23 -18 -16 -19 -27 -29 -30 -30 -31 -31 -29 -27 -24 -23 -23 -22 -20 -17 -17 -18 -18 -18 -21 -25 -27 -29 -31 -32 -34 -37 -39 -40 -41 -41 -40 -38 -35 -33 -33 -32 -33 -31 -29 -27 -24 -22 -21 -19 -18 -18 -19 -21 -24 -26 -29 -31 -34 -37 -39 -41 -40 -40 -40 -40 -37 -37 -39 -43 -46 -49 -50 -49 -46 -42 -38 -34 -29 -27 -25 -24 -24 -25 -28 -32 -35 -37 -38 -40 -40 -39 -36 -34 -33 -30 -28 -28 -31 -31 -29 -28 -27 -28 -28 -28 -28 -28 -28 -27 -26 -25 -26 -25 -25 -25 -27 -28 -27 -26 -25 -25 -23 -23 -23 -24 -24 -24 -23 -22 -21 -20 -20 -20 -21 -22 -22 -21 -19 -19 -19 -19 -19 -21 -22 -23 -23 -23 -21 -22 -24 -24 -23 -20 -20 -22 -25 -26 -24 -23 -23 -22 -21 -20 -22 -25 -27 -26 -25 -25 -24 -23 -18 -19 -19 -18 -16 -12 -8 -5 -6 -7 -9 -9 -9 -8 -8 -7 -8 -9 -9 -10 -11 -11 -10 -9 -7 -7 -6 -5 -4 -3 -3 -4 -5 -7 -7 -8 -8 -9 -10 -9 -6 -2 2 2 -1 -5 -7 -8 -8 -9 -10 -12 -14 -15 -16 -17 -16 -16 -15 -15 -16 -16 -16 -17 -18 -20 -20 -18 -16 -13 -13 -12 -12 -11 -11 -10 -10 -12 -14 -18 -21 -22 -20 -15 -13 -12 -11 -10 -8 -7 -7 -7 -7 -7 -9 -11 -13 -17 -23 -26 -24 -20 -21 -27 -32 -35 -32 -22 -13 -9 -10 -13 -14 -15 -17 -20 -22 -21 -20 -18 -17 -16 -15 -14 -14 -12 -10 -9 -8 -8 -8 -9 -10 -11 -12 -13 -13 -12 -11 -11 -11 -12 -12 -14 -15 -15 -14 -13 -11 -10 -11 -11 -12 -12 -11 -11 -10 -11 -12 -12 -11 -9 -8 -8 -10 -12 -15 -16 -14 -13 -11 -12 -16 -19 -21 -23 -25 -27 -29 -31 -31 -30 -27 -24 -20 -19 -18 -18 -17 -17 -15 -12 -10 -10 -11 -11 -11 -11 -12 -13 -13 -12 -12 -12 -13 -15 -19 -22 -24 -26 -27 -27 -28 -29 -35 -41 -46 -48 -45 -40 -33 -26 -20 -18 -18 -18 -18 -18 -17 -16 -15 -14 -14 -13 -14 -15 -18 -20 -22 -24 -25 -25 -20 -17 -18 -22 -27 -28 -29 -31 -33 -32 -30 -29 -27 -26 -24 -22 -20 -18 -20 -21 -21 -21 -24 -28 -31 -34 -35 -36 -39 -41 -42 -43 -43 -43 -43 -42 -41 -39 -37 -35 -34 -32 -30 -27 -25 -24 -22 -20 -18 -18 -19 -22 -25 -27 -29 -29 -32 -36 -41 -45 -43 -43 -43 -43 -40 -37 -37 -40 -44 -46 -47 -46 -43 -40 -36 -32 -29 -27 -25 -24 -22 -23 -26 -30 -34 -37 -39 -42 -42 -41 -38 -36 -34 -31 -28 -28 -31 -31 -30 -29 -28 -29 -29 -28 -28 -28 -29 -28 -27 -26 -27 -26 -25 -24 -26 -27 -27 -26 -26 -26 -25 -25 -25 -26 -25 -24 -23 -22 -21 -20 -20 -20 -21 -21 -22 -21 -19 -19 -18 -19 -20 -21 -21 -22 -22 -22 -22 -23 -23 -23 -22 -20 -20 -21 -23 -25 -25 -24 -23 -21 -20 -21 -22 -25 -28 -27 -26 -25 -24 -23 -19 -20 -19 -18 -15 -10 -6 -5 -7 -9 -10 -9 -8 -8 -8 -8 -8 -8 -9 -10 -10 -10 -10 -9 -7 -6 -5 -3 -3 -3 -4 -5 -6 -7 -8 -8 -8 -10 -10 -7 -2 2 3 0 -3 -6 -8 -9 -10 -10 -11 -12 -13 -14 -14 -14 -14 -14 -14 -15 -15 -15 -16 -17 -18 -19 -18 -17 -16 -14 -14 -13 -13 -12 -11 -10 -11 -12 -15 -18 -20 -19 -17 -14 -12 -11 -9 -8 -8 -9 -10 -10 -9 -8 -9 -12 -16 -22 -29 -29 -24 -17 -15 -18 -23 -26 -26 -19 -14 -10 -10 -11 -13 -15 -17 -19 -22 -23 -22 -20 -18 -17 -16 -15 -14 -13 -11 -10 -10 -11 -10 -10 -9 -10 -10 -12 -12 -12 -11 -11 -12 -12 -13 -14 -15 -14 -14 -13 -13 -12 -12 -12 -13 -12 -12 -11 -11 -11 -12 -11 -11 -9 -8 -7 -8 -10 -12 -14 -13 -11 -11 -12 -14 -17 -19 -22 -24 -26 -29 -33 -36 -38 -36 -31 -24 -20 -19 -18 -17 -18 -16 -12 -10 -9 -9 -9 -8 -8 -9 -11 -12 -12 -13 -14 -15 -17 -18 -19 -19 -21 -23 -25 -26 -28 -32 -37 -41 -41 -37 -31 -27 -23 -20 -18 -18 -18 -19 -18 -16 -15 -13 -11 -12 -13 -15 -18 -20 -21 -22 -23 -23 -20 -18 -19 -23 -27 -27 -27 -28 -30 -32 -32 -31 -29 -29 -28 -27 -25 -23 -22 -24 -25 -25 -25 -27 -31 -35 -38 -40 -42 -43 -44 -44 -45 -45 -45 -45 -44 -43 -42 -40 -38 -36 -33 -30 -27 -25 -25 -23 -22 -21 -20 -22 -24 -27 -29 -30 -31 -32 -36 -41 -45 -45 -44 -43 -43 -39 -37 -36 -37 -40 -41 -41 -40 -38 -36 -34 -31 -29 -27 -26 -24 -22 -21 -24 -28 -33 -36 -38 -41 -42 -42 -41 -38 -36 -33 -30 -28 -30 -30 -30 -30 -30 -30 -29 -29 -29 -29 -29 -29 -28 -27 -27 -27 -26 -25 -24 -25 -25 -25 -26 -26 -25 -25 -25 -25 -25 -24 -22 -21 -21 -20 -20 -20 -21 -21 -22 -22 -20 -19 -18 -18 -19 -21 -21 -22 -22 -22 -22 -23 -23 -23 -23 -21 -19 -19 -21 -22 -24 -24 -23 -22 -20 -21 -22 -24 -26 -27 -27 -27 -25 -24 -20 -21 -20 -17 -13 -8 -5 -6 -9 -11 -10 -9 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -7 -5 -3 -2 -3 -4 -5 -6 -7 -8 -9 -9 -9 -9 -8 -3 1 4 2 -2 -6 -8 -9 -10 -12 -13 -13 -13 -13 -13 -12 -11 -11 -13 -14 -15 -15 -15 -15 -16 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -12 -13 -15 -17 -18 -17 -16 -14 -13 -11 -10 -9 -8 -9 -10 -12 -13 -14 -11 -10 -13 -19 -28 -35 -33 -24 -14 -11 -13 -17 -19 -19 -17 -13 -11 -10 -10 -12 -15 -17 -19 -22 -23 -22 -20 -19 -17 -17 -16 -14 -13 -12 -12 -12 -13 -13 -13 -12 -11 -11 -11 -12 -12 -11 -11 -12 -12 -13 -13 -14 -14 -13 -13 -12 -12 -11 -12 -13 -13 -12 -12 -12 -12 -11 -12 -12 -12 -10 -9 -8 -9 -10 -12 -11 -11 -11 -13 -13 -14 -16 -19 -23 -25 -29 -34 -39 -44 -44 -40 -32 -23 -19 -17 -16 -16 -15 -15 -14 -13 -10 -9 -7 -7 -7 -8 -10 -12 -15 -16 -17 -19 -20 -19 -17 -18 -20 -23 -27 -29 -31 -34 -35 -35 -30 -26 -23 -21 -21 -19 -18 -17 -19 -19 -17 -16 -14 -12 -14 -16 -18 -20 -21 -21 -22 -22 -20 -15 -16 -21 -28 -30 -27 -26 -27 -29 -30 -31 -31 -31 -31 -31 -30 -28 -25 -24 -26 -27 -28 -28 -30 -34 -38 -42 -44 -45 -45 -45 -45 -45 -45 -45 -45 -44 -43 -43 -41 -39 -36 -32 -29 -26 -25 -26 -26 -25 -25 -25 -26 -27 -28 -30 -32 -33 -34 -35 -39 -43 -44 -43 -41 -39 -38 -37 -36 -35 -35 -34 -33 -33 -34 -34 -33 -32 -30 -27 -26 -24 -22 -21 -23 -27 -32 -36 -38 -39 -41 -42 -42 -40 -38 -35 -31 -28 -29 -29 -30 -30 -30 -30 -30 -29 -29 -29 -29 -29 -28 -28 -28 -28 -27 -26 -24 -23 -23 -23 -25 -25 -25 -25 -24 -25 -26 -25 -24 -22 -21 -21 -21 -21 -21 -21 -22 -22 -21 -20 -18 -17 -18 -19 -21 -22 -22 -22 -22 -22 -22 -23 -24 -21 -19 -19 -19 -20 -22 -23 -23 -22 -22 -22 -23 -23 -25 -26 -27 -28 -27 -25 -21 -22 -19 -14 -9 -6 -6 -8 -11 -11 -10 -8 -8 -8 -9 -8 -8 -9 -9 -9 -10 -11 -12 -11 -7 -4 -2 -2 -4 -5 -5 -6 -7 -8 -10 -10 -10 -8 -4 0 3 3 -0 -4 -6 -8 -9 -11 -13 -14 -15 -13 -13 -12 -11 -10 -11 -12 -14 -15 -14 -15 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -13 -12 -13 -15 -16 -17 -17 -15 -14 -12 -11 -10 -10 -9 -10 -11 -11 -13 -15 -16 -14 -13 -14 -20 -31 -38 -35 -25 -13 -9 -11 -13 -15 -17 -15 -12 -11 -10 -10 -12 -14 -16 -19 -22 -23 -22 -20 -18 -17 -16 -15 -14 -13 -12 -12 -13 -14 -16 -17 -16 -14 -11 -11 -11 -12 -11 -11 -10 -11 -11 -11 -12 -12 -11 -11 -11 -11 -11 -11 -11 -13 -13 -12 -11 -11 -11 -12 -14 -14 -12 -11 -10 -10 -10 -11 -12 -12 -13 -13 -13 -12 -13 -15 -19 -22 -26 -31 -39 -46 -50 -49 -41 -31 -23 -18 -17 -16 -16 -16 -15 -15 -14 -12 -11 -9 -9 -9 -10 -13 -17 -18 -17 -18 -19 -17 -16 -17 -19 -24 -30 -32 -32 -31 -30 -29 -26 -22 -20 -19 -19 -18 -17 -17 -18 -20 -18 -16 -14 -14 -16 -18 -20 -22 -22 -22 -21 -21 -19 -15 -16 -22 -28 -31 -27 -25 -26 -28 -29 -30 -30 -31 -32 -32 -31 -30 -28 -27 -29 -30 -31 -31 -33 -37 -40 -43 -44 -44 -44 -44 -44 -44 -43 -43 -42 -42 -42 -42 -41 -40 -37 -32 -28 -25 -25 -27 -28 -28 -28 -30 -31 -30 -28 -28 -31 -33 -34 -34 -36 -40 -41 -40 -37 -33 -35 -37 -37 -35 -33 -30 -28 -29 -32 -33 -34 -33 -32 -28 -26 -24 -23 -21 -22 -25 -30 -35 -37 -38 -39 -40 -41 -40 -39 -37 -33 -28 -27 -28 -29 -30 -30 -30 -30 -29 -29 -29 -29 -29 -29 -29 -28 -28 -27 -25 -24 -23 -23 -22 -23 -24 -25 -25 -25 -25 -26 -25 -25 -24 -22 -22 -22 -22 -22 -22 -22 -21 -21 -20 -19 -18 -17 -18 -19 -20 -21 -21 -21 -19 -20 -22 -23 -21 -19 -18 -19 -20 -22 -23 -22 -23 -23 -23 -23 -23 -24 -26 -28 -29 -28 -26 -23 -21 -17 -11 -7 -6 -8 -11 -12 -11 -10 -9 -8 -8 -10 -9 -8 -8 -8 -9 -11 -13 -15 -13 -9 -5 -3 -3 -5 -5 -5 -6 -7 -9 -11 -12 -10 -6 -1 2 2 0 -3 -5 -7 -8 -9 -11 -13 -15 -15 -13 -12 -11 -10 -10 -11 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -12 -12 -12 -12 -13 -14 -15 -16 -14 -13 -12 -11 -11 -10 -10 -11 -12 -14 -14 -14 -15 -16 -16 -15 -16 -21 -31 -38 -37 -28 -15 -9 -9 -10 -12 -15 -14 -11 -10 -10 -11 -13 -15 -17 -19 -23 -24 -23 -20 -18 -15 -14 -14 -13 -12 -11 -12 -13 -14 -17 -19 -19 -16 -13 -12 -11 -11 -10 -10 -10 -10 -11 -11 -11 -11 -10 -9 -9 -10 -10 -10 -10 -11 -12 -12 -11 -10 -11 -12 -15 -16 -15 -15 -14 -13 -12 -12 -13 -15 -15 -15 -14 -13 -12 -11 -13 -16 -20 -25 -32 -41 -48 -50 -47 -39 -29 -21 -16 -15 -15 -15 -15 -16 -16 -15 -14 -13 -12 -13 -13 -12 -12 -12 -13 -15 -15 -14 -13 -16 -21 -27 -34 -36 -33 -29 -26 -24 -21 -19 -18 -17 -15 -16 -16 -16 -17 -17 -16 -14 -13 -15 -18 -20 -22 -23 -23 -22 -21 -20 -14 -15 -19 -23 -26 -30 -28 -26 -25 -27 -29 -30 -30 -31 -32 -33 -33 -32 -31 -31 -32 -33 -34 -34 -37 -40 -42 -44 -43 -42 -42 -42 -42 -40 -39 -38 -38 -38 -39 -40 -40 -40 -37 -33 -28 -25 -25 -26 -27 -28 -30 -33 -34 -33 -30 -26 -28 -30 -32 -32 -33 -35 -37 -37 -35 -30 -30 -32 -36 -35 -32 -27 -24 -26 -29 -33 -35 -36 -33 -29 -26 -25 -24 -22 -21 -24 -28 -33 -37 -37 -37 -38 -39 -40 -39 -36 -33 -29 -27 -27 -27 -29 -30 -30 -29 -30 -29 -29 -29 -29 -29 -29 -28 -27 -27 -25 -25 -25 -24 -22 -22 -23 -23 -25 -25 -25 -25 -25 -24 -24 -22 -21 -22 -23 -22 -22 -21 -21 -20 -20 -19 -18 -19 -19 -19 -19 -19 -20 -20 -19 -19 -21 -21 -20 -19 -19 -20 -21 -22 -23 -23 -24 -24 -23 -23 -23 -24 -25 -27 -29 -29 -28 -23 -19 -14 -9 -6 -8 -11 -12 -12 -12 -10 -8 -8 -9 -12 -11 -8 -7 -7 -9 -12 -15 -16 -13 -9 -6 -4 -4 -5 -5 -5 -6 -8 -11 -12 -12 -9 -4 1 2 1 -1 -5 -8 -9 -10 -9 -10 -13 -14 -14 -13 -12 -12 -11 -11 -12 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -13 -13 -12 -11 -11 -10 -11 -11 -12 -13 -15 -16 -16 -16 -16 -16 -16 -17 -18 -23 -31 -38 -39 -32 -19 -11 -8 -8 -10 -13 -13 -11 -9 -10 -12 -14 -16 -18 -20 -23 -24 -24 -22 -19 -15 -13 -12 -11 -11 -11 -11 -13 -14 -16 -18 -19 -18 -15 -13 -11 -10 -10 -10 -10 -10 -10 -10 -11 -11 -10 -9 -9 -8 -8 -8 -9 -10 -10 -10 -10 -10 -11 -13 -15 -17 -17 -17 -17 -16 -13 -13 -14 -16 -18 -18 -18 -16 -14 -11 -9 -10 -13 -16 -21 -29 -38 -45 -47 -43 -35 -25 -18 -14 -14 -14 -15 -16 -17 -17 -15 -13 -12 -13 -14 -13 -11 -9 -9 -11 -11 -11 -12 -16 -22 -28 -33 -34 -30 -25 -22 -20 -18 -17 -16 -15 -14 -15 -16 -16 -15 -14 -13 -13 -14 -15 -18 -21 -23 -24 -23 -23 -22 -19 -15 -15 -18 -22 -24 -27 -27 -26 -25 -24 -27 -29 -30 -30 -33 -34 -34 -34 -34 -34 -35 -36 -37 -38 -40 -44 -46 -45 -42 -41 -40 -39 -38 -35 -33 -33 -34 -34 -35 -37 -38 -39 -37 -33 -28 -25 -24 -25 -26 -28 -30 -33 -34 -33 -30 -25 -25 -27 -29 -30 -30 -30 -32 -34 -35 -32 -27 -26 -30 -33 -30 -25 -22 -22 -26 -31 -35 -36 -34 -29 -26 -24 -24 -23 -23 -24 -26 -32 -35 -36 -36 -35 -35 -38 -38 -35 -31 -29 -28 -27 -27 -28 -29 -29 -29 -30 -29 -29 -28 -29 -29 -29 -28 -27 -27 -26 -26 -26 -25 -24 -23 -22 -23 -24 -25 -25 -25 -24 -23 -23 -22 -21 -21 -22 -22 -22 -22 -21 -20 -20 -19 -19 -20 -20 -19 -18 -18 -20 -19 -19 -19 -20 -20 -20 -20 -19 -20 -21 -22 -22 -23 -24 -24 -23 -23 -23 -23 -23 -25 -27 -28 -28 -22 -16 -11 -8 -9 -11 -12 -13 -13 -12 -10 -8 -8 -10 -14 -11 -8 -6 -7 -9 -13 -16 -16 -12 -8 -6 -5 -5 -5 -5 -5 -7 -10 -13 -13 -11 -7 -1 1 1 0 -2 -6 -10 -12 -12 -10 -10 -12 -13 -13 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -14 -15 -15 -14 -13 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -9 -9 -9 -10 -11 -13 -14 -15 -17 -18 -18 -18 -18 -17 -17 -17 -19 -24 -31 -38 -41 -36 -23 -14 -9 -8 -9 -12 -12 -11 -10 -11 -13 -15 -17 -19 -21 -22 -24 -25 -25 -21 -17 -14 -12 -11 -11 -11 -11 -13 -15 -16 -18 -18 -18 -16 -14 -12 -11 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -9 -8 -7 -7 -7 -8 -8 -8 -8 -9 -10 -12 -15 -18 -20 -21 -20 -18 -16 -14 -14 -14 -16 -18 -20 -20 -19 -16 -13 -10 -10 -10 -11 -17 -26 -35 -42 -43 -38 -30 -21 -15 -15 -15 -16 -17 -18 -17 -14 -12 -12 -12 -13 -13 -12 -10 -9 -8 -8 -9 -12 -16 -21 -25 -28 -27 -25 -22 -20 -19 -18 -18 -18 -18 -16 -16 -15 -14 -14 -13 -13 -14 -16 -17 -18 -20 -21 -23 -25 -25 -23 -20 -17 -17 -19 -23 -24 -26 -26 -26 -26 -24 -25 -25 -26 -28 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -43 -46 -47 -45 -42 -39 -37 -34 -33 -31 -31 -32 -34 -35 -36 -37 -37 -38 -36 -33 -28 -25 -24 -25 -26 -28 -29 -32 -33 -33 -30 -26 -24 -24 -25 -27 -27 -27 -28 -31 -35 -34 -29 -24 -23 -28 -29 -26 -22 -21 -24 -28 -32 -34 -33 -30 -28 -27 -27 -25 -25 -25 -27 -31 -32 -34 -34 -34 -34 -36 -38 -36 -33 -29 -28 -27 -27 -26 -27 -27 -28 -30 -29 -28 -28 -28 -29 -28 -28 -27 -27 -26 -26 -26 -25 -25 -24 -23 -24 -26 -26 -26 -25 -24 -22 -23 -23 -22 -21 -21 -22 -22 -22 -22 -21 -21 -20 -20 -21 -21 -20 -18 -18 -19 -19 -19 -19 -20 -20 -20 -19 -19 -20 -20 -20 -20 -22 -23 -23 -23 -23 -23 -23 -23 -23 -24 -26 -26 -18 -13 -10 -10 -11 -13 -13 -14 -13 -11 -9 -8 -9 -11 -13 -10 -7 -6 -7 -11 -14 -15 -15 -12 -9 -7 -6 -5 -5 -5 -6 -9 -13 -15 -14 -10 -5 -0 1 1 -0 -3 -7 -13 -15 -14 -11 -10 -11 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -15 -15 -15 -14 -13 -13 -13 -13 -13 -12 -11 -11 -10 -9 -8 -8 -8 -8 -8 -9 -10 -12 -13 -15 -17 -19 -20 -20 -21 -20 -20 -18 -17 -18 -22 -28 -35 -39 -36 -25 -15 -10 -9 -10 -12 -11 -10 -10 -12 -13 -15 -17 -19 -21 -22 -22 -24 -26 -25 -21 -17 -13 -12 -11 -12 -12 -13 -15 -16 -17 -18 -18 -17 -15 -14 -12 -12 -11 -10 -10 -10 -11 -11 -12 -12 -11 -10 -9 -8 -8 -7 -6 -6 -6 -6 -8 -9 -10 -12 -16 -21 -22 -21 -18 -17 -16 -15 -14 -15 -16 -18 -21 -23 -23 -20 -17 -13 -10 -9 -12 -17 -24 -32 -37 -37 -32 -24 -18 -17 -16 -17 -18 -19 -16 -13 -11 -12 -12 -12 -12 -13 -12 -11 -9 -9 -9 -11 -15 -19 -22 -23 -24 -23 -21 -20 -20 -19 -20 -21 -22 -20 -17 -14 -13 -14 -15 -16 -16 -17 -17 -16 -17 -18 -22 -25 -24 -22 -21 -23 -23 -23 -24 -25 -26 -27 -28 -28 -26 -23 -22 -21 -23 -28 -31 -33 -34 -36 -39 -40 -41 -41 -42 -44 -46 -46 -44 -40 -36 -33 -30 -29 -30 -31 -32 -36 -39 -40 -40 -39 -39 -38 -34 -30 -26 -25 -26 -27 -28 -29 -31 -32 -32 -31 -28 -25 -22 -22 -23 -24 -24 -24 -27 -31 -33 -32 -28 -22 -25 -28 -27 -24 -22 -23 -26 -29 -31 -30 -29 -28 -29 -30 -29 -28 -27 -29 -31 -32 -32 -33 -33 -35 -37 -39 -39 -36 -31 -28 -26 -26 -25 -25 -26 -28 -28 -29 -28 -28 -28 -28 -28 -27 -27 -26 -26 -26 -26 -26 -25 -24 -24 -24 -25 -26 -27 -26 -24 -23 -24 -23 -22 -21 -21 -21 -22 -22 -22 -22 -22 -22 -22 -23 -21 -20 -18 -18 -18 -18 -19 -20 -21 -20 -19 -19 -18 -18 -18 -18 -19 -21 -22 -22 -22 -24 -24 -25 -24 -23 -22 -22 -24 -15 -12 -11 -12 -13 -14 -14 -14 -13 -11 -9 -9 -10 -11 -11 -9 -7 -7 -9 -12 -13 -14 -15 -14 -11 -8 -7 -6 -6 -6 -9 -13 -16 -18 -14 -8 -3 0 0 -0 -1 -4 -10 -14 -16 -14 -10 -9 -10 -11 -12 -13 -13 -13 -13 -12 -12 -12 -13 -13 -14 -15 -16 -17 -16 -15 -15 -15 -15 -14 -13 -11 -10 -10 -9 -7 -6 -6 -6 -6 -7 -9 -11 -13 -14 -16 -18 -21 -22 -23 -23 -23 -23 -20 -18 -17 -20 -26 -35 -37 -32 -20 -12 -10 -10 -11 -11 -10 -9 -9 -11 -12 -14 -17 -19 -21 -21 -22 -24 -27 -28 -25 -20 -15 -13 -12 -13 -14 -14 -15 -16 -16 -17 -17 -16 -15 -14 -13 -13 -13 -12 -12 -11 -12 -12 -12 -12 -11 -11 -11 -10 -9 -8 -7 -6 -6 -6 -7 -8 -9 -10 -13 -18 -20 -20 -18 -17 -18 -17 -15 -14 -15 -17 -20 -23 -26 -26 -24 -20 -17 -15 -16 -18 -21 -25 -29 -30 -28 -24 -22 -20 -18 -17 -17 -17 -15 -13 -12 -12 -11 -11 -11 -13 -14 -14 -13 -12 -11 -12 -15 -17 -19 -20 -21 -21 -21 -21 -21 -21 -21 -22 -22 -20 -18 -15 -14 -15 -16 -17 -17 -17 -16 -14 -14 -16 -21 -23 -21 -20 -23 -28 -28 -26 -25 -25 -26 -29 -30 -30 -28 -26 -24 -23 -25 -29 -32 -34 -35 -37 -40 -42 -43 -42 -43 -43 -44 -43 -40 -36 -32 -29 -26 -27 -29 -31 -34 -37 -40 -42 -42 -41 -40 -39 -36 -31 -28 -27 -27 -27 -28 -28 -29 -30 -31 -31 -30 -27 -24 -22 -21 -21 -21 -22 -23 -27 -29 -31 -31 -28 -28 -28 -27 -25 -24 -24 -25 -26 -27 -28 -27 -27 -28 -30 -31 -30 -28 -28 -29 -30 -30 -31 -33 -35 -38 -40 -41 -39 -35 -30 -27 -26 -26 -26 -26 -27 -27 -28 -28 -28 -28 -27 -27 -27 -27 -26 -26 -26 -26 -26 -25 -25 -24 -24 -24 -26 -26 -26 -24 -24 -24 -23 -20 -20 -20 -21 -22 -22 -22 -22 -22 -23 -23 -23 -21 -20 -18 -17 -17 -18 -19 -21 -20 -20 -19 -19 -19 -18 -17 -17 -19 -21 -22 -22 -22 -24 -24 -25 -25 -23 -21 -21 -22 -14 -13 -13 -14 -14 -15 -15 -14 -12 -11 -10 -10 -11 -11 -10 -8 -8 -9 -11 -12 -13 -13 -14 -15 -13 -11 -9 -8 -7 -8 -12 -16 -19 -18 -13 -7 -2 -0 -0 -1 -3 -7 -13 -15 -15 -12 -9 -8 -9 -11 -12 -13 -13 -12 -11 -11 -12 -13 -14 -15 -15 -17 -18 -18 -18 -18 -18 -18 -17 -15 -12 -11 -10 -10 -9 -7 -6 -6 -6 -7 -8 -9 -11 -14 -15 -17 -19 -21 -23 -25 -26 -26 -24 -22 -20 -18 -19 -23 -28 -28 -23 -15 -11 -12 -13 -13 -12 -10 -9 -9 -11 -12 -14 -16 -18 -20 -21 -21 -24 -27 -29 -26 -21 -17 -14 -13 -13 -12 -12 -13 -14 -15 -16 -16 -15 -14 -13 -13 -14 -15 -15 -14 -14 -13 -12 -12 -11 -11 -12 -12 -12 -11 -9 -9 -8 -7 -7 -8 -9 -9 -10 -11 -14 -16 -17 -17 -17 -18 -18 -17 -15 -15 -16 -19 -22 -26 -28 -28 -25 -21 -19 -19 -19 -20 -23 -24 -24 -22 -21 -22 -22 -21 -18 -15 -13 -12 -12 -13 -13 -12 -11 -11 -12 -14 -16 -15 -15 -15 -15 -15 -16 -17 -18 -18 -19 -20 -21 -20 -19 -19 -19 -18 -17 -17 -16 -14 -14 -15 -15 -16 -17 -15 -14 -14 -17 -21 -21 -19 -18 -22 -29 -29 -27 -25 -24 -26 -29 -32 -33 -32 -31 -29 -29 -31 -32 -32 -33 -36 -37 -39 -41 -41 -41 -42 -42 -42 -40 -36 -32 -27 -25 -24 -25 -27 -31 -35 -39 -41 -42 -42 -40 -40 -39 -36 -32 -29 -29 -29 -29 -28 -28 -28 -29 -30 -31 -31 -30 -27 -24 -20 -19 -18 -19 -19 -23 -27 -30 -32 -31 -29 -27 -26 -27 -27 -26 -25 -25 -25 -25 -26 -26 -26 -28 -31 -32 -28 -26 -26 -27 -27 -27 -30 -34 -38 -41 -42 -42 -38 -34 -30 -28 -27 -26 -26 -26 -26 -27 -27 -28 -27 -27 -27 -27 -27 -26 -26 -26 -26 -26 -26 -25 -25 -24 -24 -25 -25 -25 -24 -24 -23 -22 -19 -19 -19 -20 -21 -22 -23 -23 -23 -24 -23 -22 -21 -21 -19 -16 -16 -17 -19 -20 -20 -19 -19 -20 -20 -19 -18 -17 -18 -20 -22 -24 -23 -24 -24 -24 -24 -23 -21 -20 -21 -14 -15 -15 -15 -15 -16 -15 -14 -12 -11 -11 -11 -11 -10 -9 -8 -9 -10 -11 -12 -12 -12 -13 -13 -12 -13 -13 -11 -9 -11 -16 -20 -21 -18 -11 -5 -1 -1 -1 -3 -6 -10 -14 -14 -12 -9 -7 -8 -10 -11 -12 -12 -11 -10 -11 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -20 -17 -13 -10 -10 -10 -10 -9 -7 -7 -7 -7 -8 -9 -11 -12 -15 -16 -17 -19 -22 -25 -27 -27 -26 -24 -21 -18 -17 -17 -19 -21 -20 -17 -13 -12 -13 -15 -15 -14 -12 -11 -10 -11 -12 -13 -15 -17 -20 -20 -21 -22 -23 -25 -24 -21 -17 -14 -12 -11 -10 -10 -11 -13 -14 -15 -14 -13 -12 -11 -12 -13 -14 -16 -16 -17 -17 -16 -15 -14 -12 -13 -13 -13 -12 -11 -10 -10 -10 -10 -11 -12 -11 -11 -11 -12 -13 -15 -16 -16 -17 -18 -18 -17 -16 -17 -19 -22 -26 -28 -28 -25 -23 -22 -21 -20 -21 -22 -22 -21 -20 -20 -20 -20 -19 -17 -15 -13 -11 -11 -12 -13 -10 -9 -9 -11 -12 -14 -15 -15 -17 -17 -16 -16 -15 -16 -16 -16 -17 -19 -19 -18 -16 -16 -16 -16 -16 -16 -15 -14 -14 -14 -16 -17 -16 -14 -15 -18 -21 -22 -20 -17 -20 -27 -29 -27 -26 -25 -26 -29 -33 -36 -37 -36 -35 -34 -36 -35 -33 -31 -33 -37 -39 -39 -39 -40 -41 -42 -41 -39 -35 -29 -26 -23 -22 -23 -26 -30 -36 -39 -40 -40 -38 -37 -38 -38 -36 -34 -33 -32 -31 -30 -29 -28 -28 -28 -29 -31 -31 -31 -29 -26 -21 -18 -16 -16 -16 -20 -25 -30 -33 -34 -32 -29 -27 -27 -27 -26 -26 -24 -23 -24 -25 -25 -25 -26 -30 -31 -28 -25 -24 -24 -25 -25 -27 -31 -34 -38 -41 -42 -41 -38 -34 -31 -30 -28 -26 -24 -25 -26 -27 -27 -28 -27 -26 -26 -27 -26 -25 -26 -26 -26 -26 -25 -25 -24 -24 -24 -25 -24 -23 -23 -22 -20 -19 -19 -19 -20 -21 -22 -23 -24 -24 -24 -24 -22 -21 -22 -20 -17 -17 -18 -19 -20 -19 -18 -19 -20 -21 -20 -19 -18 -18 -20 -22 -24 -25 -25 -23 -23 -23 -23 -21 -20 -19 -15 -16 -16 -16 -16 -16 -15 -14 -13 -12 -12 -12 -11 -10 -9 -9 -10 -11 -12 -12 -12 -12 -11 -11 -12 -14 -15 -14 -12 -14 -19 -22 -21 -15 -8 -3 -1 -1 -3 -6 -10 -12 -13 -11 -9 -7 -7 -8 -10 -11 -11 -10 -9 -10 -11 -12 -13 -14 -15 -15 -16 -17 -18 -20 -21 -23 -23 -20 -16 -11 -10 -11 -11 -12 -10 -8 -8 -8 -9 -10 -12 -14 -15 -17 -18 -19 -21 -23 -26 -27 -27 -25 -22 -18 -15 -13 -13 -14 -15 -14 -13 -13 -13 -15 -17 -18 -16 -14 -14 -13 -13 -13 -13 -14 -16 -19 -20 -20 -20 -21 -23 -23 -20 -17 -14 -12 -10 -9 -9 -10 -11 -13 -14 -13 -11 -10 -10 -11 -11 -12 -13 -15 -16 -17 -18 -18 -18 -15 -13 -12 -13 -13 -12 -10 -10 -10 -11 -12 -13 -14 -14 -14 -14 -15 -15 -16 -16 -17 -18 -19 -19 -18 -19 -21 -24 -27 -28 -26 -24 -22 -21 -21 -22 -22 -22 -21 -20 -20 -20 -19 -19 -19 -18 -16 -14 -12 -11 -11 -12 -11 -10 -9 -10 -11 -11 -12 -14 -16 -18 -18 -17 -16 -15 -15 -15 -16 -17 -18 -17 -16 -14 -15 -16 -16 -16 -16 -15 -14 -14 -15 -16 -16 -15 -15 -18 -21 -23 -22 -19 -21 -24 -27 -30 -31 -30 -29 -30 -34 -38 -40 -40 -39 -37 -38 -37 -33 -30 -30 -33 -36 -38 -38 -37 -39 -40 -40 -38 -33 -29 -26 -24 -22 -22 -24 -28 -34 -37 -37 -35 -33 -33 -35 -36 -35 -35 -35 -33 -32 -30 -29 -29 -29 -29 -30 -31 -31 -30 -28 -26 -23 -19 -16 -15 -15 -18 -23 -28 -32 -34 -33 -32 -30 -28 -27 -26 -25 -23 -22 -23 -25 -26 -27 -26 -27 -28 -27 -24 -23 -23 -23 -23 -25 -27 -29 -32 -36 -39 -41 -41 -37 -35 -33 -31 -27 -24 -25 -26 -26 -26 -27 -27 -26 -26 -27 -26 -26 -26 -26 -25 -25 -25 -24 -24 -23 -23 -24 -24 -22 -22 -21 -20 -19 -19 -19 -20 -20 -22 -23 -24 -24 -24 -23 -22 -21 -21 -20 -18 -18 -18 -20 -19 -19 -19 -19 -20 -21 -21 -19 -18 -18 -20 -22 -24 -24 -24 -23 -23 -23 -23 -22 -20 -19 -15 -16 -16 -16 -16 -16 -15 -14 -13 -13 -13 -12 -11 -10 -9 -10 -11 -11 -12 -13 -12 -11 -11 -11 -12 -13 -14 -14 -14 -17 -21 -21 -18 -11 -5 -2 -1 -3 -6 -9 -12 -13 -13 -9 -7 -6 -7 -8 -9 -9 -9 -8 -9 -10 -12 -13 -14 -14 -15 -15 -16 -16 -18 -19 -21 -23 -22 -19 -15 -11 -11 -12 -13 -13 -12 -10 -9 -9 -10 -13 -16 -18 -19 -20 -21 -22 -24 -25 -27 -28 -27 -25 -21 -16 -12 -10 -9 -10 -10 -11 -12 -13 -13 -15 -18 -19 -18 -16 -16 -16 -15 -15 -14 -14 -16 -18 -19 -20 -21 -22 -23 -22 -19 -16 -13 -12 -10 -9 -9 -9 -10 -11 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -12 -13 -17 -20 -21 -20 -16 -13 -12 -12 -12 -11 -10 -9 -9 -10 -12 -13 -14 -15 -16 -17 -18 -18 -19 -20 -20 -20 -21 -21 -23 -24 -27 -28 -27 -25 -23 -20 -18 -19 -21 -23 -22 -20 -20 -20 -21 -21 -21 -20 -19 -17 -15 -12 -11 -10 -11 -11 -10 -10 -10 -10 -10 -10 -12 -15 -18 -20 -19 -17 -16 -16 -17 -17 -16 -16 -16 -15 -14 -14 -15 -15 -14 -15 -16 -15 -14 -14 -16 -17 -16 -16 -18 -21 -23 -23 -22 -25 -26 -28 -30 -32 -35 -35 -35 -34 -37 -41 -41 -39 -36 -36 -35 -32 -29 -27 -29 -33 -36 -36 -35 -36 -38 -38 -36 -34 -31 -27 -25 -23 -22 -22 -24 -27 -31 -32 -30 -29 -30 -33 -34 -34 -34 -34 -33 -31 -30 -29 -29 -29 -29 -29 -29 -29 -28 -27 -25 -23 -21 -20 -17 -16 -18 -20 -24 -29 -32 -33 -33 -32 -29 -27 -26 -25 -23 -22 -23 -25 -27 -27 -26 -26 -26 -25 -24 -23 -23 -23 -23 -23 -24 -25 -28 -32 -35 -39 -41 -40 -38 -36 -33 -29 -26 -26 -27 -27 -26 -25 -25 -25 -26 -26 -26 -25 -25 -26 -25 -25 -24 -22 -22 -22 -22 -23 -23 -22 -21 -21 -20 -20 -20 -20 -20 -20 -21 -23 -24 -23 -23 -23 -22 -22 -22 -21 -19 -18 -18 -20 -20 -20 -19 -19 -20 -21 -21 -20 -19 -19 -20 -22 -24 -23 -23 -23 -23 -23 -23 -23 -22 -19 -15 -16 -16 -17 -16 -16 -15 -14 -14 -14 -13 -12 -11 -10 -10 -10 -12 -13 -13 -13 -12 -11 -10 -10 -11 -12 -12 -13 -15 -18 -20 -19 -14 -7 -3 -3 -3 -5 -8 -11 -13 -13 -12 -8 -6 -6 -7 -7 -8 -7 -7 -7 -8 -10 -12 -13 -14 -14 -14 -14 -15 -15 -17 -19 -20 -21 -19 -16 -13 -11 -12 -13 -13 -13 -13 -12 -12 -12 -12 -15 -18 -20 -22 -22 -24 -25 -27 -28 -28 -29 -28 -26 -22 -16 -11 -8 -7 -6 -6 -9 -12 -14 -14 -15 -18 -21 -19 -16 -16 -17 -17 -17 -16 -15 -16 -18 -20 -22 -24 -25 -25 -23 -19 -15 -13 -12 -11 -10 -10 -9 -9 -10 -11 -11 -11 -11 -12 -13 -12 -12 -11 -10 -9 -11 -15 -20 -24 -24 -19 -15 -13 -12 -11 -10 -10 -9 -9 -9 -10 -10 -11 -13 -15 -17 -20 -21 -24 -24 -24 -24 -24 -23 -23 -25 -27 -27 -25 -23 -20 -17 -16 -17 -20 -23 -24 -21 -19 -20 -21 -23 -23 -23 -21 -19 -16 -14 -11 -10 -10 -10 -10 -10 -10 -9 -9 -9 -11 -13 -15 -17 -17 -16 -16 -17 -19 -19 -18 -17 -15 -15 -15 -14 -14 -13 -12 -12 -14 -15 -15 -15 -17 -18 -18 -17 -18 -20 -21 -22 -20 -23 -26 -28 -30 -32 -36 -38 -38 -36 -37 -40 -40 -37 -34 -32 -30 -28 -27 -26 -26 -29 -32 -33 -31 -32 -33 -34 -33 -32 -30 -28 -25 -22 -22 -22 -23 -24 -27 -29 -29 -27 -28 -31 -32 -32 -32 -32 -31 -30 -29 -28 -29 -29 -29 -29 -28 -27 -27 -27 -25 -24 -23 -22 -19 -17 -17 -19 -23 -27 -31 -33 -34 -33 -30 -28 -26 -26 -25 -24 -23 -24 -26 -26 -26 -27 -26 -24 -24 -24 -24 -23 -23 -23 -23 -23 -25 -28 -32 -36 -39 -40 -39 -37 -35 -31 -28 -27 -28 -27 -26 -24 -23 -24 -26 -25 -25 -24 -25 -26 -26 -26 -25 -23 -22 -21 -21 -23 -23 -22 -22 -22 -21 -21 -20 -20 -20 -20 -20 -21 -23 -23 -22 -23 -23 -22 -22 -21 -19 -18 -18 -19 -20 -20 -19 -19 -20 -20 -21 -20 -19 -18 -19 -21 -23 -23 -22 -22 -21 -21 -23 -24 -24 -20 -15 -16 -17 -17 -16 -15 -14 -14 -14 -14 -13 -12 -11 -10 -10 -11 -12 -13 -14 -13 -12 -11 -10 -10 -10 -10 -11 -12 -16 -18 -18 -16 -11 -5 -3 -4 -6 -8 -10 -12 -12 -13 -11 -8 -6 -6 -6 -7 -6 -5 -5 -6 -8 -10 -12 -12 -12 -13 -13 -14 -14 -15 -16 -18 -19 -18 -16 -13 -12 -12 -12 -13 -13 -13 -12 -12 -12 -12 -14 -15 -17 -20 -22 -24 -25 -27 -28 -29 -29 -29 -29 -27 -22 -16 -11 -7 -5 -4 -4 -7 -10 -14 -14 -16 -19 -22 -21 -17 -15 -16 -18 -18 -18 -17 -17 -19 -23 -27 -29 -29 -26 -22 -18 -16 -15 -14 -13 -12 -10 -10 -9 -10 -10 -10 -10 -12 -13 -14 -14 -13 -13 -11 -10 -11 -14 -19 -23 -25 -21 -17 -13 -11 -9 -9 -9 -9 -9 -8 -8 -8 -9 -10 -12 -16 -19 -21 -23 -25 -28 -29 -29 -27 -25 -24 -24 -23 -23 -22 -21 -19 -17 -17 -19 -22 -26 -24 -21 -19 -21 -23 -24 -23 -21 -19 -17 -15 -13 -11 -10 -10 -10 -10 -10 -9 -8 -9 -10 -12 -13 -14 -15 -15 -16 -18 -19 -20 -20 -21 -19 -17 -14 -14 -13 -12 -10 -9 -11 -12 -14 -16 -19 -19 -19 -18 -17 -18 -19 -19 -17 -20 -25 -29 -31 -32 -36 -39 -40 -37 -37 -37 -35 -31 -30 -29 -27 -26 -25 -26 -26 -27 -28 -29 -28 -27 -27 -28 -29 -29 -29 -27 -25 -22 -22 -23 -25 -24 -25 -27 -29 -30 -31 -32 -32 -32 -31 -30 -29 -28 -28 -28 -28 -29 -29 -28 -27 -27 -27 -27 -26 -26 -25 -25 -22 -18 -18 -21 -24 -28 -32 -34 -34 -33 -31 -29 -28 -28 -28 -26 -24 -24 -24 -25 -25 -26 -26 -25 -24 -25 -25 -23 -24 -24 -24 -24 -24 -26 -30 -35 -38 -39 -39 -38 -36 -32 -28 -27 -27 -28 -28 -25 -24 -24 -25 -25 -25 -25 -25 -25 -26 -26 -26 -25 -24 -23 -23 -23 -23 -23 -23 -22 -21 -22 -21 -21 -20 -20 -20 -21 -22 -23 -23 -24 -24 -21 -21 -20 -19 -18 -19 -19 -19 -19 -19 -19 -20 -20 -20 -20 -19 -19 -19 -20 -22 -22 -22 -21 -20 -20 -22 -24 -24 -22 -16 -16 -17 -17 -16 -15 -14 -14 -14 -14 -13 -11 -11 -10 -10 -12 -13 -14 -14 -13 -11 -11 -10 -10 -10 -10 -10 -12 -14 -16 -15 -12 -8 -4 -4 -5 -7 -9 -11 -11 -11 -11 -10 -7 -6 -6 -6 -6 -5 -4 -4 -6 -8 -9 -10 -11 -11 -13 -14 -15 -15 -15 -16 -17 -17 -15 -13 -12 -12 -13 -13 -12 -12 -12 -12 -12 -12 -13 -15 -16 -18 -21 -23 -24 -25 -26 -27 -28 -28 -28 -28 -25 -21 -15 -10 -7 -5 -4 -5 -7 -9 -12 -13 -15 -19 -23 -24 -21 -17 -15 -16 -17 -18 -19 -21 -23 -27 -32 -33 -31 -26 -22 -19 -18 -16 -14 -13 -12 -11 -10 -10 -10 -10 -10 -11 -11 -12 -13 -14 -14 -13 -12 -12 -12 -14 -17 -21 -23 -21 -18 -14 -11 -9 -9 -9 -10 -10 -9 -9 -8 -8 -8 -10 -13 -16 -18 -20 -23 -28 -32 -34 -32 -27 -23 -21 -22 -22 -22 -21 -20 -17 -15 -16 -20 -26 -28 -26 -23 -20 -20 -20 -19 -18 -17 -17 -16 -15 -12 -11 -11 -11 -11 -11 -9 -8 -8 -9 -11 -11 -12 -13 -15 -16 -18 -19 -21 -21 -22 -20 -17 -15 -14 -13 -12 -11 -9 -9 -11 -14 -17 -19 -19 -19 -18 -17 -17 -17 -16 -14 -19 -25 -29 -31 -32 -34 -37 -39 -37 -36 -34 -31 -28 -29 -29 -27 -26 -26 -26 -26 -25 -24 -26 -27 -25 -23 -23 -25 -26 -26 -26 -24 -22 -22 -24 -26 -25 -25 -26 -29 -32 -33 -33 -32 -31 -30 -29 -28 -27 -27 -28 -30 -30 -30 -29 -28 -27 -27 -28 -27 -27 -26 -26 -23 -21 -19 -20 -23 -27 -31 -33 -34 -32 -31 -30 -29 -30 -30 -28 -26 -24 -24 -24 -25 -26 -26 -26 -25 -25 -25 -24 -24 -25 -25 -25 -24 -25 -28 -33 -38 -39 -40 -39 -38 -32 -28 -26 -26 -27 -27 -26 -24 -24 -26 -26 -26 -25 -25 -25 -25 -26 -26 -25 -25 -24 -24 -23 -23 -23 -23 -23 -22 -23 -22 -21 -20 -20 -20 -21 -22 -23 -23 -23 -21 -20 -20 -19 -19 -19 -20 -19 -19 -19 -19 -20 -21 -21 -21 -21 -21 -19 -18 -19 -20 -21 -22 -21 -20 -19 -20 -23 -24 -24 -16 -17 -17 -17 -15 -14 -14 -14 -15 -14 -13 -11 -11 -10 -11 -12 -13 -14 -13 -12 -11 -10 -10 -10 -10 -10 -11 -12 -13 -14 -12 -9 -6 -4 -5 -6 -8 -10 -10 -11 -10 -9 -8 -7 -7 -7 -6 -5 -4 -4 -4 -5 -6 -7 -8 -10 -12 -15 -17 -17 -16 -16 -16 -16 -15 -13 -12 -12 -13 -14 -14 -14 -13 -13 -13 -14 -14 -15 -16 -18 -20 -21 -23 -24 -25 -25 -25 -26 -27 -28 -27 -24 -19 -13 -9 -6 -4 -5 -6 -8 -10 -12 -12 -14 -18 -22 -24 -23 -20 -17 -15 -15 -17 -20 -23 -27 -30 -32 -31 -29 -25 -23 -22 -20 -17 -15 -13 -13 -12 -11 -10 -10 -11 -11 -10 -10 -11 -12 -12 -12 -12 -12 -13 -15 -15 -17 -20 -22 -21 -19 -16 -12 -10 -10 -10 -11 -11 -12 -11 -10 -9 -8 -9 -11 -13 -13 -14 -18 -24 -30 -35 -35 -31 -26 -22 -22 -21 -20 -20 -20 -16 -14 -15 -18 -23 -26 -27 -25 -20 -17 -16 -17 -17 -16 -17 -17 -16 -14 -12 -11 -11 -11 -11 -10 -9 -8 -9 -10 -10 -11 -12 -14 -16 -18 -20 -21 -21 -21 -19 -16 -14 -14 -13 -12 -11 -10 -10 -10 -11 -14 -17 -20 -22 -22 -19 -17 -15 -13 -13 -20 -25 -28 -29 -30 -32 -33 -35 -35 -34 -31 -28 -27 -28 -29 -28 -27 -28 -30 -29 -26 -22 -24 -25 -23 -20 -20 -23 -24 -24 -24 -24 -23 -23 -25 -27 -26 -26 -27 -29 -33 -34 -33 -32 -31 -30 -29 -28 -27 -28 -30 -31 -31 -31 -30 -29 -28 -28 -29 -28 -27 -26 -25 -24 -22 -21 -20 -21 -25 -29 -32 -33 -32 -30 -29 -29 -30 -30 -29 -28 -27 -26 -26 -27 -26 -26 -26 -25 -24 -24 -23 -24 -25 -26 -26 -24 -24 -27 -32 -37 -40 -41 -42 -41 -34 -30 -27 -26 -26 -25 -24 -24 -24 -26 -27 -25 -24 -24 -24 -24 -25 -25 -25 -25 -24 -24 -24 -24 -23 -23 -23 -23 -22 -21 -21 -20 -20 -20 -21 -22 -23 -23 -22 -20 -20 -20 -20 -19 -20 -21 -20 -20 -19 -19 -20 -22 -22 -22 -23 -23 -21 -19 -18 -19 -21 -21 -21 -20 -19 -19 -22 -24 -25 -17 -17 -17 -16 -15 -15 -14 -15 -15 -14 -13 -12 -11 -10 -11 -12 -13 -14 -13 -12 -10 -9 -10 -11 -11 -11 -11 -12 -13 -12 -10 -7 -5 -4 -5 -7 -8 -9 -10 -10 -9 -8 -7 -7 -7 -7 -7 -6 -5 -4 -4 -5 -5 -6 -8 -10 -13 -16 -16 -16 -16 -16 -16 -16 -14 -13 -12 -13 -14 -15 -15 -15 -15 -15 -15 -15 -15 -16 -17 -18 -20 -21 -22 -23 -24 -24 -24 -24 -25 -26 -24 -21 -16 -12 -8 -5 -3 -3 -5 -8 -11 -13 -12 -13 -16 -20 -23 -24 -24 -21 -17 -16 -17 -19 -22 -26 -29 -30 -29 -27 -25 -23 -22 -20 -17 -15 -14 -13 -13 -12 -11 -10 -10 -9 -9 -9 -9 -10 -10 -10 -10 -12 -14 -15 -17 -18 -20 -22 -22 -20 -17 -14 -12 -11 -11 -12 -13 -13 -13 -12 -10 -9 -10 -11 -11 -9 -10 -12 -16 -22 -30 -34 -34 -30 -25 -22 -20 -19 -20 -21 -17 -15 -16 -18 -21 -23 -24 -24 -22 -18 -17 -16 -16 -16 -16 -17 -17 -15 -13 -12 -11 -11 -11 -10 -9 -9 -9 -10 -11 -11 -11 -13 -15 -18 -21 -22 -20 -18 -16 -14 -13 -13 -13 -13 -12 -11 -11 -11 -11 -13 -16 -19 -22 -24 -22 -17 -13 -9 -10 -17 -23 -26 -27 -28 -29 -30 -31 -33 -33 -30 -27 -26 -28 -28 -28 -28 -29 -31 -31 -27 -21 -19 -19 -19 -18 -20 -22 -22 -21 -22 -24 -25 -25 -25 -28 -28 -27 -28 -30 -33 -33 -33 -33 -31 -31 -30 -30 -30 -31 -32 -32 -33 -33 -32 -31 -31 -31 -30 -29 -28 -27 -25 -24 -24 -23 -22 -22 -23 -26 -30 -32 -31 -29 -29 -29 -30 -30 -30 -30 -29 -29 -31 -31 -28 -26 -26 -24 -22 -22 -22 -23 -24 -24 -25 -23 -24 -26 -30 -35 -38 -41 -43 -43 -38 -33 -29 -27 -26 -25 -24 -24 -25 -27 -26 -24 -23 -24 -24 -24 -24 -25 -25 -24 -24 -24 -24 -24 -24 -24 -23 -23 -21 -20 -20 -21 -21 -21 -21 -21 -22 -23 -22 -21 -21 -20 -20 -20 -21 -22 -21 -20 -19 -18 -20 -22 -23 -23 -23 -22 -21 -19 -19 -19 -20 -20 -20 -19 -18 -19 -21 -24 -24 -17 -17 -16 -16 -15 -14 -15 -15 -15 -14 -13 -12 -11 -10 -11 -12 -13 -13 -13 -11 -9 -9 -11 -13 -13 -13 -13 -13 -12 -11 -9 -7 -5 -4 -5 -6 -8 -9 -10 -10 -9 -7 -6 -7 -7 -8 -8 -7 -6 -5 -4 -4 -4 -5 -8 -10 -13 -14 -14 -14 -14 -15 -15 -14 -13 -12 -12 -12 -13 -14 -14 -15 -15 -15 -15 -15 -16 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -24 -24 -23 -21 -17 -13 -9 -7 -5 -4 -4 -5 -8 -11 -13 -11 -11 -14 -18 -22 -24 -26 -25 -22 -18 -18 -19 -21 -24 -27 -27 -26 -25 -23 -23 -22 -21 -19 -17 -16 -15 -14 -13 -11 -10 -9 -8 -9 -9 -9 -9 -9 -9 -9 -10 -13 -16 -19 -20 -21 -21 -22 -21 -19 -15 -13 -12 -12 -12 -13 -13 -13 -12 -11 -11 -12 -13 -12 -10 -8 -9 -10 -14 -21 -28 -31 -31 -27 -23 -21 -20 -20 -20 -18 -17 -17 -19 -20 -20 -20 -21 -21 -19 -18 -17 -16 -15 -15 -16 -17 -16 -14 -13 -11 -11 -10 -10 -10 -9 -10 -11 -11 -11 -11 -11 -13 -17 -21 -23 -19 -16 -14 -14 -13 -14 -14 -13 -12 -12 -13 -13 -14 -14 -16 -18 -20 -22 -21 -18 -14 -13 -14 -15 -19 -23 -26 -28 -29 -29 -30 -32 -32 -30 -27 -26 -27 -28 -28 -28 -29 -31 -30 -26 -20 -18 -17 -16 -17 -19 -22 -22 -21 -21 -25 -28 -27 -26 -27 -28 -28 -30 -31 -32 -33 -33 -33 -33 -32 -32 -32 -32 -32 -32 -33 -34 -35 -36 -35 -35 -34 -32 -30 -29 -29 -27 -26 -26 -25 -25 -24 -23 -24 -27 -30 -31 -30 -29 -29 -30 -30 -30 -30 -29 -33 -36 -36 -31 -27 -25 -23 -22 -21 -22 -23 -24 -25 -25 -24 -24 -26 -29 -33 -37 -40 -43 -44 -40 -35 -31 -28 -27 -26 -25 -24 -25 -26 -26 -25 -25 -25 -25 -25 -24 -24 -24 -24 -24 -24 -24 -23 -23 -23 -23 -23 -22 -21 -21 -22 -22 -22 -21 -20 -21 -22 -22 -22 -22 -21 -21 -21 -23 -24 -22 -20 -18 -19 -21 -23 -24 -23 -22 -22 -21 -20 -20 -20 -19 -19 -19 -19 -18 -18 -20 -22 -24 -16 -16 -16 -14 -13 -13 -15 -15 -15 -15 -13 -11 -10 -10 -11 -12 -12 -12 -11 -9 -9 -11 -13 -15 -14 -14 -14 -13 -12 -10 -8 -6 -5 -4 -5 -6 -7 -8 -8 -8 -7 -6 -6 -6 -7 -7 -8 -7 -6 -4 -3 -2 -3 -5 -8 -10 -12 -11 -11 -11 -13 -13 -13 -13 -12 -12 -12 -12 -12 -13 -13 -14 -14 -14 -14 -15 -16 -17 -17 -17 -18 -18 -19 -20 -23 -24 -25 -25 -23 -21 -19 -15 -11 -8 -6 -5 -5 -6 -7 -9 -10 -11 -9 -10 -13 -17 -21 -24 -25 -25 -23 -21 -20 -20 -21 -23 -25 -25 -24 -22 -21 -21 -21 -21 -21 -19 -17 -16 -15 -14 -11 -10 -9 -8 -8 -8 -9 -9 -9 -8 -8 -9 -12 -16 -20 -22 -22 -21 -21 -20 -19 -16 -14 -12 -12 -11 -12 -11 -11 -10 -10 -11 -13 -13 -12 -9 -9 -8 -8 -9 -13 -19 -24 -27 -25 -23 -22 -22 -19 -18 -17 -17 -18 -19 -19 -18 -18 -18 -19 -20 -19 -18 -16 -16 -15 -16 -18 -18 -16 -14 -13 -12 -11 -10 -9 -9 -10 -10 -11 -11 -11 -13 -14 -17 -19 -21 -19 -16 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -16 -16 -17 -19 -20 -20 -18 -17 -17 -18 -17 -15 -17 -21 -24 -25 -27 -28 -28 -29 -30 -30 -28 -26 -27 -27 -26 -26 -28 -28 -27 -23 -19 -18 -17 -17 -17 -17 -19 -19 -18 -20 -25 -28 -29 -29 -28 -28 -29 -31 -32 -31 -32 -33 -33 -33 -34 -34 -34 -34 -34 -34 -35 -36 -37 -38 -38 -38 -37 -34 -32 -31 -31 -30 -29 -28 -28 -27 -26 -24 -24 -25 -29 -30 -30 -29 -29 -29 -29 -29 -30 -31 -36 -39 -39 -34 -29 -26 -23 -21 -21 -23 -25 -27 -27 -26 -26 -25 -26 -28 -31 -36 -40 -42 -43 -40 -36 -32 -30 -29 -27 -26 -25 -24 -25 -25 -24 -25 -26 -26 -24 -23 -24 -25 -25 -25 -26 -25 -23 -22 -22 -22 -23 -23 -22 -21 -22 -22 -21 -21 -20 -21 -22 -23 -24 -23 -23 -22 -22 -25 -26 -25 -22 -19 -20 -22 -24 -25 -24 -22 -21 -21 -20 -20 -19 -18 -17 -18 -18 -18 -18 -19 -22 -23 -16 -15 -15 -13 -13 -13 -15 -16 -15 -14 -12 -10 -11 -11 -11 -11 -11 -11 -10 -9 -10 -14 -15 -15 -14 -14 -14 -13 -11 -9 -8 -6 -5 -5 -5 -6 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -5 -3 -2 -2 -3 -6 -8 -10 -10 -10 -10 -10 -11 -12 -12 -11 -11 -11 -11 -11 -11 -11 -12 -12 -13 -13 -13 -14 -15 -16 -16 -16 -16 -16 -17 -18 -21 -22 -24 -24 -23 -20 -18 -16 -13 -10 -7 -6 -6 -8 -10 -11 -11 -9 -8 -9 -12 -17 -21 -23 -23 -22 -21 -20 -20 -21 -22 -24 -24 -23 -21 -19 -17 -18 -19 -20 -20 -19 -18 -17 -17 -16 -13 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -10 -13 -16 -19 -21 -22 -22 -21 -19 -18 -15 -13 -12 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -11 -10 -9 -9 -9 -9 -11 -15 -18 -21 -21 -21 -22 -22 -19 -17 -18 -18 -19 -19 -19 -18 -18 -18 -19 -19 -19 -18 -17 -17 -16 -15 -16 -16 -15 -15 -15 -14 -13 -11 -10 -10 -9 -10 -10 -11 -12 -14 -15 -16 -16 -16 -16 -16 -15 -15 -14 -15 -15 -16 -16 -16 -15 -15 -16 -17 -18 -19 -19 -17 -15 -17 -20 -22 -20 -18 -18 -19 -21 -22 -24 -24 -24 -24 -26 -27 -27 -26 -26 -25 -25 -25 -25 -25 -23 -21 -21 -20 -19 -18 -18 -18 -18 -17 -18 -21 -25 -27 -29 -32 -30 -30 -30 -32 -32 -31 -31 -32 -33 -34 -34 -35 -35 -36 -36 -36 -36 -37 -38 -39 -40 -40 -38 -35 -33 -32 -32 -31 -30 -29 -28 -28 -27 -26 -25 -25 -27 -30 -30 -29 -29 -29 -28 -29 -31 -32 -35 -37 -37 -34 -30 -27 -24 -21 -21 -24 -27 -30 -30 -28 -26 -26 -26 -27 -29 -32 -36 -40 -41 -39 -37 -34 -31 -29 -28 -27 -26 -25 -24 -24 -24 -24 -25 -25 -23 -21 -23 -25 -26 -27 -28 -26 -24 -22 -21 -21 -22 -21 -20 -21 -22 -22 -21 -20 -19 -20 -21 -23 -25 -25 -25 -24 -23 -25 -26 -25 -22 -18 -19 -21 -25 -26 -24 -22 -21 -20 -19 -19 -17 -16 -16 -17 -17 -18 -18 -19 -21 -23 -15 -15 -14 -13 -13 -13 -15 -15 -14 -13 -11 -10 -11 -12 -11 -10 -10 -9 -8 -9 -12 -15 -16 -14 -13 -14 -14 -12 -10 -8 -8 -6 -6 -6 -6 -6 -7 -6 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -4 -3 -2 -3 -4 -7 -8 -9 -9 -9 -10 -11 -12 -12 -11 -10 -10 -11 -10 -10 -10 -10 -11 -11 -12 -12 -13 -13 -14 -15 -16 -15 -14 -14 -14 -16 -17 -19 -20 -21 -21 -20 -18 -18 -17 -14 -10 -6 -6 -8 -11 -13 -14 -12 -9 -10 -14 -17 -21 -22 -21 -18 -15 -15 -17 -19 -22 -24 -25 -24 -21 -17 -14 -15 -16 -17 -18 -18 -18 -18 -19 -18 -15 -13 -12 -12 -11 -10 -9 -8 -9 -9 -11 -13 -16 -18 -19 -20 -20 -20 -19 -18 -16 -14 -12 -11 -11 -11 -12 -13 -13 -12 -12 -13 -13 -12 -11 -10 -9 -9 -9 -10 -11 -14 -16 -18 -18 -18 -19 -19 -19 -18 -18 -19 -21 -21 -20 -19 -18 -18 -19 -19 -18 -17 -17 -17 -16 -14 -13 -13 -14 -15 -15 -15 -13 -12 -12 -11 -10 -10 -10 -10 -11 -13 -15 -15 -14 -14 -14 -14 -14 -15 -15 -16 -17 -18 -19 -19 -17 -15 -15 -16 -17 -18 -17 -15 -14 -17 -22 -24 -23 -21 -20 -19 -20 -20 -21 -21 -22 -22 -24 -26 -27 -26 -25 -25 -26 -25 -23 -22 -22 -22 -23 -23 -22 -21 -20 -20 -19 -19 -20 -24 -26 -28 -30 -32 -31 -30 -30 -31 -32 -32 -31 -31 -32 -33 -35 -36 -36 -37 -38 -38 -38 -38 -39 -40 -41 -41 -39 -37 -35 -33 -31 -30 -28 -27 -27 -28 -28 -27 -26 -25 -27 -29 -30 -29 -29 -28 -27 -28 -31 -33 -33 -34 -34 -33 -31 -28 -25 -22 -22 -25 -29 -32 -32 -28 -26 -26 -25 -26 -26 -28 -31 -35 -37 -38 -38 -36 -32 -30 -29 -28 -27 -26 -24 -23 -23 -24 -24 -24 -22 -19 -20 -23 -26 -28 -28 -26 -24 -22 -20 -21 -20 -20 -20 -22 -22 -22 -22 -21 -20 -20 -21 -23 -25 -26 -26 -25 -24 -26 -27 -27 -24 -19 -18 -20 -24 -25 -23 -21 -19 -19 -18 -17 -16 -16 -16 -16 -16 -17 -18 -19 -21 -22 -14 -14 -13 -12 -13 -14 -15 -15 -14 -12 -11 -11 -12 -12 -11 -9 -9 -9 -8 -9 -12 -15 -15 -14 -14 -15 -14 -12 -9 -7 -7 -6 -6 -6 -6 -6 -6 -6 -4 -5 -6 -7 -7 -6 -6 -6 -5 -3 -2 -2 -3 -5 -6 -7 -8 -9 -8 -9 -11 -14 -15 -13 -10 -9 -10 -10 -9 -9 -10 -10 -11 -11 -12 -13 -14 -14 -15 -16 -16 -15 -14 -13 -13 -14 -14 -14 -15 -16 -16 -17 -18 -19 -20 -18 -13 -8 -5 -7 -10 -14 -17 -16 -13 -14 -16 -19 -21 -20 -17 -13 -9 -8 -9 -12 -17 -24 -29 -28 -24 -17 -13 -12 -12 -13 -14 -15 -15 -17 -19 -19 -16 -14 -15 -17 -18 -16 -13 -11 -11 -12 -14 -17 -20 -20 -19 -18 -17 -17 -16 -16 -14 -12 -11 -11 -11 -11 -12 -13 -14 -14 -14 -15 -15 -13 -11 -10 -9 -8 -9 -10 -12 -14 -15 -16 -17 -17 -17 -17 -18 -17 -17 -19 -22 -24 -22 -20 -19 -18 -18 -18 -17 -16 -16 -17 -16 -15 -13 -12 -12 -13 -14 -14 -14 -14 -13 -13 -12 -12 -11 -10 -11 -12 -13 -13 -13 -13 -13 -13 -15 -16 -17 -18 -19 -20 -20 -19 -18 -16 -15 -15 -15 -15 -15 -15 -16 -18 -22 -25 -24 -23 -22 -21 -20 -20 -20 -20 -20 -21 -23 -24 -25 -24 -24 -24 -25 -24 -22 -21 -21 -24 -26 -27 -26 -24 -23 -24 -23 -22 -23 -26 -28 -30 -31 -32 -31 -30 -30 -31 -33 -33 -32 -32 -32 -33 -35 -36 -36 -38 -39 -39 -39 -38 -39 -40 -41 -41 -40 -38 -35 -33 -31 -29 -27 -26 -27 -28 -29 -28 -28 -26 -27 -28 -29 -29 -29 -27 -27 -28 -31 -33 -33 -33 -32 -32 -31 -29 -26 -23 -22 -24 -27 -30 -29 -27 -26 -26 -25 -25 -24 -25 -27 -30 -33 -36 -38 -38 -35 -32 -30 -29 -27 -26 -25 -23 -23 -23 -23 -23 -22 -19 -19 -21 -24 -27 -27 -26 -24 -22 -20 -20 -20 -20 -20 -22 -23 -23 -23 -22 -21 -21 -22 -22 -24 -26 -27 -26 -25 -26 -28 -28 -26 -22 -19 -20 -22 -24 -23 -21 -20 -18 -17 -16 -17 -16 -15 -15 -16 -17 -19 -20 -21 -21 -14 -13 -13 -12 -13 -14 -15 -14 -13 -12 -11 -11 -12 -12 -12 -10 -9 -9 -9 -10 -12 -14 -14 -14 -15 -15 -14 -11 -9 -7 -6 -6 -6 -6 -6 -6 -5 -5 -4 -5 -6 -6 -6 -6 -6 -5 -4 -2 -1 -3 -5 -6 -7 -8 -8 -8 -7 -10 -14 -17 -18 -13 -9 -9 -10 -10 -9 -9 -9 -10 -12 -14 -15 -17 -18 -18 -18 -18 -17 -16 -15 -14 -14 -13 -12 -12 -12 -12 -12 -12 -14 -17 -19 -16 -11 -7 -5 -5 -8 -12 -17 -19 -18 -17 -19 -21 -21 -20 -18 -14 -9 -6 -6 -8 -12 -21 -31 -33 -28 -20 -14 -12 -12 -12 -12 -12 -12 -13 -15 -15 -14 -13 -14 -18 -21 -22 -21 -18 -16 -17 -19 -22 -23 -22 -20 -17 -16 -15 -14 -14 -13 -12 -11 -11 -11 -11 -11 -13 -14 -15 -15 -16 -16 -15 -13 -10 -9 -8 -8 -9 -11 -13 -15 -16 -16 -16 -15 -14 -14 -15 -16 -19 -23 -25 -24 -22 -20 -19 -18 -17 -16 -15 -15 -15 -15 -15 -14 -12 -12 -12 -12 -14 -14 -14 -14 -14 -14 -14 -13 -11 -11 -12 -12 -12 -12 -12 -13 -14 -16 -18 -20 -21 -21 -20 -18 -17 -16 -15 -14 -13 -13 -13 -14 -15 -15 -18 -22 -25 -24 -23 -23 -23 -22 -20 -20 -19 -19 -19 -20 -22 -23 -23 -22 -21 -22 -23 -23 -23 -24 -27 -30 -32 -32 -29 -26 -28 -27 -27 -26 -28 -29 -30 -31 -32 -31 -30 -30 -31 -32 -33 -33 -33 -33 -34 -35 -35 -36 -38 -39 -40 -39 -38 -38 -39 -39 -40 -40 -38 -35 -33 -30 -29 -27 -26 -26 -27 -28 -28 -28 -27 -26 -27 -28 -29 -29 -28 -28 -29 -31 -33 -34 -33 -32 -32 -32 -31 -29 -25 -22 -22 -24 -25 -26 -27 -27 -27 -25 -24 -24 -24 -25 -27 -30 -34 -38 -39 -37 -34 -32 -30 -28 -27 -25 -24 -24 -24 -23 -23 -22 -20 -20 -22 -25 -27 -27 -26 -23 -21 -19 -19 -19 -20 -21 -22 -23 -24 -24 -23 -21 -21 -22 -22 -24 -25 -27 -27 -25 -25 -27 -29 -28 -24 -21 -20 -21 -22 -22 -21 -20 -18 -17 -17 -17 -16 -15 -15 -15 -17 -19 -20 -21 -21 -13 -13 -12 -12 -13 -14 -15 -14 -12 -11 -11 -11 -12 -13 -12 -11 -9 -9 -10 -11 -12 -13 -13 -14 -15 -15 -14 -11 -9 -7 -6 -6 -5 -5 -5 -5 -5 -6 -5 -5 -5 -6 -6 -7 -6 -5 -3 -2 -2 -3 -5 -7 -8 -8 -7 -6 -7 -10 -15 -18 -17 -12 -10 -9 -10 -10 -9 -8 -9 -10 -12 -14 -17 -18 -19 -19 -18 -18 -18 -18 -17 -16 -15 -14 -13 -12 -12 -11 -10 -10 -10 -12 -14 -12 -9 -6 -4 -4 -7 -11 -15 -20 -22 -21 -20 -20 -19 -18 -18 -17 -14 -10 -8 -8 -10 -16 -26 -30 -28 -22 -17 -14 -14 -14 -14 -13 -11 -10 -10 -11 -11 -10 -11 -13 -16 -20 -23 -25 -24 -25 -26 -27 -26 -23 -20 -18 -17 -16 -14 -13 -11 -11 -11 -11 -11 -11 -10 -12 -13 -14 -15 -17 -17 -17 -14 -11 -9 -8 -7 -7 -9 -12 -14 -16 -16 -16 -15 -14 -14 -15 -16 -18 -21 -24 -24 -22 -20 -19 -19 -18 -17 -15 -14 -14 -14 -13 -12 -11 -11 -11 -11 -12 -13 -14 -14 -14 -14 -14 -14 -13 -13 -13 -12 -12 -13 -14 -15 -17 -19 -21 -22 -23 -23 -19 -16 -15 -15 -15 -15 -14 -13 -13 -14 -13 -14 -16 -20 -23 -24 -24 -23 -23 -22 -21 -20 -19 -18 -16 -16 -18 -21 -21 -21 -20 -21 -23 -24 -26 -27 -29 -31 -32 -32 -29 -27 -28 -29 -30 -30 -30 -30 -31 -31 -32 -32 -32 -31 -31 -32 -32 -33 -34 -34 -35 -35 -35 -36 -37 -39 -39 -39 -38 -37 -37 -37 -38 -38 -37 -35 -32 -30 -29 -27 -27 -26 -27 -28 -29 -30 -29 -28 -27 -27 -29 -30 -32 -33 -33 -32 -33 -33 -33 -32 -31 -32 -33 -31 -27 -23 -22 -22 -23 -25 -27 -28 -28 -26 -24 -24 -24 -25 -26 -29 -33 -38 -39 -38 -36 -34 -32 -30 -28 -26 -24 -24 -25 -24 -23 -22 -20 -21 -22 -25 -27 -26 -24 -22 -20 -19 -18 -18 -19 -21 -22 -23 -23 -25 -23 -21 -21 -21 -22 -24 -25 -27 -27 -24 -24 -26 -27 -26 -24 -21 -20 -20 -21 -21 -21 -20 -18 -18 -17 -17 -16 -15 -15 -16 -17 -19 -20 -20 -20 -12 -12 -11 -12 -13 -14 -14 -13 -12 -11 -11 -12 -13 -13 -13 -11 -9 -10 -11 -13 -14 -13 -13 -13 -15 -15 -14 -11 -9 -7 -6 -5 -4 -3 -3 -4 -5 -6 -6 -5 -5 -5 -6 -6 -6 -5 -4 -3 -4 -4 -5 -7 -8 -7 -7 -6 -8 -11 -14 -15 -14 -11 -9 -9 -9 -9 -9 -9 -9 -10 -12 -14 -16 -18 -19 -19 -18 -18 -19 -19 -18 -17 -16 -15 -15 -14 -13 -12 -12 -11 -11 -10 -10 -8 -6 -4 -3 -4 -6 -9 -13 -19 -24 -25 -24 -21 -17 -15 -14 -15 -16 -15 -13 -11 -10 -13 -19 -22 -23 -20 -18 -17 -17 -18 -19 -17 -13 -9 -9 -9 -9 -8 -8 -9 -11 -14 -18 -22 -26 -29 -31 -29 -23 -19 -18 -17 -16 -15 -13 -12 -10 -10 -10 -11 -11 -10 -10 -10 -11 -13 -15 -16 -17 -17 -16 -13 -10 -8 -7 -6 -7 -10 -13 -14 -15 -16 -16 -15 -15 -15 -15 -17 -20 -22 -22 -20 -18 -19 -19 -19 -18 -16 -16 -15 -14 -13 -11 -11 -10 -10 -10 -10 -11 -13 -15 -15 -15 -15 -15 -15 -14 -14 -14 -14 -15 -17 -20 -24 -26 -26 -24 -23 -21 -18 -16 -15 -15 -16 -17 -17 -15 -14 -13 -14 -14 -15 -17 -19 -21 -23 -23 -23 -20 -19 -19 -19 -17 -13 -12 -14 -18 -21 -20 -20 -20 -23 -24 -26 -28 -30 -30 -30 -29 -29 -30 -31 -31 -32 -33 -33 -33 -33 -33 -34 -34 -33 -33 -33 -33 -33 -33 -34 -35 -36 -36 -36 -35 -36 -37 -38 -38 -37 -35 -35 -35 -35 -35 -35 -33 -32 -30 -29 -28 -27 -26 -27 -28 -30 -30 -30 -28 -27 -27 -28 -32 -35 -37 -36 -34 -32 -32 -32 -31 -31 -32 -33 -32 -29 -25 -22 -21 -22 -25 -28 -30 -30 -28 -27 -26 -26 -27 -27 -29 -33 -37 -39 -38 -37 -36 -34 -31 -29 -27 -25 -24 -24 -23 -23 -21 -20 -20 -21 -23 -25 -24 -22 -21 -22 -21 -20 -20 -20 -21 -22 -23 -23 -24 -22 -21 -21 -21 -22 -23 -24 -26 -25 -24 -24 -25 -26 -25 -23 -21 -19 -19 -19 -21 -22 -21 -19 -18 -18 -18 -16 -15 -16 -17 -18 -19 -19 -19 -19 -12 -11 -11 -12 -13 -14 -13 -12 -11 -11 -11 -12 -14 -14 -13 -10 -8 -10 -12 -14 -15 -14 -13 -14 -15 -15 -14 -11 -9 -7 -6 -4 -2 -1 -2 -3 -4 -5 -5 -5 -4 -4 -5 -6 -6 -6 -6 -5 -5 -5 -5 -6 -7 -7 -7 -7 -9 -11 -13 -13 -12 -11 -9 -9 -8 -8 -9 -9 -9 -10 -12 -14 -16 -18 -19 -19 -19 -19 -19 -19 -18 -18 -17 -16 -16 -15 -14 -13 -13 -13 -13 -11 -8 -6 -4 -3 -3 -4 -6 -8 -12 -18 -25 -28 -27 -24 -19 -15 -13 -13 -15 -17 -15 -12 -9 -10 -13 -16 -18 -19 -19 -20 -19 -19 -19 -16 -12 -8 -7 -8 -8 -8 -8 -8 -9 -11 -15 -19 -26 -30 -31 -28 -20 -16 -15 -15 -15 -14 -13 -12 -11 -11 -10 -10 -11 -11 -10 -10 -10 -11 -12 -13 -15 -15 -15 -15 -13 -11 -10 -8 -7 -8 -11 -12 -14 -16 -17 -17 -16 -15 -15 -17 -19 -20 -20 -19 -17 -17 -18 -18 -17 -17 -15 -14 -14 -13 -13 -12 -11 -11 -10 -10 -11 -12 -14 -15 -15 -14 -14 -14 -16 -17 -17 -17 -18 -21 -27 -32 -35 -32 -25 -20 -17 -17 -17 -17 -17 -17 -18 -17 -15 -13 -14 -15 -15 -16 -17 -19 -20 -21 -21 -20 -18 -18 -18 -17 -14 -12 -11 -13 -18 -20 -20 -19 -20 -22 -23 -25 -27 -29 -29 -29 -30 -32 -33 -33 -33 -33 -33 -34 -34 -35 -35 -36 -35 -34 -34 -35 -34 -34 -35 -35 -36 -36 -37 -37 -36 -35 -35 -36 -36 -35 -34 -34 -33 -33 -32 -32 -32 -32 -31 -30 -29 -28 -28 -29 -30 -30 -30 -29 -28 -27 -27 -28 -32 -35 -37 -34 -33 -33 -32 -32 -32 -32 -32 -33 -33 -30 -26 -22 -20 -20 -23 -27 -30 -33 -33 -31 -29 -28 -29 -28 -29 -32 -35 -37 -38 -38 -38 -36 -33 -32 -30 -28 -26 -25 -23 -22 -21 -20 -20 -20 -20 -21 -20 -19 -20 -23 -23 -22 -22 -21 -21 -20 -21 -22 -22 -22 -21 -21 -21 -21 -22 -23 -25 -24 -24 -24 -24 -25 -24 -23 -20 -18 -17 -19 -22 -24 -22 -20 -19 -19 -19 -17 -17 -18 -19 -19 -19 -19 -19 -19 -11 -11 -11 -12 -13 -13 -12 -11 -10 -11 -12 -13 -14 -14 -12 -10 -9 -11 -13 -14 -14 -14 -14 -14 -15 -16 -13 -11 -9 -8 -6 -3 -1 -1 -2 -3 -4 -5 -4 -4 -3 -3 -4 -6 -7 -8 -7 -6 -6 -5 -5 -6 -7 -7 -7 -8 -9 -11 -12 -12 -11 -10 -9 -9 -8 -8 -8 -8 -9 -10 -12 -14 -16 -18 -19 -19 -19 -19 -19 -18 -18 -18 -18 -18 -17 -16 -14 -13 -12 -13 -13 -11 -7 -4 -4 -4 -3 -4 -5 -8 -11 -17 -25 -28 -28 -26 -21 -18 -15 -14 -14 -14 -12 -9 -7 -7 -10 -13 -15 -18 -21 -22 -20 -18 -16 -13 -10 -8 -7 -7 -7 -8 -8 -9 -10 -12 -16 -21 -27 -31 -30 -25 -18 -15 -14 -14 -13 -13 -12 -12 -12 -11 -11 -10 -11 -11 -11 -11 -11 -11 -11 -12 -13 -14 -15 -17 -16 -15 -13 -11 -9 -9 -11 -12 -13 -15 -17 -18 -17 -16 -16 -16 -18 -19 -19 -18 -16 -16 -17 -16 -16 -16 -15 -14 -14 -14 -14 -13 -12 -11 -10 -10 -11 -11 -12 -13 -14 -14 -14 -14 -16 -18 -20 -21 -24 -28 -35 -41 -43 -35 -25 -17 -14 -16 -19 -20 -18 -16 -15 -14 -14 -14 -15 -15 -16 -16 -16 -18 -19 -19 -19 -20 -19 -18 -17 -18 -18 -17 -15 -15 -17 -19 -19 -18 -19 -21 -22 -24 -26 -28 -29 -30 -31 -33 -35 -35 -35 -35 -35 -35 -36 -37 -38 -39 -37 -36 -36 -36 -36 -36 -36 -36 -36 -37 -38 -38 -36 -34 -33 -34 -35 -34 -33 -33 -32 -31 -31 -31 -32 -32 -32 -31 -31 -30 -30 -30 -30 -30 -29 -28 -28 -27 -27 -29 -32 -35 -35 -33 -34 -34 -34 -34 -34 -33 -33 -33 -33 -31 -27 -23 -19 -20 -21 -24 -29 -34 -36 -34 -32 -30 -29 -28 -29 -30 -32 -34 -37 -39 -39 -37 -36 -35 -34 -32 -29 -28 -27 -25 -24 -23 -22 -20 -19 -19 -18 -19 -19 -22 -23 -23 -22 -21 -20 -20 -19 -20 -21 -21 -20 -20 -20 -20 -21 -23 -24 -23 -23 -23 -23 -24 -23 -22 -20 -18 -17 -20 -23 -26 -23 -21 -19 -19 -20 -19 -18 -19 -21 -20 -20 -19 -19 -20 -11 -11 -12 -12 -12 -12 -10 -9 -10 -12 -13 -14 -14 -14 -13 -12 -11 -12 -13 -13 -13 -13 -14 -15 -16 -16 -13 -11 -9 -8 -4 -2 -1 -1 -3 -4 -5 -4 -3 -3 -2 -3 -4 -7 -8 -9 -8 -7 -6 -6 -5 -5 -6 -7 -7 -8 -9 -10 -10 -11 -11 -10 -9 -9 -9 -9 -8 -8 -8 -10 -13 -15 -17 -19 -20 -20 -19 -19 -17 -16 -16 -17 -18 -19 -20 -19 -16 -12 -10 -9 -9 -7 -5 -4 -4 -4 -3 -4 -6 -8 -12 -17 -23 -26 -25 -24 -23 -21 -19 -17 -15 -12 -8 -6 -5 -6 -8 -11 -14 -18 -20 -20 -18 -15 -11 -10 -9 -8 -7 -6 -7 -8 -9 -10 -13 -17 -21 -26 -30 -30 -25 -19 -14 -13 -13 -13 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -13 -15 -16 -17 -17 -17 -16 -14 -13 -13 -12 -12 -14 -16 -17 -16 -16 -16 -16 -17 -18 -18 -17 -16 -16 -16 -15 -15 -15 -14 -14 -14 -14 -14 -13 -13 -12 -10 -11 -11 -11 -11 -12 -13 -13 -14 -14 -16 -18 -21 -24 -29 -35 -42 -46 -45 -35 -24 -17 -14 -16 -18 -18 -16 -13 -12 -11 -12 -14 -15 -16 -16 -15 -15 -17 -18 -18 -19 -20 -20 -19 -19 -19 -20 -19 -18 -17 -16 -16 -16 -17 -18 -20 -22 -24 -26 -29 -29 -29 -30 -32 -35 -37 -37 -37 -36 -37 -38 -39 -41 -41 -39 -38 -38 -38 -38 -39 -39 -39 -38 -38 -39 -39 -37 -34 -32 -32 -33 -32 -32 -32 -31 -30 -30 -31 -32 -32 -33 -33 -33 -33 -32 -31 -30 -29 -29 -28 -28 -28 -28 -30 -33 -34 -33 -33 -34 -35 -35 -36 -36 -35 -35 -34 -33 -32 -29 -25 -20 -20 -20 -23 -28 -33 -36 -35 -33 -31 -29 -28 -28 -30 -32 -35 -37 -39 -40 -38 -38 -38 -37 -34 -32 -30 -28 -28 -26 -25 -24 -23 -22 -22 -21 -20 -19 -20 -21 -21 -21 -20 -20 -20 -19 -19 -20 -20 -20 -19 -19 -20 -21 -23 -23 -22 -22 -22 -22 -23 -22 -21 -21 -20 -20 -22 -25 -25 -23 -21 -19 -19 -20 -19 -19 -20 -21 -22 -22 -21 -21 -22 -11 -11 -11 -12 -11 -10 -9 -9 -10 -12 -13 -14 -14 -14 -14 -14 -12 -13 -13 -13 -12 -13 -14 -15 -16 -16 -13 -11 -9 -7 -3 -1 -1 -2 -4 -5 -5 -5 -3 -2 -2 -3 -5 -8 -9 -10 -9 -8 -7 -6 -6 -5 -6 -7 -7 -8 -8 -9 -10 -11 -11 -10 -10 -9 -9 -8 -8 -8 -8 -10 -12 -15 -18 -20 -20 -19 -18 -16 -15 -14 -14 -15 -17 -19 -22 -21 -17 -12 -8 -6 -6 -5 -5 -5 -4 -4 -4 -4 -6 -9 -12 -17 -22 -24 -24 -24 -24 -23 -21 -19 -16 -12 -9 -7 -7 -7 -8 -10 -14 -17 -16 -14 -12 -9 -7 -7 -8 -8 -8 -7 -8 -9 -10 -12 -16 -21 -26 -29 -28 -23 -17 -12 -11 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -13 -13 -14 -14 -12 -11 -11 -13 -14 -15 -17 -18 -18 -17 -16 -16 -14 -14 -14 -14 -14 -13 -12 -13 -14 -15 -16 -17 -17 -17 -16 -16 -16 -16 -15 -15 -14 -14 -14 -14 -14 -14 -13 -11 -11 -12 -12 -11 -11 -12 -12 -13 -14 -15 -17 -20 -24 -30 -37 -43 -46 -43 -33 -24 -19 -17 -17 -16 -16 -16 -16 -14 -12 -12 -12 -13 -14 -15 -15 -15 -16 -17 -17 -18 -19 -20 -20 -20 -20 -21 -22 -22 -20 -15 -13 -13 -14 -16 -19 -22 -24 -26 -27 -28 -28 -28 -30 -35 -37 -38 -39 -39 -39 -40 -42 -44 -42 -41 -39 -39 -39 -40 -41 -41 -41 -40 -40 -41 -41 -39 -35 -32 -31 -31 -31 -30 -30 -30 -31 -31 -31 -32 -33 -34 -35 -35 -34 -33 -30 -28 -28 -27 -27 -27 -28 -30 -32 -33 -33 -33 -33 -34 -35 -35 -36 -36 -37 -36 -35 -35 -34 -31 -27 -22 -20 -21 -23 -28 -32 -35 -35 -33 -32 -30 -29 -29 -30 -32 -35 -38 -40 -40 -39 -39 -39 -37 -35 -33 -31 -29 -28 -27 -26 -25 -24 -23 -22 -22 -21 -20 -19 -19 -19 -20 -20 -21 -21 -19 -19 -20 -20 -20 -18 -19 -20 -22 -24 -22 -20 -20 -21 -21 -22 -22 -21 -22 -22 -22 -23 -23 -23 -23 -22 -20 -18 -18 -19 -19 -19 -21 -23 -23 -23 -23 -23 -11 -11 -12 -12 -11 -10 -9 -9 -11 -12 -13 -13 -14 -15 -16 -15 -14 -13 -13 -13 -13 -13 -13 -14 -15 -15 -13 -10 -8 -5 -2 -1 -1 -3 -4 -6 -6 -5 -3 -2 -2 -3 -6 -9 -11 -10 -9 -8 -8 -7 -6 -5 -5 -7 -7 -7 -7 -8 -9 -10 -10 -10 -10 -10 -9 -7 -7 -7 -8 -10 -12 -15 -17 -19 -19 -18 -17 -16 -14 -13 -13 -14 -16 -19 -22 -20 -16 -11 -7 -5 -5 -5 -5 -5 -5 -5 -5 -5 -7 -9 -13 -17 -22 -23 -23 -23 -25 -25 -23 -19 -14 -13 -11 -10 -9 -10 -10 -12 -13 -14 -13 -12 -10 -8 -6 -7 -8 -9 -11 -11 -12 -12 -12 -15 -19 -22 -23 -23 -19 -14 -11 -9 -10 -11 -12 -13 -12 -11 -10 -10 -11 -11 -12 -13 -13 -13 -13 -14 -15 -15 -15 -13 -12 -10 -11 -12 -14 -16 -19 -19 -19 -19 -18 -16 -15 -14 -13 -13 -12 -11 -11 -12 -13 -15 -15 -16 -16 -16 -17 -18 -19 -18 -16 -14 -14 -13 -13 -14 -14 -14 -12 -12 -12 -12 -11 -10 -11 -12 -13 -13 -14 -15 -18 -22 -28 -34 -40 -43 -39 -30 -23 -19 -18 -17 -16 -16 -17 -19 -19 -16 -13 -10 -9 -10 -12 -14 -16 -17 -18 -18 -17 -17 -18 -20 -21 -20 -21 -22 -23 -21 -15 -13 -12 -13 -15 -19 -23 -26 -27 -28 -28 -27 -26 -29 -34 -37 -39 -41 -42 -43 -44 -45 -45 -43 -41 -40 -39 -40 -40 -41 -41 -41 -40 -40 -41 -43 -41 -38 -34 -31 -30 -29 -29 -29 -30 -31 -32 -32 -33 -34 -35 -35 -35 -35 -33 -31 -28 -27 -25 -26 -28 -30 -32 -33 -34 -34 -34 -33 -33 -34 -34 -35 -36 -37 -37 -37 -36 -35 -32 -28 -24 -23 -24 -26 -29 -33 -35 -34 -32 -31 -31 -30 -30 -30 -31 -35 -38 -40 -40 -39 -39 -39 -38 -36 -34 -32 -29 -28 -27 -26 -25 -24 -23 -22 -22 -21 -20 -19 -19 -19 -20 -21 -22 -22 -20 -20 -20 -20 -19 -18 -18 -20 -22 -24 -21 -20 -20 -21 -22 -21 -21 -21 -23 -23 -23 -23 -23 -22 -22 -23 -22 -20 -18 -18 -19 -19 -21 -23 -24 -24 -24 -24 -11 -12 -12 -11 -10 -9 -9 -9 -11 -12 -12 -13 -14 -16 -17 -16 -15 -14 -14 -13 -13 -13 -13 -14 -15 -14 -11 -8 -5 -3 -1 -1 -2 -3 -5 -6 -7 -6 -4 -2 -3 -5 -8 -11 -11 -11 -9 -9 -9 -7 -6 -5 -5 -6 -7 -7 -7 -8 -9 -10 -10 -11 -11 -9 -7 -5 -5 -6 -7 -9 -11 -14 -16 -17 -17 -16 -15 -15 -14 -12 -12 -14 -16 -19 -20 -18 -14 -9 -6 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -10 -13 -18 -21 -22 -23 -23 -25 -26 -25 -20 -14 -12 -12 -12 -12 -12 -13 -12 -12 -12 -13 -13 -12 -11 -9 -8 -9 -10 -12 -14 -14 -15 -18 -20 -20 -19 -17 -14 -13 -12 -11 -10 -10 -10 -11 -13 -13 -12 -11 -10 -10 -11 -12 -13 -13 -13 -14 -15 -16 -17 -16 -15 -13 -11 -11 -12 -13 -15 -18 -19 -20 -19 -18 -16 -16 -14 -13 -12 -12 -11 -11 -11 -12 -13 -13 -13 -14 -15 -17 -19 -20 -20 -18 -16 -14 -13 -13 -13 -14 -15 -13 -13 -13 -12 -11 -10 -10 -11 -12 -13 -13 -14 -15 -18 -23 -29 -35 -38 -36 -30 -24 -20 -17 -16 -15 -16 -18 -20 -21 -20 -17 -14 -11 -9 -10 -13 -17 -19 -20 -19 -15 -14 -15 -18 -20 -19 -20 -21 -21 -19 -15 -13 -13 -13 -14 -19 -23 -25 -27 -28 -28 -28 -28 -32 -36 -39 -40 -42 -44 -46 -47 -47 -46 -44 -42 -40 -39 -39 -40 -41 -42 -41 -39 -39 -39 -42 -42 -39 -35 -32 -30 -29 -28 -29 -30 -32 -33 -34 -34 -35 -35 -36 -36 -35 -34 -31 -29 -26 -25 -26 -28 -32 -36 -36 -36 -35 -35 -33 -33 -33 -33 -33 -34 -35 -36 -37 -36 -36 -34 -31 -28 -29 -30 -31 -32 -34 -34 -33 -31 -30 -30 -30 -30 -30 -31 -34 -38 -39 -38 -38 -39 -39 -38 -37 -35 -31 -29 -29 -28 -26 -24 -24 -23 -22 -21 -21 -20 -19 -19 -18 -19 -22 -23 -23 -22 -21 -20 -19 -18 -17 -18 -19 -22 -24 -22 -21 -21 -22 -23 -22 -21 -21 -23 -23 -23 -23 -23 -22 -22 -22 -22 -21 -20 -19 -19 -19 -22 -24 -25 -25 -24 -24 -12 -12 -12 -11 -10 -9 -9 -10 -11 -11 -12 -13 -15 -16 -17 -17 -16 -15 -14 -14 -14 -14 -13 -14 -14 -14 -10 -6 -3 -2 -2 -2 -2 -3 -5 -7 -7 -7 -5 -3 -3 -5 -9 -11 -11 -11 -10 -9 -9 -7 -5 -4 -5 -6 -7 -8 -9 -9 -9 -10 -11 -13 -11 -8 -5 -4 -4 -5 -6 -8 -10 -13 -15 -15 -15 -14 -14 -13 -12 -11 -12 -14 -17 -19 -18 -15 -11 -8 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -7 -10 -14 -18 -21 -22 -22 -22 -24 -26 -25 -21 -16 -13 -12 -13 -13 -13 -13 -12 -12 -11 -12 -13 -13 -13 -11 -11 -12 -14 -15 -16 -17 -18 -19 -19 -18 -16 -15 -14 -14 -13 -13 -13 -12 -12 -12 -12 -13 -12 -12 -12 -12 -11 -11 -12 -13 -14 -14 -15 -16 -18 -17 -16 -14 -13 -12 -12 -13 -15 -16 -18 -19 -18 -16 -15 -15 -14 -13 -12 -12 -11 -11 -11 -11 -12 -12 -13 -13 -15 -17 -19 -21 -22 -20 -18 -16 -14 -13 -13 -14 -14 -14 -13 -12 -11 -11 -10 -10 -10 -12 -13 -13 -13 -14 -16 -19 -25 -30 -35 -34 -30 -25 -20 -16 -14 -14 -15 -17 -19 -20 -20 -19 -18 -15 -12 -12 -13 -17 -20 -20 -17 -13 -13 -15 -17 -18 -18 -19 -20 -20 -17 -15 -14 -13 -13 -14 -18 -21 -22 -24 -27 -29 -30 -31 -33 -36 -39 -41 -43 -45 -47 -47 -47 -46 -44 -42 -40 -38 -38 -38 -40 -42 -40 -38 -37 -37 -40 -41 -39 -37 -33 -31 -29 -29 -29 -30 -32 -33 -34 -35 -35 -36 -36 -36 -35 -34 -32 -30 -27 -26 -26 -29 -33 -35 -36 -36 -35 -34 -32 -32 -32 -32 -32 -32 -33 -34 -36 -36 -36 -36 -35 -33 -33 -33 -34 -35 -37 -36 -33 -30 -29 -29 -29 -30 -30 -32 -36 -39 -39 -39 -39 -39 -39 -37 -37 -35 -33 -30 -29 -28 -26 -24 -24 -23 -23 -22 -21 -20 -19 -20 -19 -19 -20 -21 -23 -22 -21 -19 -18 -17 -17 -18 -19 -20 -23 -22 -22 -22 -23 -23 -22 -21 -21 -22 -24 -24 -24 -22 -22 -22 -22 -23 -22 -22 -22 -21 -21 -23 -25 -26 -26 -25 -24 -12 -12 -12 -11 -10 -10 -10 -10 -10 -11 -12 -13 -15 -16 -17 -17 -16 -15 -14 -14 -14 -15 -15 -14 -14 -11 -7 -4 -3 -2 -2 -2 -2 -4 -6 -8 -8 -7 -5 -4 -4 -7 -9 -11 -11 -11 -10 -9 -8 -5 -4 -5 -6 -6 -7 -8 -10 -10 -10 -10 -12 -13 -10 -7 -4 -4 -5 -5 -7 -9 -12 -13 -14 -14 -13 -12 -12 -12 -11 -11 -11 -14 -16 -18 -16 -13 -10 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -8 -12 -16 -20 -21 -21 -21 -21 -23 -24 -24 -21 -17 -14 -12 -13 -13 -12 -12 -12 -13 -12 -14 -14 -14 -13 -12 -13 -14 -16 -17 -17 -17 -17 -16 -16 -16 -16 -16 -15 -14 -14 -14 -15 -15 -14 -14 -13 -13 -12 -12 -13 -14 -14 -14 -14 -15 -15 -15 -15 -16 -17 -17 -16 -16 -15 -14 -13 -14 -15 -16 -18 -18 -17 -15 -13 -14 -13 -12 -12 -12 -12 -12 -11 -11 -12 -12 -12 -13 -14 -16 -18 -20 -22 -21 -19 -17 -15 -14 -14 -14 -14 -14 -13 -12 -11 -12 -12 -11 -11 -12 -13 -13 -13 -13 -14 -17 -22 -27 -32 -33 -29 -24 -20 -16 -13 -13 -14 -17 -18 -18 -18 -19 -19 -18 -15 -14 -14 -16 -18 -17 -15 -12 -13 -16 -18 -18 -19 -20 -21 -19 -17 -16 -15 -14 -14 -15 -17 -18 -19 -22 -26 -29 -31 -32 -34 -35 -38 -41 -44 -45 -45 -43 -43 -44 -44 -43 -40 -38 -36 -37 -39 -41 -40 -38 -37 -36 -38 -39 -39 -38 -35 -32 -30 -29 -29 -30 -32 -34 -35 -36 -36 -36 -36 -36 -35 -34 -33 -32 -29 -27 -27 -29 -31 -33 -33 -33 -34 -33 -32 -31 -31 -32 -31 -31 -31 -32 -34 -35 -36 -37 -38 -37 -35 -34 -34 -36 -38 -37 -34 -31 -29 -28 -29 -30 -32 -35 -38 -40 -41 -40 -40 -40 -39 -36 -36 -35 -34 -33 -32 -29 -26 -24 -24 -24 -24 -23 -22 -21 -21 -22 -21 -20 -20 -21 -22 -22 -20 -19 -18 -18 -18 -18 -18 -19 -22 -22 -22 -22 -23 -24 -23 -22 -22 -22 -23 -25 -25 -23 -23 -23 -24 -24 -22 -22 -22 -22 -21 -23 -25 -26 -27 -27 -25 -12 -12 -12 -11 -10 -10 -9 -9 -10 -11 -12 -14 -15 -16 -17 -16 -15 -14 -13 -13 -14 -15 -15 -14 -12 -9 -5 -4 -3 -3 -2 -1 -3 -5 -7 -8 -8 -7 -6 -5 -6 -8 -10 -11 -11 -11 -10 -8 -6 -5 -4 -5 -6 -6 -7 -9 -10 -11 -11 -11 -11 -12 -9 -6 -5 -5 -6 -7 -8 -10 -13 -13 -13 -12 -11 -10 -11 -11 -11 -11 -12 -14 -16 -16 -14 -12 -9 -8 -8 -7 -7 -7 -6 -6 -6 -5 -5 -6 -9 -13 -18 -22 -23 -22 -21 -20 -22 -23 -23 -21 -17 -14 -12 -12 -12 -10 -11 -12 -13 -15 -15 -16 -16 -14 -13 -14 -15 -17 -17 -16 -14 -13 -12 -14 -16 -17 -17 -16 -15 -15 -15 -15 -15 -15 -15 -13 -12 -12 -12 -13 -14 -15 -15 -16 -17 -17 -17 -17 -17 -17 -17 -15 -14 -14 -13 -12 -13 -14 -16 -17 -17 -16 -14 -12 -12 -12 -12 -12 -13 -13 -12 -11 -11 -11 -12 -12 -12 -14 -15 -17 -19 -21 -22 -21 -19 -17 -16 -15 -14 -14 -14 -13 -12 -12 -12 -12 -13 -12 -12 -12 -14 -15 -15 -16 -17 -20 -23 -27 -29 -25 -21 -17 -15 -13 -12 -13 -15 -16 -16 -17 -18 -20 -20 -19 -18 -17 -16 -16 -15 -13 -11 -12 -14 -16 -17 -19 -20 -21 -20 -19 -17 -15 -15 -15 -17 -17 -17 -17 -20 -25 -29 -32 -34 -35 -35 -37 -40 -44 -45 -43 -41 -40 -42 -43 -43 -41 -38 -35 -35 -37 -39 -40 -39 -37 -36 -37 -38 -39 -39 -36 -34 -32 -30 -30 -31 -32 -34 -35 -35 -35 -36 -36 -36 -35 -35 -34 -33 -30 -28 -28 -28 -29 -30 -31 -31 -32 -31 -31 -32 -32 -32 -31 -30 -30 -31 -33 -35 -37 -38 -39 -38 -36 -34 -34 -37 -38 -38 -36 -34 -31 -29 -29 -29 -35 -38 -40 -40 -40 -40 -40 -40 -39 -37 -35 -34 -34 -34 -33 -30 -27 -24 -25 -26 -26 -24 -22 -22 -23 -24 -22 -21 -20 -21 -22 -23 -23 -21 -20 -18 -18 -18 -19 -20 -21 -22 -22 -23 -24 -25 -25 -23 -22 -22 -24 -26 -26 -24 -24 -25 -26 -26 -23 -21 -22 -23 -22 -23 -25 -27 -27 -27 -25 -12 -12 -11 -10 -10 -9 -9 -8 -9 -11 -13 -15 -16 -16 -16 -15 -14 -13 -13 -13 -14 -16 -15 -13 -10 -6 -3 -3 -3 -3 -2 -2 -3 -6 -8 -8 -8 -7 -6 -7 -8 -10 -11 -11 -11 -11 -9 -7 -5 -4 -4 -6 -7 -7 -8 -9 -10 -11 -11 -11 -10 -10 -8 -7 -6 -7 -7 -8 -9 -11 -12 -12 -11 -10 -10 -10 -11 -11 -12 -12 -13 -14 -14 -13 -12 -11 -10 -9 -9 -8 -7 -7 -6 -7 -6 -6 -5 -6 -10 -14 -19 -23 -24 -24 -22 -20 -21 -22 -22 -20 -17 -13 -11 -10 -10 -9 -9 -11 -12 -15 -15 -15 -16 -16 -14 -14 -15 -17 -17 -14 -11 -10 -11 -13 -15 -16 -17 -17 -15 -14 -14 -15 -15 -16 -16 -15 -13 -12 -12 -13 -14 -15 -16 -16 -17 -18 -18 -18 -18 -18 -16 -15 -14 -13 -12 -12 -12 -13 -15 -16 -16 -15 -13 -12 -13 -13 -12 -12 -13 -13 -12 -11 -11 -11 -11 -11 -12 -13 -14 -16 -18 -21 -22 -22 -21 -19 -17 -15 -14 -14 -13 -12 -12 -12 -12 -12 -13 -13 -12 -13 -14 -16 -17 -18 -19 -21 -22 -23 -24 -22 -20 -18 -17 -14 -12 -12 -12 -13 -14 -15 -17 -19 -20 -22 -22 -21 -18 -15 -14 -14 -14 -13 -14 -15 -17 -19 -19 -18 -17 -16 -16 -16 -16 -17 -20 -20 -19 -18 -21 -25 -29 -32 -36 -37 -37 -37 -39 -43 -44 -43 -41 -40 -41 -42 -42 -41 -38 -36 -34 -35 -37 -39 -39 -38 -38 -37 -38 -39 -39 -37 -35 -33 -32 -31 -32 -33 -33 -34 -34 -35 -36 -37 -37 -36 -36 -35 -34 -31 -30 -28 -27 -26 -27 -29 -31 -31 -31 -31 -32 -33 -33 -33 -31 -30 -30 -33 -36 -38 -39 -40 -38 -36 -34 -35 -37 -39 -39 -38 -37 -35 -33 -31 -30 -32 -35 -36 -37 -38 -39 -40 -39 -40 -38 -37 -35 -34 -34 -33 -31 -30 -28 -27 -26 -26 -24 -22 -22 -24 -25 -23 -21 -20 -21 -23 -24 -24 -23 -21 -19 -18 -18 -19 -20 -22 -23 -24 -23 -24 -25 -25 -24 -23 -22 -23 -24 -24 -25 -25 -26 -27 -27 -24 -21 -21 -23 -22 -23 -25 -27 -28 -28 -26 -12 -11 -10 -10 -9 -9 -8 -8 -9 -11 -14 -16 -16 -16 -15 -14 -13 -13 -12 -13 -14 -16 -15 -11 -7 -3 -2 -3 -3 -3 -2 -2 -4 -6 -8 -8 -7 -7 -7 -8 -9 -10 -11 -11 -11 -10 -8 -6 -4 -4 -5 -6 -8 -8 -9 -9 -10 -10 -10 -10 -10 -9 -8 -8 -7 -8 -8 -9 -10 -11 -11 -11 -11 -10 -9 -9 -10 -11 -13 -13 -14 -14 -13 -11 -10 -10 -10 -10 -9 -8 -7 -6 -6 -6 -6 -6 -6 -7 -10 -15 -20 -25 -26 -25 -22 -19 -19 -20 -21 -20 -18 -14 -11 -10 -10 -9 -8 -9 -10 -11 -12 -14 -15 -16 -14 -13 -13 -13 -14 -13 -12 -12 -13 -15 -16 -16 -16 -16 -15 -13 -13 -15 -17 -17 -17 -16 -14 -12 -12 -12 -13 -13 -14 -15 -15 -16 -17 -17 -18 -18 -17 -15 -14 -14 -13 -13 -12 -12 -13 -14 -14 -14 -13 -11 -12 -13 -13 -12 -13 -13 -12 -11 -12 -13 -13 -13 -14 -14 -15 -16 -18 -21 -23 -24 -23 -21 -18 -16 -14 -14 -13 -12 -11 -11 -12 -12 -13 -13 -13 -14 -16 -17 -19 -20 -20 -21 -21 -21 -20 -20 -20 -20 -19 -17 -15 -14 -13 -11 -11 -13 -14 -15 -19 -23 -26 -24 -20 -17 -15 -16 -17 -16 -14 -14 -17 -18 -18 -17 -16 -15 -15 -15 -17 -18 -21 -22 -22 -20 -21 -24 -27 -31 -36 -39 -40 -39 -41 -43 -44 -43 -40 -39 -40 -40 -41 -40 -38 -36 -34 -34 -36 -37 -38 -38 -39 -38 -38 -39 -39 -37 -36 -35 -34 -33 -33 -33 -33 -33 -34 -35 -37 -37 -38 -37 -37 -35 -33 -32 -31 -30 -28 -26 -26 -28 -31 -32 -32 -32 -33 -34 -34 -34 -33 -31 -32 -34 -37 -39 -40 -40 -37 -35 -34 -35 -36 -37 -38 -38 -38 -37 -35 -34 -33 -31 -31 -32 -34 -35 -37 -38 -39 -40 -40 -39 -38 -35 -35 -33 -32 -31 -30 -28 -26 -26 -24 -22 -22 -23 -24 -23 -22 -21 -21 -23 -25 -25 -24 -21 -20 -20 -20 -21 -21 -22 -24 -25 -24 -24 -24 -24 -23 -22 -21 -22 -23 -23 -25 -25 -25 -26 -26 -24 -22 -21 -21 -22 -23 -25 -27 -28 -28 -27 -12 -10 -9 -9 -9 -8 -7 -8 -9 -12 -14 -16 -17 -17 -15 -14 -13 -12 -12 -13 -14 -16 -13 -8 -5 -2 -2 -2 -2 -2 -2 -3 -4 -6 -7 -6 -6 -6 -7 -9 -10 -10 -10 -11 -11 -10 -7 -5 -4 -4 -5 -7 -8 -9 -9 -10 -10 -9 -8 -8 -9 -9 -8 -7 -7 -7 -8 -9 -10 -12 -13 -13 -12 -10 -9 -9 -10 -12 -13 -14 -13 -12 -11 -9 -9 -10 -11 -11 -10 -8 -7 -6 -6 -6 -6 -6 -6 -6 -9 -13 -18 -23 -25 -25 -22 -18 -14 -15 -16 -18 -18 -15 -12 -10 -9 -9 -10 -10 -9 -10 -12 -14 -15 -15 -12 -9 -8 -8 -8 -9 -12 -15 -17 -19 -20 -18 -14 -12 -13 -14 -15 -17 -18 -18 -16 -15 -14 -12 -12 -11 -11 -12 -13 -14 -14 -13 -14 -16 -17 -17 -17 -16 -15 -15 -16 -16 -15 -13 -12 -12 -12 -13 -13 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -13 -14 -16 -18 -21 -24 -26 -26 -25 -21 -18 -15 -13 -13 -12 -11 -11 -11 -12 -12 -13 -14 -15 -17 -19 -21 -21 -21 -21 -20 -20 -20 -20 -20 -21 -22 -21 -19 -17 -14 -12 -11 -11 -12 -13 -17 -22 -26 -24 -20 -17 -16 -18 -19 -17 -14 -13 -16 -18 -18 -17 -15 -15 -14 -15 -16 -20 -24 -26 -25 -22 -22 -23 -25 -29 -35 -39 -41 -42 -43 -44 -44 -42 -39 -38 -38 -39 -39 -38 -36 -35 -35 -34 -36 -37 -38 -39 -40 -39 -39 -39 -39 -38 -38 -37 -36 -35 -34 -33 -33 -34 -35 -36 -37 -38 -38 -38 -37 -35 -32 -31 -31 -31 -30 -27 -26 -27 -29 -32 -33 -34 -34 -34 -34 -34 -34 -34 -35 -36 -38 -39 -39 -38 -36 -34 -33 -34 -34 -34 -35 -35 -36 -36 -36 -35 -35 -33 -31 -31 -32 -33 -35 -36 -38 -40 -41 -41 -41 -37 -35 -34 -32 -32 -31 -29 -27 -26 -26 -23 -22 -22 -24 -24 -23 -22 -22 -23 -25 -26 -24 -22 -21 -21 -22 -22 -22 -22 -23 -24 -24 -23 -23 -23 -22 -21 -21 -21 -22 -24 -25 -25 -24 -25 -25 -24 -22 -22 -21 -22 -23 -24 -26 -27 -28 -28 -11 -9 -8 -9 -8 -8 -7 -8 -10 -12 -15 -16 -17 -17 -16 -14 -12 -11 -12 -13 -14 -15 -10 -6 -3 -2 -2 -2 -2 -2 -2 -4 -5 -6 -6 -6 -6 -7 -8 -9 -10 -10 -10 -11 -11 -9 -6 -4 -5 -6 -7 -8 -8 -9 -10 -10 -10 -9 -8 -8 -9 -9 -9 -8 -7 -7 -8 -9 -11 -13 -14 -14 -13 -12 -11 -11 -12 -13 -14 -14 -12 -11 -9 -9 -9 -11 -12 -12 -10 -8 -7 -6 -6 -6 -6 -6 -6 -6 -8 -12 -18 -22 -24 -23 -19 -14 -10 -9 -10 -12 -13 -12 -11 -11 -11 -11 -12 -13 -14 -15 -16 -16 -14 -11 -10 -9 -9 -9 -9 -8 -9 -11 -16 -21 -21 -17 -12 -11 -14 -16 -19 -20 -20 -18 -16 -14 -13 -12 -11 -10 -11 -12 -13 -14 -13 -12 -12 -14 -15 -16 -15 -15 -15 -16 -18 -18 -17 -16 -14 -13 -13 -12 -12 -12 -12 -12 -13 -13 -13 -13 -13 -14 -13 -13 -13 -12 -12 -13 -14 -16 -18 -22 -26 -29 -30 -30 -26 -21 -17 -14 -14 -13 -12 -11 -11 -11 -11 -12 -15 -17 -19 -21 -23 -22 -21 -21 -20 -21 -20 -20 -21 -21 -22 -22 -20 -18 -17 -15 -13 -12 -12 -12 -13 -17 -21 -20 -18 -17 -16 -17 -17 -16 -15 -14 -15 -16 -16 -15 -14 -14 -14 -15 -17 -21 -26 -29 -28 -24 -22 -22 -24 -28 -33 -37 -40 -42 -43 -43 -43 -42 -39 -37 -37 -38 -38 -37 -36 -35 -35 -35 -35 -37 -38 -40 -41 -41 -41 -41 -40 -39 -39 -38 -38 -37 -35 -34 -34 -35 -36 -37 -38 -38 -39 -39 -37 -35 -32 -31 -32 -33 -32 -29 -26 -25 -27 -30 -33 -34 -34 -34 -34 -35 -35 -36 -37 -38 -38 -37 -36 -35 -34 -34 -33 -32 -31 -32 -32 -34 -36 -37 -35 -35 -35 -34 -32 -31 -32 -33 -35 -37 -39 -42 -43 -44 -43 -39 -36 -34 -32 -32 -32 -30 -28 -26 -26 -24 -22 -21 -22 -23 -23 -23 -23 -24 -25 -25 -24 -23 -22 -23 -24 -24 -24 -24 -25 -24 -24 -24 -23 -23 -22 -21 -21 -22 -22 -24 -24 -24 -23 -23 -24 -24 -24 -25 -23 -22 -22 -22 -24 -25 -27 -29 -9 -8 -7 -8 -8 -8 -8 -8 -10 -13 -15 -16 -17 -16 -15 -14 -12 -11 -12 -13 -14 -14 -9 -5 -2 -1 -2 -2 -2 -2 -3 -5 -6 -7 -6 -6 -6 -7 -8 -9 -9 -10 -11 -11 -10 -8 -6 -4 -5 -7 -8 -8 -9 -9 -9 -9 -9 -8 -7 -8 -8 -9 -8 -8 -8 -8 -9 -11 -12 -14 -16 -14 -13 -12 -11 -12 -14 -15 -15 -14 -12 -10 -9 -9 -10 -11 -12 -11 -10 -8 -7 -6 -6 -6 -7 -8 -8 -7 -8 -12 -18 -23 -23 -20 -14 -8 -6 -6 -7 -8 -9 -9 -10 -12 -13 -14 -15 -16 -18 -18 -17 -14 -10 -8 -9 -11 -13 -15 -17 -15 -13 -13 -15 -15 -14 -12 -11 -12 -15 -18 -21 -23 -22 -20 -17 -14 -13 -12 -11 -10 -11 -12 -13 -13 -12 -12 -12 -13 -13 -13 -12 -12 -13 -15 -17 -19 -19 -18 -16 -16 -15 -13 -12 -11 -11 -12 -13 -14 -14 -13 -13 -14 -14 -14 -14 -13 -13 -13 -14 -15 -17 -22 -28 -33 -36 -35 -31 -25 -19 -16 -16 -15 -14 -12 -11 -11 -12 -12 -14 -17 -19 -22 -23 -22 -21 -21 -21 -21 -20 -20 -21 -21 -20 -20 -19 -17 -17 -16 -15 -13 -12 -12 -12 -14 -15 -14 -14 -16 -17 -17 -16 -17 -17 -17 -15 -14 -13 -13 -12 -12 -13 -15 -18 -23 -27 -30 -29 -26 -23 -22 -24 -28 -32 -36 -38 -41 -42 -43 -43 -42 -40 -39 -38 -37 -37 -36 -35 -35 -35 -35 -36 -37 -39 -41 -43 -44 -43 -42 -41 -41 -41 -40 -39 -38 -38 -37 -36 -36 -37 -37 -37 -38 -39 -39 -39 -37 -34 -33 -34 -35 -34 -31 -28 -26 -26 -28 -31 -33 -34 -34 -35 -36 -36 -38 -39 -39 -37 -35 -33 -33 -34 -35 -35 -34 -33 -33 -34 -37 -39 -40 -38 -35 -35 -35 -34 -33 -33 -34 -36 -39 -42 -44 -46 -46 -45 -40 -36 -33 -32 -31 -32 -31 -30 -27 -26 -24 -22 -21 -22 -22 -24 -25 -25 -24 -23 -23 -24 -23 -24 -24 -26 -26 -25 -26 -26 -25 -24 -23 -23 -24 -23 -23 -22 -22 -23 -23 -24 -25 -23 -23 -23 -23 -24 -25 -24 -23 -23 -21 -22 -24 -25 -28 -7 -6 -7 -8 -8 -8 -8 -9 -10 -13 -15 -16 -16 -16 -15 -13 -12 -12 -12 -14 -14 -12 -8 -4 -2 -1 -2 -3 -3 -3 -4 -6 -7 -7 -6 -6 -7 -8 -8 -8 -9 -10 -11 -10 -10 -7 -5 -4 -5 -7 -8 -9 -9 -9 -9 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -9 -10 -12 -14 -16 -16 -13 -11 -10 -11 -13 -15 -15 -15 -13 -11 -10 -9 -10 -11 -12 -11 -10 -9 -8 -8 -7 -7 -7 -8 -9 -9 -8 -9 -12 -16 -20 -20 -17 -12 -6 -5 -6 -7 -7 -7 -8 -9 -11 -13 -15 -16 -18 -20 -19 -16 -11 -7 -6 -7 -8 -10 -14 -19 -20 -20 -20 -18 -14 -12 -11 -12 -13 -16 -20 -23 -24 -22 -18 -15 -14 -14 -13 -12 -11 -11 -11 -12 -13 -12 -12 -13 -13 -13 -11 -10 -11 -12 -14 -15 -17 -18 -18 -18 -16 -15 -13 -12 -11 -11 -11 -12 -13 -13 -13 -12 -13 -14 -14 -15 -14 -14 -14 -13 -14 -16 -22 -30 -37 -41 -40 -34 -27 -21 -17 -16 -16 -16 -14 -12 -12 -12 -12 -13 -15 -17 -18 -20 -21 -22 -22 -22 -21 -20 -20 -21 -19 -18 -17 -16 -16 -17 -17 -16 -15 -14 -14 -14 -13 -11 -9 -10 -14 -17 -19 -19 -19 -20 -20 -17 -14 -12 -11 -9 -10 -12 -15 -19 -24 -28 -30 -30 -27 -24 -24 -26 -30 -33 -35 -38 -40 -41 -41 -41 -41 -40 -39 -37 -36 -36 -35 -35 -35 -35 -36 -37 -38 -39 -41 -43 -44 -44 -43 -42 -43 -43 -42 -41 -41 -41 -40 -39 -38 -37 -37 -37 -38 -39 -39 -40 -39 -37 -35 -34 -36 -37 -34 -31 -28 -28 -28 -30 -32 -34 -35 -36 -37 -36 -37 -38 -38 -37 -35 -32 -32 -34 -36 -38 -37 -36 -37 -38 -41 -43 -43 -41 -38 -37 -37 -36 -35 -35 -36 -38 -40 -43 -46 -47 -47 -45 -41 -37 -34 -31 -30 -31 -32 -31 -28 -26 -24 -23 -22 -22 -23 -24 -26 -26 -24 -23 -22 -24 -25 -25 -26 -27 -27 -26 -26 -26 -26 -24 -23 -23 -24 -24 -24 -23 -23 -23 -24 -25 -27 -26 -25 -25 -23 -23 -23 -23 -24 -24 -22 -23 -25 -26 -28 -5 -5 -6 -7 -8 -8 -9 -9 -10 -13 -14 -16 -16 -15 -14 -14 -14 -13 -13 -14 -14 -12 -8 -5 -2 -1 -2 -3 -3 -4 -5 -7 -8 -7 -6 -6 -7 -8 -8 -8 -9 -11 -11 -10 -9 -7 -6 -5 -6 -7 -8 -8 -8 -9 -8 -8 -6 -6 -7 -7 -8 -8 -10 -10 -11 -10 -11 -13 -16 -17 -15 -11 -9 -9 -10 -14 -16 -16 -14 -11 -9 -9 -9 -10 -12 -12 -11 -10 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -13 -14 -15 -15 -14 -12 -8 -6 -6 -7 -7 -7 -8 -8 -10 -12 -15 -17 -19 -19 -18 -14 -9 -5 -4 -5 -5 -6 -10 -14 -17 -19 -19 -18 -14 -12 -12 -13 -15 -18 -22 -25 -24 -20 -16 -13 -12 -13 -14 -13 -12 -11 -11 -12 -12 -13 -14 -15 -14 -13 -11 -11 -11 -12 -14 -13 -14 -16 -18 -19 -18 -16 -14 -13 -11 -11 -11 -12 -13 -13 -12 -12 -12 -13 -14 -15 -15 -15 -15 -14 -14 -16 -22 -30 -38 -43 -40 -34 -28 -23 -19 -17 -16 -16 -15 -14 -13 -13 -13 -13 -14 -14 -14 -16 -19 -21 -22 -22 -19 -19 -19 -19 -17 -15 -15 -15 -16 -17 -18 -18 -17 -16 -16 -16 -15 -12 -9 -9 -11 -15 -19 -21 -22 -22 -20 -16 -14 -12 -11 -9 -9 -11 -15 -20 -24 -27 -28 -30 -29 -28 -27 -29 -32 -34 -35 -37 -39 -40 -40 -41 -41 -40 -38 -37 -36 -35 -34 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -43 -43 -44 -44 -45 -45 -45 -45 -44 -42 -39 -38 -36 -36 -37 -38 -39 -40 -40 -37 -34 -33 -35 -36 -35 -33 -31 -30 -29 -29 -30 -33 -36 -37 -37 -35 -34 -35 -36 -37 -37 -34 -33 -34 -38 -40 -40 -40 -40 -42 -44 -45 -43 -41 -39 -38 -39 -38 -37 -37 -37 -38 -41 -43 -45 -46 -47 -46 -43 -39 -35 -33 -31 -32 -32 -32 -30 -28 -26 -24 -24 -24 -24 -25 -25 -25 -24 -23 -22 -24 -26 -27 -27 -28 -27 -26 -25 -24 -25 -24 -24 -24 -26 -27 -26 -24 -24 -25 -26 -27 -29 -28 -27 -26 -24 -23 -23 -23 -24 -24 -24 -25 -27 -28 -28 -4 -5 -6 -7 -8 -9 -9 -10 -11 -13 -14 -15 -15 -14 -14 -14 -14 -14 -14 -14 -13 -11 -9 -5 -3 -2 -2 -3 -4 -5 -6 -8 -8 -7 -6 -6 -7 -7 -8 -8 -10 -11 -11 -10 -9 -8 -7 -6 -6 -7 -7 -7 -7 -8 -8 -7 -6 -6 -7 -7 -8 -10 -12 -13 -13 -12 -13 -15 -16 -16 -12 -10 -8 -9 -11 -15 -17 -17 -13 -9 -7 -7 -9 -10 -12 -12 -12 -11 -11 -11 -11 -12 -12 -11 -11 -11 -11 -12 -13 -13 -13 -13 -13 -13 -12 -11 -8 -7 -6 -7 -8 -8 -9 -10 -12 -15 -17 -18 -17 -15 -13 -9 -6 -4 -4 -4 -5 -8 -10 -13 -14 -15 -14 -13 -12 -12 -14 -16 -20 -24 -25 -23 -18 -13 -11 -11 -12 -13 -13 -13 -12 -12 -13 -13 -13 -14 -15 -14 -13 -11 -11 -12 -13 -14 -14 -14 -14 -15 -17 -18 -17 -16 -14 -12 -11 -11 -12 -13 -12 -12 -11 -11 -12 -13 -15 -15 -16 -16 -16 -16 -18 -22 -29 -35 -39 -36 -31 -27 -24 -21 -18 -17 -15 -15 -15 -14 -14 -13 -13 -13 -13 -13 -14 -16 -17 -18 -18 -17 -17 -17 -17 -15 -14 -14 -15 -16 -17 -18 -18 -18 -17 -16 -16 -16 -15 -11 -10 -10 -13 -17 -21 -23 -23 -20 -16 -13 -11 -9 -9 -10 -12 -16 -21 -24 -25 -26 -29 -30 -30 -30 -30 -32 -34 -35 -37 -39 -40 -40 -40 -40 -39 -38 -37 -36 -35 -35 -35 -36 -37 -38 -39 -40 -41 -41 -42 -42 -43 -43 -44 -45 -46 -47 -48 -48 -48 -47 -44 -40 -38 -36 -36 -37 -38 -38 -38 -38 -36 -32 -30 -32 -34 -34 -34 -33 -33 -31 -30 -29 -32 -35 -37 -36 -33 -30 -30 -32 -36 -38 -36 -35 -36 -39 -41 -42 -42 -43 -45 -46 -45 -42 -41 -39 -39 -40 -40 -39 -38 -38 -38 -40 -41 -42 -44 -47 -46 -44 -40 -35 -35 -34 -33 -33 -32 -31 -30 -29 -27 -26 -26 -26 -25 -24 -23 -22 -22 -22 -24 -26 -27 -27 -28 -27 -26 -24 -23 -24 -24 -24 -24 -27 -27 -26 -25 -26 -26 -26 -27 -29 -28 -27 -26 -24 -24 -23 -23 -23 -25 -26 -27 -28 -29 -29 -4 -6 -7 -8 -8 -9 -9 -10 -11 -13 -14 -14 -14 -13 -13 -14 -15 -14 -14 -13 -12 -11 -9 -6 -4 -3 -3 -4 -5 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -8 -10 -11 -12 -11 -10 -9 -7 -6 -5 -6 -6 -6 -7 -8 -8 -7 -6 -6 -6 -7 -9 -12 -13 -14 -14 -15 -15 -16 -16 -13 -10 -8 -9 -11 -14 -17 -18 -17 -13 -8 -6 -7 -8 -11 -12 -12 -11 -11 -12 -13 -13 -14 -14 -13 -13 -13 -13 -14 -14 -14 -14 -15 -14 -14 -13 -12 -8 -7 -6 -7 -8 -9 -10 -12 -14 -16 -16 -15 -14 -14 -13 -12 -10 -6 -5 -6 -7 -10 -11 -12 -13 -12 -12 -12 -12 -14 -15 -17 -21 -23 -24 -21 -16 -12 -10 -10 -11 -11 -12 -11 -12 -13 -13 -13 -13 -14 -13 -13 -12 -12 -11 -12 -12 -13 -14 -14 -13 -13 -14 -15 -15 -15 -14 -13 -12 -11 -12 -12 -12 -12 -12 -12 -12 -12 -13 -15 -15 -16 -17 -19 -20 -22 -25 -28 -31 -29 -26 -24 -23 -22 -19 -17 -15 -15 -15 -14 -14 -13 -13 -13 -13 -13 -13 -14 -14 -15 -15 -15 -16 -16 -17 -16 -14 -13 -13 -14 -15 -17 -18 -19 -18 -16 -15 -16 -17 -14 -13 -12 -13 -16 -20 -23 -23 -20 -17 -14 -11 -9 -9 -11 -13 -17 -20 -22 -25 -29 -31 -31 -30 -30 -29 -31 -34 -36 -37 -38 -40 -40 -39 -39 -38 -38 -37 -36 -36 -37 -37 -37 -38 -39 -40 -41 -41 -41 -41 -41 -42 -43 -44 -45 -46 -48 -49 -49 -49 -49 -45 -41 -37 -36 -35 -36 -36 -37 -38 -39 -35 -31 -29 -30 -32 -34 -36 -36 -34 -33 -31 -30 -30 -33 -34 -34 -32 -29 -29 -30 -34 -37 -37 -37 -37 -39 -41 -43 -44 -44 -45 -45 -44 -41 -40 -39 -39 -39 -40 -39 -38 -38 -38 -38 -38 -39 -41 -44 -44 -42 -39 -35 -35 -35 -35 -34 -34 -34 -34 -33 -31 -29 -28 -27 -26 -25 -23 -22 -21 -22 -23 -25 -26 -26 -26 -25 -24 -24 -23 -24 -24 -25 -25 -26 -24 -22 -23 -27 -26 -25 -25 -28 -27 -26 -25 -24 -23 -22 -22 -23 -27 -28 -29 -29 -29 -29 -5 -6 -8 -9 -9 -9 -9 -10 -11 -12 -13 -13 -13 -12 -13 -15 -15 -14 -13 -12 -12 -11 -10 -7 -5 -4 -4 -5 -6 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -8 -10 -11 -12 -12 -10 -8 -7 -6 -5 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -8 -10 -13 -14 -14 -15 -16 -16 -16 -14 -11 -9 -10 -12 -15 -18 -19 -18 -15 -11 -8 -8 -8 -9 -10 -11 -11 -10 -10 -12 -13 -14 -14 -14 -13 -14 -15 -16 -16 -17 -17 -18 -18 -17 -16 -15 -12 -8 -6 -5 -5 -7 -8 -11 -14 -16 -16 -15 -13 -12 -13 -13 -12 -10 -7 -6 -7 -10 -13 -16 -16 -15 -13 -12 -13 -15 -17 -19 -19 -20 -20 -19 -16 -13 -11 -10 -9 -10 -10 -10 -10 -11 -13 -13 -13 -13 -13 -12 -12 -12 -12 -11 -11 -11 -12 -13 -13 -13 -13 -12 -12 -12 -13 -14 -14 -13 -12 -11 -12 -12 -13 -13 -12 -13 -13 -13 -13 -13 -14 -16 -19 -21 -21 -21 -21 -22 -22 -22 -22 -22 -21 -20 -18 -16 -15 -15 -14 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -15 -16 -17 -17 -15 -14 -14 -13 -13 -15 -17 -20 -18 -16 -15 -15 -17 -17 -16 -15 -15 -17 -20 -22 -23 -20 -17 -15 -12 -9 -9 -11 -14 -17 -20 -22 -25 -28 -31 -30 -30 -30 -31 -33 -35 -37 -37 -37 -39 -39 -39 -39 -38 -38 -37 -37 -37 -39 -39 -39 -39 -39 -40 -41 -41 -41 -41 -41 -41 -43 -44 -45 -46 -47 -48 -49 -49 -49 -46 -41 -37 -35 -34 -34 -35 -36 -38 -39 -36 -32 -29 -30 -32 -36 -38 -38 -36 -34 -32 -31 -30 -31 -31 -31 -31 -29 -29 -29 -31 -34 -37 -38 -38 -39 -42 -44 -46 -46 -46 -45 -43 -42 -40 -39 -38 -37 -39 -39 -38 -37 -36 -35 -35 -35 -36 -39 -40 -39 -37 -34 -34 -36 -38 -38 -37 -37 -37 -36 -35 -32 -30 -28 -28 -26 -24 -22 -22 -22 -23 -24 -24 -24 -24 -24 -24 -25 -26 -25 -25 -25 -25 -24 -21 -18 -20 -25 -26 -26 -26 -28 -29 -27 -24 -23 -22 -21 -21 -22 -27 -29 -29 -29 -29 -29 -5 -7 -8 -9 -9 -9 -9 -10 -10 -11 -12 -12 -12 -12 -13 -15 -15 -14 -12 -12 -12 -11 -10 -8 -7 -5 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -9 -11 -12 -12 -12 -10 -8 -6 -5 -5 -5 -6 -6 -5 -6 -7 -7 -6 -6 -7 -9 -11 -13 -14 -14 -15 -16 -16 -14 -12 -10 -10 -12 -15 -18 -20 -19 -16 -12 -9 -7 -8 -9 -10 -11 -11 -10 -10 -10 -11 -11 -11 -11 -12 -13 -14 -15 -16 -16 -17 -17 -17 -17 -16 -15 -15 -13 -9 -6 -4 -4 -5 -7 -10 -13 -15 -15 -13 -12 -11 -11 -12 -11 -10 -8 -7 -7 -10 -15 -18 -18 -17 -15 -15 -19 -22 -24 -23 -20 -18 -15 -13 -12 -11 -10 -10 -9 -9 -8 -8 -9 -10 -12 -13 -13 -13 -12 -12 -12 -12 -12 -12 -11 -10 -11 -12 -12 -13 -12 -12 -12 -11 -11 -12 -13 -13 -13 -12 -13 -14 -15 -15 -14 -15 -15 -15 -14 -14 -14 -14 -16 -18 -18 -18 -19 -19 -20 -20 -21 -21 -21 -21 -20 -18 -16 -15 -14 -13 -12 -12 -12 -13 -13 -13 -14 -14 -14 -13 -13 -14 -15 -17 -17 -17 -16 -15 -14 -12 -13 -15 -17 -18 -17 -16 -16 -18 -19 -19 -17 -17 -18 -20 -22 -22 -20 -17 -15 -14 -12 -11 -13 -16 -19 -22 -23 -26 -29 -31 -31 -31 -32 -34 -36 -38 -39 -38 -38 -38 -38 -38 -38 -38 -38 -38 -38 -39 -40 -41 -40 -40 -40 -41 -41 -41 -40 -40 -40 -41 -42 -43 -43 -43 -45 -46 -46 -47 -48 -45 -41 -37 -35 -34 -34 -34 -35 -38 -38 -35 -32 -29 -30 -33 -37 -41 -41 -38 -35 -34 -33 -31 -30 -29 -29 -30 -30 -30 -30 -30 -33 -35 -38 -40 -41 -43 -46 -49 -49 -48 -47 -45 -43 -41 -38 -36 -35 -36 -37 -37 -37 -36 -35 -34 -34 -35 -37 -39 -39 -37 -35 -34 -36 -39 -41 -40 -39 -39 -38 -38 -34 -31 -30 -30 -28 -26 -24 -23 -23 -23 -23 -23 -22 -22 -23 -25 -27 -28 -27 -25 -24 -25 -24 -21 -17 -18 -24 -27 -28 -27 -28 -28 -26 -23 -22 -21 -21 -21 -22 -26 -28 -29 -29 -28 -27 -6 -8 -9 -9 -10 -9 -9 -9 -10 -11 -11 -11 -11 -11 -13 -14 -14 -13 -12 -12 -11 -11 -10 -9 -8 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -8 -9 -11 -12 -12 -11 -9 -7 -5 -4 -5 -5 -6 -5 -5 -6 -6 -6 -5 -5 -8 -10 -12 -13 -13 -13 -14 -15 -14 -12 -10 -10 -12 -15 -18 -20 -20 -16 -12 -10 -9 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -9 -9 -9 -10 -11 -12 -13 -14 -15 -16 -16 -14 -13 -12 -12 -11 -9 -7 -5 -3 -3 -5 -8 -11 -13 -13 -12 -10 -10 -11 -12 -12 -11 -9 -8 -9 -11 -14 -17 -18 -17 -18 -21 -25 -29 -29 -25 -19 -15 -13 -12 -11 -10 -10 -9 -9 -9 -8 -8 -9 -10 -10 -10 -10 -11 -12 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -13 -12 -11 -11 -11 -12 -12 -12 -12 -14 -15 -16 -16 -16 -17 -17 -16 -16 -15 -14 -13 -14 -15 -15 -16 -17 -18 -19 -20 -20 -20 -22 -23 -22 -19 -16 -15 -14 -13 -11 -11 -12 -13 -14 -14 -15 -15 -15 -14 -14 -14 -15 -16 -17 -18 -18 -17 -16 -14 -13 -14 -17 -19 -20 -19 -17 -19 -21 -22 -21 -20 -20 -21 -22 -22 -19 -16 -16 -17 -16 -14 -15 -17 -20 -22 -23 -24 -27 -30 -31 -31 -31 -35 -39 -41 -40 -38 -37 -38 -38 -39 -39 -38 -39 -39 -40 -41 -41 -41 -41 -41 -41 -42 -42 -41 -40 -39 -39 -40 -41 -41 -40 -40 -41 -43 -43 -44 -45 -45 -42 -38 -35 -34 -34 -34 -35 -36 -36 -35 -33 -32 -32 -34 -36 -40 -42 -41 -38 -35 -34 -32 -29 -28 -28 -30 -31 -32 -32 -31 -33 -35 -37 -39 -41 -44 -47 -50 -51 -50 -48 -46 -44 -41 -38 -36 -34 -34 -35 -35 -36 -36 -35 -34 -33 -33 -36 -39 -41 -39 -38 -36 -36 -38 -41 -41 -41 -40 -40 -39 -37 -34 -32 -32 -31 -29 -27 -25 -25 -25 -24 -22 -21 -21 -23 -25 -27 -29 -29 -27 -24 -25 -25 -23 -20 -19 -22 -26 -28 -28 -26 -25 -24 -24 -23 -22 -21 -21 -22 -25 -27 -29 -28 -26 -25 -6 -8 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -11 -12 -13 -13 -12 -12 -12 -11 -11 -10 -9 -8 -7 -7 -7 -8 -8 -8 -8 -8 -8 -7 -6 -7 -8 -9 -10 -12 -12 -10 -8 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -6 -9 -11 -13 -13 -12 -12 -13 -13 -12 -10 -10 -10 -13 -17 -19 -19 -17 -13 -10 -10 -12 -15 -14 -12 -11 -12 -13 -13 -13 -13 -13 -11 -10 -9 -8 -8 -8 -8 -10 -11 -12 -13 -13 -12 -10 -9 -8 -7 -7 -6 -4 -3 -2 -4 -7 -10 -12 -12 -11 -10 -9 -11 -12 -11 -10 -10 -10 -10 -12 -15 -17 -17 -17 -18 -23 -30 -35 -36 -31 -21 -14 -11 -10 -11 -11 -10 -9 -7 -8 -8 -9 -9 -9 -9 -9 -9 -10 -11 -13 -14 -15 -15 -15 -15 -14 -13 -12 -11 -11 -13 -13 -12 -12 -11 -10 -10 -10 -11 -11 -14 -15 -16 -17 -18 -18 -18 -17 -16 -16 -15 -13 -12 -13 -13 -14 -15 -17 -19 -20 -21 -21 -22 -23 -23 -21 -18 -16 -15 -14 -12 -12 -12 -13 -13 -14 -15 -16 -16 -15 -15 -15 -15 -15 -16 -17 -18 -18 -17 -16 -15 -15 -18 -20 -20 -18 -17 -18 -21 -24 -24 -23 -21 -21 -23 -24 -21 -18 -18 -20 -22 -20 -18 -16 -17 -19 -20 -21 -25 -29 -30 -30 -29 -34 -39 -41 -39 -37 -36 -37 -38 -39 -40 -40 -41 -42 -43 -43 -43 -42 -41 -41 -42 -43 -43 -42 -41 -40 -39 -38 -40 -40 -39 -38 -38 -39 -41 -42 -42 -43 -42 -40 -36 -34 -34 -34 -34 -33 -34 -34 -35 -35 -35 -35 -36 -37 -39 -40 -39 -36 -34 -32 -30 -28 -28 -30 -32 -34 -34 -34 -34 -35 -36 -38 -40 -44 -47 -51 -52 -51 -48 -45 -43 -40 -37 -34 -32 -31 -31 -32 -34 -36 -34 -31 -29 -30 -33 -37 -41 -42 -40 -38 -35 -35 -39 -41 -42 -42 -41 -41 -39 -37 -34 -34 -33 -31 -29 -28 -27 -26 -25 -22 -21 -22 -23 -25 -27 -29 -28 -27 -25 -25 -25 -25 -26 -21 -20 -21 -25 -27 -25 -24 -23 -25 -26 -25 -23 -23 -24 -25 -27 -29 -28 -25 -23 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -12 -12 -12 -11 -11 -11 -11 -11 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -7 -8 -10 -11 -11 -10 -8 -6 -5 -5 -6 -5 -5 -5 -5 -5 -6 -7 -6 -6 -5 -7 -10 -12 -14 -13 -13 -13 -13 -12 -11 -9 -10 -11 -14 -17 -18 -17 -13 -10 -10 -13 -16 -19 -16 -13 -13 -14 -15 -16 -17 -17 -16 -14 -12 -10 -9 -7 -7 -7 -8 -9 -9 -10 -11 -11 -9 -8 -7 -5 -4 -4 -3 -2 -2 -4 -6 -8 -10 -11 -11 -11 -11 -12 -12 -11 -10 -10 -10 -11 -13 -15 -16 -15 -16 -19 -23 -30 -36 -38 -34 -22 -14 -9 -9 -10 -10 -10 -9 -8 -7 -7 -7 -7 -8 -8 -8 -9 -10 -11 -13 -15 -17 -18 -17 -17 -16 -15 -13 -12 -12 -13 -14 -13 -12 -11 -10 -9 -8 -9 -10 -13 -15 -16 -18 -19 -19 -19 -19 -18 -17 -16 -14 -13 -12 -12 -13 -14 -15 -17 -19 -21 -22 -23 -23 -23 -21 -19 -17 -16 -14 -13 -12 -12 -12 -12 -13 -14 -15 -15 -16 -16 -16 -15 -15 -15 -15 -16 -17 -18 -18 -17 -18 -21 -21 -20 -18 -17 -17 -20 -23 -26 -25 -23 -22 -23 -25 -24 -21 -19 -19 -22 -22 -20 -16 -14 -16 -17 -19 -23 -29 -30 -29 -29 -34 -38 -40 -38 -36 -36 -37 -38 -39 -39 -40 -42 -43 -45 -45 -44 -43 -42 -41 -41 -42 -43 -42 -42 -41 -39 -38 -40 -40 -40 -37 -37 -38 -40 -42 -42 -42 -42 -41 -39 -37 -36 -34 -32 -31 -32 -34 -36 -37 -37 -37 -37 -36 -37 -40 -40 -38 -34 -32 -31 -29 -29 -30 -32 -35 -36 -36 -36 -36 -36 -37 -39 -43 -47 -51 -52 -51 -48 -43 -41 -38 -35 -33 -30 -28 -28 -28 -31 -34 -32 -29 -27 -28 -31 -36 -39 -42 -41 -37 -33 -31 -36 -39 -42 -42 -42 -42 -41 -39 -36 -35 -34 -32 -31 -29 -28 -27 -25 -22 -22 -22 -23 -25 -27 -28 -28 -26 -25 -24 -24 -25 -26 -25 -22 -20 -23 -26 -26 -25 -24 -27 -27 -27 -25 -25 -25 -26 -28 -29 -28 -25 -23 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -10 -11 -11 -11 -11 -10 -11 -11 -11 -11 -11 -10 -9 -9 -8 -8 -7 -8 -8 -9 -9 -8 -7 -7 -8 -9 -10 -11 -9 -7 -5 -3 -4 -6 -6 -5 -4 -4 -5 -6 -7 -7 -7 -7 -7 -9 -12 -14 -14 -14 -14 -14 -14 -13 -11 -10 -11 -13 -15 -17 -16 -13 -10 -10 -11 -14 -18 -20 -17 -15 -14 -16 -17 -18 -19 -20 -20 -17 -14 -12 -11 -10 -9 -8 -8 -7 -8 -9 -10 -11 -10 -9 -8 -6 -4 -2 -1 -1 -2 -3 -5 -7 -9 -11 -11 -12 -12 -13 -13 -12 -10 -9 -10 -12 -13 -14 -13 -13 -15 -19 -23 -27 -30 -31 -28 -20 -13 -9 -8 -9 -9 -9 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -8 -10 -13 -16 -19 -21 -21 -20 -18 -16 -15 -14 -13 -14 -14 -13 -11 -10 -10 -9 -9 -9 -10 -12 -14 -15 -16 -18 -20 -21 -21 -20 -18 -17 -15 -14 -13 -13 -13 -13 -14 -15 -18 -20 -22 -23 -23 -22 -20 -19 -18 -16 -15 -13 -13 -12 -12 -12 -12 -13 -14 -15 -16 -17 -17 -17 -16 -16 -15 -15 -16 -18 -19 -20 -22 -25 -24 -21 -18 -17 -17 -19 -22 -25 -24 -23 -22 -22 -24 -26 -25 -22 -20 -21 -21 -19 -16 -15 -18 -19 -20 -23 -28 -30 -30 -30 -34 -37 -38 -37 -36 -36 -37 -38 -39 -39 -41 -42 -44 -45 -44 -44 -44 -42 -42 -42 -42 -43 -43 -43 -42 -41 -40 -42 -42 -41 -37 -37 -38 -40 -42 -43 -43 -44 -43 -42 -41 -40 -38 -34 -32 -32 -34 -36 -38 -39 -41 -41 -39 -39 -41 -42 -40 -36 -34 -33 -33 -33 -34 -35 -36 -37 -37 -37 -36 -36 -36 -37 -41 -45 -50 -52 -50 -46 -40 -38 -35 -32 -31 -29 -27 -25 -26 -29 -32 -31 -29 -27 -29 -32 -36 -38 -39 -39 -36 -31 -28 -30 -34 -39 -43 -43 -43 -42 -40 -37 -36 -34 -32 -31 -29 -27 -26 -25 -22 -22 -22 -22 -24 -25 -27 -27 -26 -24 -23 -23 -24 -24 -24 -24 -24 -27 -28 -28 -27 -26 -27 -27 -27 -27 -26 -26 -27 -28 -28 -27 -25 -23 -8 -7 -7 -7 -8 -8 -9 -9 -8 -8 -8 -9 -10 -11 -10 -10 -10 -10 -10 -11 -11 -12 -12 -11 -10 -9 -8 -8 -8 -8 -9 -9 -9 -8 -8 -8 -9 -10 -11 -10 -7 -4 -3 -3 -4 -5 -5 -4 -4 -6 -7 -8 -7 -7 -7 -8 -9 -11 -13 -14 -15 -15 -14 -14 -14 -14 -13 -13 -14 -15 -16 -16 -14 -12 -10 -10 -12 -14 -15 -16 -15 -15 -16 -18 -19 -20 -22 -23 -22 -19 -16 -15 -14 -13 -12 -10 -8 -8 -9 -10 -12 -13 -12 -11 -10 -8 -4 -1 0 -0 -1 -3 -5 -7 -9 -12 -13 -13 -13 -14 -15 -14 -12 -10 -12 -13 -13 -12 -11 -12 -15 -19 -22 -23 -23 -22 -20 -15 -11 -8 -7 -7 -7 -8 -8 -8 -8 -7 -7 -6 -6 -5 -4 -4 -5 -7 -11 -15 -20 -24 -26 -24 -21 -18 -17 -16 -15 -15 -13 -12 -10 -8 -8 -8 -8 -8 -9 -11 -13 -14 -15 -17 -20 -22 -23 -23 -21 -18 -16 -15 -14 -13 -13 -12 -13 -14 -16 -18 -20 -22 -22 -21 -20 -19 -17 -16 -15 -14 -13 -12 -12 -12 -12 -12 -14 -15 -16 -17 -17 -18 -18 -17 -16 -15 -15 -16 -18 -21 -25 -28 -26 -23 -19 -17 -17 -18 -21 -22 -23 -23 -22 -21 -23 -26 -28 -28 -24 -21 -20 -18 -17 -18 -19 -20 -20 -24 -28 -30 -31 -32 -34 -36 -36 -35 -36 -36 -36 -37 -38 -40 -42 -43 -44 -44 -43 -43 -44 -44 -43 -43 -43 -43 -43 -43 -42 -42 -43 -44 -44 -42 -39 -38 -39 -41 -43 -44 -44 -45 -45 -45 -45 -45 -43 -41 -37 -36 -35 -36 -38 -41 -44 -45 -44 -42 -43 -44 -41 -37 -36 -36 -36 -37 -39 -40 -40 -40 -39 -37 -36 -35 -35 -35 -38 -42 -47 -49 -48 -44 -38 -35 -32 -30 -30 -28 -27 -25 -26 -28 -31 -32 -30 -29 -32 -34 -36 -36 -36 -36 -34 -30 -27 -26 -29 -34 -40 -42 -42 -41 -40 -37 -36 -35 -33 -30 -29 -28 -27 -25 -23 -22 -22 -22 -22 -24 -26 -26 -25 -23 -23 -22 -22 -23 -23 -23 -23 -26 -28 -29 -29 -28 -28 -27 -27 -27 -26 -26 -27 -28 -27 -25 -23 -23 -8 -7 -6 -6 -8 -8 -9 -9 -8 -7 -7 -8 -9 -10 -10 -10 -10 -10 -10 -10 -11 -12 -12 -11 -10 -9 -8 -8 -9 -9 -10 -9 -9 -9 -8 -9 -10 -11 -10 -9 -5 -3 -2 -4 -5 -5 -5 -5 -6 -8 -9 -9 -8 -8 -9 -10 -11 -13 -14 -15 -15 -14 -13 -13 -13 -14 -15 -16 -17 -17 -17 -15 -13 -12 -11 -11 -12 -13 -13 -13 -13 -15 -16 -18 -18 -20 -21 -22 -22 -20 -18 -17 -16 -14 -13 -11 -9 -9 -10 -12 -13 -13 -12 -10 -9 -9 -6 -3 -1 -1 -1 -3 -5 -7 -9 -13 -16 -16 -15 -14 -13 -12 -11 -14 -16 -16 -13 -10 -9 -10 -13 -16 -19 -20 -21 -20 -16 -11 -9 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -6 -5 -4 -3 -3 -5 -8 -13 -18 -24 -27 -27 -24 -20 -18 -16 -15 -14 -12 -10 -8 -7 -7 -7 -7 -8 -9 -12 -14 -16 -16 -17 -20 -22 -24 -25 -24 -22 -18 -16 -14 -13 -13 -12 -12 -13 -14 -16 -18 -20 -20 -21 -20 -19 -17 -17 -16 -15 -13 -13 -12 -12 -12 -12 -13 -14 -16 -17 -18 -18 -19 -19 -18 -18 -17 -17 -18 -22 -26 -29 -29 -27 -23 -18 -17 -18 -19 -20 -22 -23 -22 -20 -21 -26 -30 -32 -30 -26 -23 -21 -20 -20 -21 -21 -20 -23 -26 -29 -32 -34 -35 -36 -36 -35 -35 -36 -37 -37 -38 -40 -42 -44 -45 -44 -43 -42 -43 -43 -43 -42 -42 -42 -43 -43 -43 -43 -43 -43 -43 -42 -41 -41 -41 -42 -44 -45 -45 -45 -45 -46 -47 -48 -47 -45 -41 -38 -37 -38 -40 -42 -45 -48 -47 -46 -46 -45 -41 -38 -37 -37 -38 -39 -42 -43 -43 -42 -40 -38 -36 -35 -34 -34 -35 -38 -42 -45 -45 -43 -38 -34 -31 -29 -29 -29 -28 -28 -28 -31 -34 -35 -33 -33 -34 -35 -35 -35 -34 -35 -33 -31 -29 -29 -30 -33 -36 -38 -39 -38 -38 -36 -36 -35 -34 -32 -30 -28 -27 -25 -24 -22 -22 -22 -23 -25 -26 -26 -24 -23 -22 -21 -20 -22 -23 -22 -22 -24 -26 -27 -28 -28 -27 -27 -27 -27 -26 -26 -27 -27 -26 -24 -24 -25 -8 -6 -6 -6 -8 -8 -9 -8 -7 -6 -6 -8 -9 -9 -9 -9 -10 -9 -9 -10 -11 -11 -11 -10 -10 -9 -8 -9 -10 -11 -10 -10 -9 -9 -9 -10 -11 -11 -9 -6 -4 -2 -3 -4 -6 -6 -7 -8 -10 -11 -11 -11 -10 -10 -11 -11 -12 -14 -15 -15 -14 -13 -12 -11 -12 -14 -16 -18 -19 -18 -17 -16 -15 -14 -13 -13 -12 -12 -12 -12 -13 -15 -17 -18 -18 -18 -18 -18 -18 -19 -18 -17 -14 -12 -12 -12 -12 -13 -13 -14 -13 -12 -11 -9 -8 -6 -6 -6 -5 -4 -3 -4 -6 -8 -11 -15 -18 -19 -18 -12 -10 -9 -11 -17 -20 -18 -14 -11 -11 -11 -12 -12 -12 -15 -20 -22 -19 -13 -9 -8 -8 -8 -8 -8 -8 -7 -7 -8 -8 -9 -8 -7 -5 -3 -2 -3 -6 -10 -14 -20 -23 -24 -23 -21 -19 -17 -15 -13 -12 -10 -8 -8 -7 -7 -8 -8 -9 -11 -13 -16 -17 -19 -21 -23 -24 -24 -24 -23 -21 -18 -15 -13 -13 -12 -13 -13 -13 -15 -16 -18 -20 -20 -19 -18 -18 -17 -16 -16 -15 -13 -13 -12 -12 -12 -13 -14 -16 -17 -18 -19 -19 -19 -20 -20 -19 -19 -20 -24 -29 -34 -35 -33 -29 -24 -22 -21 -21 -21 -22 -23 -23 -21 -21 -25 -30 -34 -35 -32 -29 -27 -24 -23 -22 -22 -22 -24 -25 -27 -31 -34 -36 -37 -38 -37 -36 -36 -36 -36 -38 -40 -42 -44 -45 -45 -44 -42 -42 -42 -42 -41 -41 -41 -42 -42 -42 -43 -42 -42 -42 -43 -43 -43 -43 -44 -45 -47 -47 -47 -46 -47 -48 -49 -49 -47 -44 -40 -38 -39 -40 -42 -45 -48 -50 -50 -49 -46 -43 -40 -39 -38 -38 -39 -42 -45 -46 -44 -41 -38 -35 -34 -33 -33 -34 -36 -39 -42 -44 -43 -40 -36 -32 -30 -30 -30 -30 -30 -32 -35 -37 -37 -35 -34 -33 -32 -32 -33 -34 -34 -33 -31 -32 -33 -33 -34 -33 -34 -34 -34 -34 -35 -36 -37 -36 -34 -32 -29 -26 -24 -23 -23 -23 -23 -23 -24 -26 -26 -25 -23 -22 -20 -20 -22 -23 -22 -22 -22 -24 -26 -27 -27 -27 -27 -28 -28 -27 -26 -27 -26 -24 -24 -25 -27