CAPE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 7 8 9 11 12 11 11 11 11 10 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 7 3 0 0 0 0 0 0 0 0 0 1 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 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 1 4 8 14 21 29 39 47 54 58 59 58 58 58 55 50 52 65 83 97 97 96 93 88 87 89 89 88 87 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 8 10 11 12 12 13 12 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 1 3 6 6 2 0 0 0 0 0 0 0 0 1 3 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 7 12 19 28 37 46 52 55 57 60 62 62 58 53 51 58 74 86 90 89 87 88 92 94 94 93 92 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 5 7 9 9 10 12 12 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 1 3 5 5 2 0 0 0 0 0 0 1 1 2 4 6 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 3 6 10 17 26 36 44 50 54 58 62 65 64 60 55 50 55 67 77 82 84 86 91 95 96 96 95 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 4 3 3 3 4 4 5 6 9 10 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 5 2 0 0 0 0 0 0 0 1 2 5 8 8 4 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 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 1 2 6 10 17 26 35 43 49 55 60 64 66 66 64 57 53 55 62 70 76 82 88 93 96 95 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 7 9 9 8 6 3 2 3 5 6 5 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 4 3 2 0 0 0 0 0 0 0 2 6 12 14 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 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 1 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 1 3 6 10 17 25 34 42 48 54 60 65 68 69 66 60 55 55 58 64 72 81 88 92 92 92 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 10 12 12 9 5 3 3 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 2 0 0 0 0 0 0 0 0 4 10 11 9 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 7 11 18 25 32 39 47 55 62 68 71 71 66 61 57 55 55 61 71 80 85 84 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 8 11 14 14 12 8 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 3 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 5 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 8 12 18 24 31 39 48 58 66 71 72 71 67 63 57 53 54 62 70 76 76 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 7 12 16 20 21 19 14 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 5 6 6 5 2 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 8 12 18 24 31 40 50 62 69 73 73 71 68 62 56 53 56 61 66 68 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 12 19 25 30 31 25 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 2 5 7 8 6 4 1 0 0 0 0 0 0 1 2 2 2 2 2 3 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 9 13 18 24 31 41 53 63 70 72 72 70 66 60 56 55 57 60 62 62 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 12 21 28 33 36 32 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 2 5 7 8 7 5 3 1 1 0 1 1 1 2 3 4 4 4 4 5 5 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 7 9 12 16 22 30 41 52 61 66 68 68 67 64 59 56 56 58 59 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 9 18 26 31 32 29 16 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 1 3 6 7 8 6 4 3 2 2 2 2 3 4 5 5 6 6 6 6 7 7 7 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 7 8 10 14 20 28 37 46 54 59 62 63 63 60 57 56 58 59 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 12 19 23 25 24 17 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 8 7 6 4 3 3 3 4 4 5 6 7 8 8 8 8 8 9 9 8 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 5 7 8 9 12 17 23 31 38 44 49 55 57 57 56 56 59 60 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 9 14 17 17 13 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 7 7 6 5 4 4 4 5 5 6 7 8 9 10 9 9 10 10 11 11 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 1 3 5 6 7 8 10 14 19 24 29 35 42 48 52 54 55 57 59 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 8 10 8 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 7 6 5 4 4 4 5 6 6 7 8 10 11 11 11 11 12 13 14 12 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 7 8 10 12 15 18 23 29 36 42 48 51 53 56 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 6 5 4 3 4 5 6 7 7 8 10 11 12 12 13 14 16 16 15 11 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 2 4 5 6 7 9 10 11 12 15 19 25 31 36 41 46 50 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 5 5 4 3 3 4 6 7 8 8 10 11 12 14 14 16 18 19 18 15 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 1 3 5 6 7 8 9 9 10 11 13 16 21 25 31 36 41 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 2 2 3 4 6 7 9 10 12 13 14 16 17 19 21 22 20 14 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 7 8 9 9 9 9 10 12 14 18 23 29 34 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 2 3 5 7 8 10 12 14 15 16 18 21 23 25 25 21 14 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 7 8 8 8 9 9 10 10 12 15 20 26 30 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 3 4 6 8 10 12 14 15 17 20 22 24 26 28 28 24 17 9 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 7 8 9 9 9 9 10 10 11 12 14 19 24 29 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 6 8 9 11 13 16 17 20 22 25 27 30 32 32 29 23 14 7 2 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 0 2 3 5 6 8 8 9 9 10 10 10 11 11 12 13 16 20 24 29 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 6 8 10 11 14 16 19 22 25 28 31 35 38 39 37 30 22 14 8 4 1 0 0 0 1 1 1 2 4 4 4 4 2 2 1 2 3 5 6 8 8 9 9 10 10 10 11 12 13 14 14 15 17 21 25 30 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 8 9 11 14 17 21 24 27 31 35 40 45 48 46 40 32 25 18 13 10 7 5 4 4 5 6 7 7 7 7 6 5 5 5 6 7 9 9 10 10 10 11 11 12 13 15 17 18 18 19 20 23 27 31 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 3 4 5 6 8 10 14 18 22 26 30 34 40 46 52 54 53 48 42 35 29 24 20 16 13 12 11 11 11 11 11 10 10 9 9 10 10 11 11 12 12 12 13 14 15 16 18 20 23 24 25 26 26 28 30 32 35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 2 3 5 7 10 13 17 22 27 31 36 41 47 53 56 56 54 50 45 40 35 30 26 23 21 18 17 16 16 15 15 14 14 14 14 14 14 14 15 17 18 20 22 24 26 28 30 32 33 33 34 33 31 31 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 2 4 7 9 12 16 20 25 30 34 39 44 48 51 54 55 53 50 47 44 41 38 34 31 29 27 25 23 22 20 19 18 18 17 16 16 17 19 23 28 32 35 37 39 39 39 39 38 36 34 30 28 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 8 10 13 17 21 27 31 34 37 40 44 48 50 52 52 52 51 49 48 46 45 43 41 37 34 30 28 26 25 23 21 20 20 21 27 35 41 45 47 48 48 46 43 38 33 29 26 25 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 8 11 14 18 23 27 30 32 34 36 40 44 47 50 52 52 53 53 54 54 54 54 52 49 45 42 38 36 34 32 31 32 39 47 53 55 56 57 56 53 46 38 30 26 26 28 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 8 12 16 20 24 26 28 29 30 33 37 41 44 46 49 51 53 55 57 58 59 60 60 60 59 57 55 53 52 53 57 60 63 64 64 65 64 62 56 46 37 35 37 41 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 7 10 14 17 20 22 24 25 27 30 32 35 38 40 43 45 48 51 54 56 58 60 62 63 65 66 67 68 69 67 65 63 63 64 65 65 66 66 65 60 58 59 61 63 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 9 12 15 17 19 20 22 24 27 30 33 35 36 38 40 43 46 48 50 53 54 55 55 55 56 57 60 58 55 52 51 54 56 58 61 64 67 68 72 75 77 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 8 10 12 14 15 16 18 21 24 28 31 32 33 34 35 37 39 41 43 45 46 46 46 43 40 42 41 38 35 34 39 43 46 50 53 55 58 63 68 73 77 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 8 9 10 11 13 14 17 20 23 26 27 28 28 28 29 31 33 35 36 37 37 35 32 32 31 30 27 25 27 31 36 40 42 44 47 49 50 50 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 5 6 8 8 9 10 11 13 15 17 19 19 20 20 20 22 24 25 27 29 29 29 28 26 25 24 22 21 22 25 29 33 35 37 38 39 38 37 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 5 6 7 7 8 9 10 12 13 13 14 14 14 15 16 17 18 20 21 22 21 20 19 18 17 16 17 19 22 25 27 29 31 32 33 33 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 5 6 6 7 8 9 10 10 10 10 10 10 10 10 11 12 13 13 13 13 13 12 11 11 12 14 15 16 17 19 22 25 28 28 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 4 5 5 6 7 8 8 8 7 7 6 5 5 5 5 6 6 6 7 7 7 6 7 7 8 9 10 11 12 13 15 18 20 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 4 5 6 6 6 6 5 4 3 2 2 2 2 3 4 4 4 4 4 4 5 6 6 7 7 7 8 9 10 12 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 5 4 3 2 1 1 1 1 1 2 2 3 3 3 3 4 4 4 5 5 5 6 6 7 7 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 2 2 1 0 0 0 0 1 1 2 2 2 2 2 3 3 3 4 4 4 5 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 0 0 0 0 0 0 0 1 1 1 2 2 2 2 3 3 4 4 4 5 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 2 2 2 1 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 2 3 3 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 2 3 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 1 2 2 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 28 27 25 24 17 5 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 11 12 12 12 12 12 12 12 12 13 13 13 13 14 14 14 14 14 14 14 14 14 15 15 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 28 28 28 28 23 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 11 12 12 12 12 12 12 12 12 13 13 13 14 14 14 14 14 13 13 14 14 14 14 15 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 28 28 28 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 12 12 12 12 12 12 12 12 13 13 13 13 14 14 14 14 13 13 13 14 14 14 14 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 12 12 12 12 12 12 13 13 13 13 14 14 14 14 13 13 13 14 14 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 12 12 12 12 12 12 12 13 13 13 13 14 14 14 14 13 13 13 13 14 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 12 12 12 12 12 12 12 13 13 13 13 13 14 13 13 13 13 13 14 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 15 16 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 13 12 12 12 13 13 13 13 13 13 13 13 13 13 13 14 14 14 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 17 16 17 18 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 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 20 18 17 17 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 22 20 18 17 17 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 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 22 21 19 18 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 13 13 13 13 13 13 13 12 12 12 13 13 13 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 25 25 24 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 13 13 13 13 13 12 12 12 12 12 12 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 27 27 26 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 2 3 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 13 13 13 13 12 12 12 12 12 12 12 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 3 2 2 3 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 13 13 13 12 12 12 12 12 12 12 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 5 4 4 4 3 2 4 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 13 13 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 6 6 6 6 6 4 2 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 9 9 8 8 9 9 8 6 2 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 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 12 11 11 11 11 12 12 11 9 4 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 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 15 14 14 13 14 14 15 15 15 13 8 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 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 17 16 16 16 16 17 18 18 18 17 16 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 13 13 13 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 19 18 18 18 19 19 19 20 21 22 25 26 25 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 13 13 13 13 13 13 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 20 20 20 20 20 21 21 22 23 25 26 26 26 26 25 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 14 14 13 13 13 13 13 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 22 22 22 22 22 23 24 25 26 27 27 27 26 26 26 26 25 25 25 25 24 23 22 21 nan nan nan nan 18 18 17 16 16 15 15 14 14 14 14 13 13 13 13 13 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 23 23 23 23 23 23 23 25 25 26 27 27 27 27 27 26 26 26 26 26 25 25 24 24 23 22 21 21 20 19 18 17 16 16 15 14 14 14 14 13 13 13 13 13 13 13 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 23 23 23 23 24 24 24 25 25 26 27 27 27 27 27 27 26 26 26 26 26 25 25 24 24 23 22 21 20 19 18 17 16 15 15 14 14 14 13 13 13 13 13 13 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 24 25 25 26 26 26 27 27 27 27 26 26 26 26 26 26 25 25 24 23 22 21 20 19 18 17 16 15 15 14 14 14 14 13 13 13 13 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 24 23 22 21 20 19 18 17 16 16 15 14 14 14 14 13 13 13 14 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 23 22 21 20 19 18 18 17 16 15 14 13 13 13 13 13 13 13 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 25 25 25 25 25 25 25 25 25 26 26 25 26 26 26 26 25 26 26 26 26 26 25 25 23 21 21 20 20 19 17 14 12 11 11 12 12 12 13 13 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 25 24 22 19 12 4 3 4 6 8 10 11 12 13 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 24 24 24 24 23 20 12 9 6 5 4 5 8 10 12 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 25 25 25 25 25 24 24 25 25 25 25 25 25 25 25 25 25 24 24 24 23 23 21 18 15 12 10 9 7 6 4 6 9 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 25 25 24 24 24 24 25 25 25 25 25 24 24 24 24 23 23 22 21 19 15 13 11 10 9 8 7 4 5 7 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 24 24 24 24 24 25 25 25 24 24 24 24 24 23 23 22 21 19 17 15 13 11 10 9 8 7 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 24 24 24 24 24 23 23 23 22 21 18 16 14 13 12 11 10 10 9 8 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 13 13 12 12 12 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 13 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 71 60 52 49 51 52 328 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 107 106 106 106 106 106 105 105 105 104 102 100 100 99 99 99 100 102 102 102 101 101 100 99 99 99 99 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 78 74 70 68 77 82 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 107 106 105 105 106 105 105 104 103 103 101 100 99 98 99 100 102 103 103 103 102 101 100 99 99 99 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 72 69 63 48 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 106 105 105 105 105 105 104 103 103 102 100 99 98 98 99 101 102 104 104 104 102 101 100 100 99 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 105 104 104 104 104 104 103 102 101 100 99 99 99 100 102 103 105 105 104 102 101 101 100 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 4 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 104 104 104 104 104 104 103 103 102 101 100 99 100 100 101 103 104 105 104 103 102 102 102 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 137 133 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 103 102 102 103 103 103 103 102 102 101 101 101 101 102 102 104 105 104 104 103 103 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 130 132 129 119 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 102 101 101 102 103 103 103 102 102 102 102 102 102 103 104 105 104 104 103 103 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 120 125 128 126 117 101 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 101 101 101 101 102 103 103 103 103 103 103 104 104 104 105 105 104 103 103 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 111 116 122 126 125 117 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 100 100 101 101 102 103 103 104 104 104 105 105 105 105 105 104 103 103 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 103 108 114 120 125 124 100 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 99 100 101 101 102 102 104 104 105 105 105 105 105 105 104 103 102 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 99 104 110 116 120 111 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 99 100 101 101 102 103 104 105 106 106 106 106 105 104 103 103 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 90 92 94 98 106 107 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 100 101 101 102 103 104 106 106 107 106 106 104 104 103 102 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 81 82 87 92 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 176 149 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 100 101 101 102 103 105 106 107 107 107 105 104 103 102 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 268 263 258 251 235 187 146 126 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 101 102 103 104 105 107 108 108 106 105 104 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 283 279 277 277 274 259 203 140 118 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 101 102 103 104 106 107 108 107 106 105 104 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 293 289 289 289 288 285 275 222 133 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 103 104 105 106 107 108 107 107 106 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 305 301 299 297 297 299 299 297 290 252 124 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 103 104 105 107 107 107 107 107 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 313 310 307 305 305 306 308 309 309 304 283 106 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 104 105 106 107 107 107 107 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 322 318 315 313 312 313 315 317 318 318 316 320 53 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 102 103 104 106 106 107 106 106 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 327 323 321 320 320 322 323 325 326 327 328 358 36 56 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 99 101 101 103 104 105 106 106 106 106 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 331 329 327 327 327 329 330 331 333 336 349 9 33 41 47 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 96 97 97 99 100 101 102 103 104 105 106 106 106 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 336 334 333 333 334 334 335 337 339 344 354 12 24 32 37 41 45 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 93 94 96 96 97 98 99 100 101 102 103 104 105 106 106 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 340 339 339 339 339 339 340 341 344 349 359 10 19 25 29 33 36 39 41 42 43 44 46 50 54 58 62 nan nan nan nan 77 79 82 84 87 90 92 94 95 96 97 98 99 100 101 101 102 103 104 105 106 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 344 343 343 342 342 343 344 345 347 352 360 7 14 20 24 28 30 33 34 36 37 38 40 43 46 50 54 58 62 66 70 73 77 80 84 88 91 93 96 97 97 98 99 99 100 101 101 102 103 103 104 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 346 345 345 345 346 347 348 350 353 359 5 11 15 19 23 26 28 30 31 33 35 36 38 41 45 49 54 59 64 68 72 76 80 85 89 92 95 97 97 98 99 99 99 100 100 100 100 101 102 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 348 347 347 348 348 349 350 351 354 358 3 7 11 15 19 22 23 25 26 28 29 31 34 38 43 48 54 59 64 68 72 77 82 85 89 92 95 97 98 98 98 98 99 99 98 98 99 99 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 349 349 350 351 351 352 353 355 358 1 5 8 11 14 16 17 18 19 20 22 25 29 35 41 47 53 59 64 69 73 78 81 85 89 92 94 97 98 98 98 99 99 98 97 97 97 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 350 351 352 353 354 355 357 358 0 3 5 7 9 10 11 12 13 14 16 18 22 28 34 42 49 55 62 69 72 76 79 83 89 93 97 99 100 101 100 100 99 98 97 96 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 351 352 353 354 355 356 357 359 360 1 2 4 5 6 7 8 8 9 11 13 15 19 23 28 37 47 56 59 61 65 72 83 96 104 109 109 108 105 103 102 100 98 96 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 353 354 355 356 357 357 358 358 359 0 1 2 3 4 5 6 6 7 8 10 12 13 15 18 28 33 36 39 42 43 68 136 150 141 129 117 109 104 101 99 97 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 355 356 357 357 357 357 357 358 358 359 360 1 2 3 4 4 5 5 6 7 7 7 4 3 3 2 355 334 305 283 263 239 206 163 129 113 105 100 98 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 357 358 358 358 357 357 357 357 357 358 359 1 2 3 3 3 3 3 3 1 359 356 354 350 342 327 312 299 288 278 266 249 202 144 119 108 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 359 358 357 357 356 356 357 358 360 1 1 1 1 0 359 357 355 353 351 347 340 328 315 303 293 286 280 273 256 218 161 134 123 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 359 358 356 356 356 357 358 359 0 0 359 358 356 355 353 352 350 346 341 332 321 308 299 291 286 280 273 261 241 209 188 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 359 359 358 356 355 354 352 351 348 343 337 328 317 306 298 293 290 286 281 276 269 263 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 308 303 300 297 295 292 290 287 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 301 299 296 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 3 3 3 3 3 4 4 4 4 3 3 3 3 4 4 6 10 14 14 11 9 7 7 8 8 9 9 10 9 8 7 6 6 5 3 -0 -4 -6 -8 -8 -8 -7 -5 -1 5 11 16 15 10 4 -1 -2 -3 -3 -3 -2 -2 -3 -7 -8 -8 -1 10 15 13 8 2 -3 -5 -6 -7 -7 -7 -7 -7 -6 -6 -7 -8 -9 -9 -9 -10 -11 -12 -12 -12 -13 -13 -9 -5 -4 -5 -7 -9 -9 -6 -4 -4 -2 -2 -1 0 2 4 4 3 2 1 -1 -3 -3 -2 -0 2 4 4 4 3 2 2 3 2 1 1 1 2 3 4 5 5 4 4 3 3 3 4 5 7 8 7 4 1 -0 -0 1 3 5 6 6 5 4 3 4 4 4 3 4 4 5 6 6 6 4 3 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 3 4 5 6 7 9 10 11 11 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 10 10 10 10 9 9 9 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 7 7 7 7 6 6 6 5 5 4 4 4 3 3 2 2 2 3 3 4 4 4 4 4 4 4 4 3 3 3 2 3 3 3 4 4 4 4 4 4 5 5 6 6 7 7 7 7 7 8 7 7 6 6 6 6 6 6 5 5 5 5 5 5 6 6 7 8 9 10 11 11 11 12 12 11 11 10 9 7 5 3 0 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -5 -6 -6 -6 -5 -3 -1 1 3 4 4 4 2 -1 -3 5 4 3 3 3 3 3 2 2 2 2 3 4 5 7 9 13 16 16 14 11 10 11 12 12 13 13 12 10 9 7 7 6 5 3 -1 -4 -7 -9 -10 -10 -9 -7 -4 1 7 14 18 17 13 6 1 -1 -1 1 1 2 1 -0 -3 -5 1 8 5 6 6 4 1 -0 -0 -1 -4 -7 -8 -8 -7 -7 -7 -8 -9 -10 -11 -11 -11 -11 -12 -12 -13 -13 -11 -6 -4 -5 -8 -9 -9 -6 -4 -2 -1 -1 -1 -1 0 1 2 2 1 -1 -3 -4 -3 -2 0 2 3 3 2 2 3 3 3 3 2 2 3 4 5 5 4 3 2 2 2 3 4 6 7 8 7 4 1 -1 -0 1 3 5 6 6 5 4 3 3 4 4 3 3 4 5 6 6 6 5 4 2 2 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 2 3 3 4 5 7 8 9 10 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 10 10 10 10 10 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 8 8 8 7 7 7 7 7 7 7 7 6 6 5 4 3 3 3 3 4 4 5 5 4 4 4 4 4 4 4 4 4 4 4 3 4 4 4 4 4 4 4 5 5 6 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 7 7 8 8 9 10 11 11 11 11 12 12 12 12 12 11 9 7 5 2 -0 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -2 -2 -2 -1 -1 -0 -0 -0 0 0 0 0 0 0 0 -0 -0 -0 0 0 -0 -0 -1 -1 -1 -2 -3 -3 -3 -3 -2 -2 -1 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -5 -5 -5 -3 -2 -0 1 3 3 2 -0 -3 -5 -6 6 5 5 4 4 3 2 2 1 1 2 3 4 6 8 10 14 17 17 15 13 13 15 16 17 17 15 13 11 9 8 7 6 4 2 -0 -4 -7 -9 -10 -10 -10 -8 -6 -2 3 9 15 20 22 19 11 6 5 6 6 6 4 2 -0 -2 -5 -7 -3 1 3 3 4 4 4 2 -1 -5 -8 -10 -10 -8 -8 -8 -9 -10 -12 -12 -12 -12 -12 -12 -11 -12 -12 -8 -5 -5 -7 -8 -9 -6 -3 -2 -1 -1 -2 -3 -2 -1 -0 0 -0 -1 -2 -3 -2 -1 0 1 2 2 3 3 4 4 4 4 3 4 5 6 6 4 3 1 1 2 3 5 6 7 7 6 4 1 -0 -0 1 3 4 6 6 5 4 3 3 3 4 4 3 4 4 5 6 6 5 4 3 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 0 0 0 1 1 2 2 3 4 5 6 7 8 9 10 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 10 10 10 9 9 9 9 9 9 9 9 9 9 10 10 10 9 9 9 9 8 8 8 8 8 8 8 8 8 8 7 6 5 4 4 4 4 5 5 6 5 5 4 4 4 4 4 5 5 5 5 5 4 4 4 4 5 5 5 5 5 6 7 7 8 8 8 7 7 7 7 7 7 6 6 5 5 5 6 6 6 7 8 8 8 9 9 10 10 11 11 11 11 12 12 12 12 12 12 11 9 7 4 2 -0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -3 -1 0 2 2 2 -1 -4 -7 -9 -10 6 5 5 4 4 4 3 3 3 3 3 4 5 6 8 11 14 16 16 15 14 15 17 18 19 18 16 14 12 11 9 7 5 3 2 -1 -3 -6 -8 -9 -10 -10 -9 -7 -4 -1 3 7 15 24 30 30 24 17 13 10 8 5 4 2 0 -3 -6 -8 -5 -3 1 5 7 6 3 -1 -4 -7 -10 -11 -10 -9 -9 -9 -9 -10 -11 -11 -12 -12 -12 -11 -11 -11 -8 -5 -5 -7 -8 -8 -6 -4 -3 -2 -2 -3 -4 -4 -3 -1 0 1 1 0 0 0 0 0 1 2 3 4 4 5 5 4 5 5 6 7 7 5 4 2 2 3 4 6 7 8 7 6 4 2 1 0 1 2 4 5 6 6 4 3 2 3 3 3 3 3 4 4 5 5 5 4 3 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 0 0 0 0 1 1 2 2 3 4 5 6 7 8 9 9 10 11 11 11 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 10 9 9 10 10 10 11 11 11 11 10 10 10 9 9 9 9 9 10 10 9 9 9 9 8 7 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 5 6 6 6 5 5 5 5 5 5 5 5 5 6 6 7 8 9 9 8 8 8 8 8 8 7 6 6 5 5 5 5 6 6 7 8 9 9 10 10 10 10 11 11 11 12 12 12 12 12 12 12 11 10 9 7 4 2 0 -1 -2 -3 -4 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -3 -3 -4 -3 -3 -3 -3 -3 -3 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -1 0 2 2 -0 -4 -8 -11 -13 -13 5 4 4 3 3 3 3 4 4 4 4 5 6 7 8 11 13 15 15 14 14 15 16 16 17 16 14 12 12 11 9 6 4 2 0 -2 -3 -5 -7 -8 -8 -9 -9 -8 -7 -5 -3 -1 6 16 28 36 39 36 28 19 10 6 4 3 2 0 -3 -5 -6 -8 -7 -2 3 4 3 -0 -3 -6 -8 -10 -10 -9 -9 -9 -9 -10 -10 -11 -12 -13 -12 -11 -10 -7 -5 -4 -6 -9 -9 -7 -5 -4 -3 -2 -2 -3 -3 -4 -3 -1 1 2 3 3 3 3 2 2 3 4 5 5 5 5 5 5 5 7 8 8 7 5 3 3 4 6 8 9 8 7 5 3 2 2 1 1 2 3 4 5 6 5 3 2 2 2 3 3 3 3 3 4 4 4 3 3 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 0 0 0 0 0 1 1 2 2 3 4 5 5 6 7 8 9 10 10 11 11 11 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 12 12 12 12 12 11 11 11 11 10 10 10 10 11 11 11 12 12 11 11 11 11 11 11 11 11 10 10 10 10 10 10 10 10 9 9 8 8 8 8 7 7 7 6 6 5 5 4 4 4 4 5 6 6 7 6 6 5 5 6 6 6 6 6 6 7 8 9 9 9 9 9 9 9 9 9 8 7 6 5 5 5 5 6 6 7 8 9 9 10 10 10 10 11 11 12 12 12 12 12 12 12 12 11 11 10 8 6 4 2 1 -1 -2 -3 -3 -2 -2 -2 -2 -2 -3 -4 -5 -5 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -2 -2 -2 -2 -3 -3 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -1 0 1 0 -2 -6 -11 -14 -15 -15 4 3 2 2 2 2 2 2 3 4 4 5 6 7 8 10 12 13 13 12 12 12 12 12 12 11 10 9 9 9 7 5 2 0 -2 -3 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -2 7 19 30 38 43 42 34 21 9 5 3 2 1 -0 -1 -2 -3 -6 -7 -6 -3 -2 -2 -3 -5 -6 -7 -8 -7 -7 -8 -9 -9 -10 -10 -12 -13 -13 -12 -10 -6 -4 -5 -7 -10 -10 -7 -6 -5 -4 -3 -2 -2 -2 -2 -2 -1 1 3 4 5 5 5 5 5 6 6 6 5 4 4 4 4 5 7 8 7 6 4 4 4 6 8 9 8 7 4 3 3 3 3 2 2 2 4 5 5 5 3 2 1 1 2 2 2 2 3 3 3 3 2 2 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 0 0 0 0 0 1 1 1 2 2 3 3 4 5 6 7 8 8 9 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 11 10 10 10 10 9 9 9 8 8 7 6 6 6 5 5 4 4 4 5 7 7 7 7 6 6 6 7 7 7 7 7 7 8 9 10 10 10 10 10 10 10 10 9 8 7 6 5 5 6 6 7 7 8 9 9 10 10 10 11 11 12 12 12 12 12 13 12 12 12 12 11 10 9 8 6 5 3 1 -0 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -1 -0 -1 -5 -9 -13 -16 -17 -16 3 2 1 1 -0 -0 -0 0 1 2 2 3 5 6 8 10 11 11 10 9 9 9 8 8 7 7 6 6 6 6 5 3 1 -2 -4 -5 -7 -8 -8 -7 -5 -3 -2 -3 -4 -6 -6 -6 -3 4 15 25 34 42 47 46 36 20 7 3 0 -0 -0 -0 1 -0 -3 -6 -8 -9 -9 -7 -6 -7 -7 -7 -6 -6 -7 -8 -8 -8 -9 -10 -11 -12 -13 -12 -10 -7 -5 -5 -6 -10 -10 -8 -6 -6 -5 -4 -2 -0 1 1 0 0 1 2 4 5 6 7 8 8 8 7 6 5 4 3 2 3 4 6 6 6 4 3 4 5 7 7 7 6 4 4 4 4 3 2 2 2 3 4 5 5 4 2 1 1 1 1 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 0 0 0 0 1 1 1 2 2 2 3 3 4 5 5 6 7 8 9 10 10 11 11 11 11 11 12 12 12 11 11 11 11 11 12 12 12 12 13 13 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 12 12 12 12 12 12 12 12 12 12 11 11 11 10 10 9 9 8 7 7 7 6 6 5 4 5 5 7 8 8 8 7 7 7 8 8 8 8 8 8 9 10 10 11 11 10 10 11 11 11 10 9 8 7 6 6 6 7 7 8 8 9 9 10 10 11 11 11 12 12 12 12 12 13 13 13 12 12 11 11 10 9 8 6 5 3 2 1 1 0 -0 -1 -1 -2 -3 -4 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -4 -4 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -3 -7 -11 -15 -17 -17 -15 2 1 -0 -1 -1 -2 -2 -1 -1 -1 0 1 3 5 7 8 9 9 8 8 7 7 6 6 6 5 5 5 5 4 3 1 -1 -3 -5 -6 -8 -9 -10 -9 -6 -4 -2 -1 -1 -2 -2 -2 -0 6 15 24 32 40 48 52 48 36 18 3 -1 -2 -2 -1 0 -0 -2 -4 -7 -10 -11 -11 -11 -11 -11 -9 -8 -7 -7 -8 -8 -8 -9 -9 -10 -10 -10 -10 -9 -8 -7 -6 -6 -10 -10 -8 -7 -6 -5 -3 -1 1 3 3 3 2 1 2 3 4 6 8 8 9 8 7 5 4 2 2 1 2 4 5 5 3 2 2 3 5 5 5 4 3 3 4 4 4 2 1 1 2 3 4 5 4 3 2 1 0 0 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 0 0 0 1 1 1 2 2 2 3 3 3 4 5 5 6 7 8 9 10 10 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 12 12 12 12 11 11 11 10 9 9 8 8 7 7 6 5 5 6 7 9 9 9 8 8 8 9 9 9 9 9 9 9 10 11 11 11 11 11 11 11 11 11 10 9 8 7 7 7 7 8 8 8 9 9 10 10 11 11 11 11 11 12 12 12 12 13 13 12 12 11 11 10 10 9 7 6 5 4 3 3 2 1 -0 -1 -1 -2 -3 -5 -5 -6 -6 -6 -7 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -8 -12 -15 -17 -16 -14 1 -0 -1 -1 -2 -2 -3 -2 -2 -2 -0 1 3 5 6 7 8 9 8 8 7 7 6 6 5 5 5 5 5 4 2 -0 -3 -4 -6 -7 -8 -9 -10 -10 -8 -6 -3 -2 -0 1 2 3 5 9 16 24 30 37 44 50 51 45 30 7 -1 -3 -2 -2 -2 -2 -3 -4 -5 -8 -10 -12 -14 -15 -15 -13 -10 -9 -9 -9 -8 -8 -9 -9 -8 -8 -7 -7 -8 -9 -9 -8 -8 -10 -9 -8 -7 -6 -4 -2 -0 2 4 4 4 3 2 1 2 3 5 6 7 6 5 5 4 3 2 1 1 2 3 3 2 1 1 1 3 3 3 1 1 2 3 4 4 3 1 0 1 2 3 4 4 3 2 1 1 0 0 0 1 1 1 1 1 1 1 1 1 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 0 0 0 0 1 1 1 2 2 2 3 3 3 4 5 5 6 7 8 9 9 10 11 11 11 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 13 13 13 12 12 11 10 10 9 8 8 7 6 6 7 8 10 10 10 9 9 9 9 10 9 9 9 10 10 11 12 12 12 12 11 11 12 12 11 11 10 9 8 7 8 8 8 8 8 9 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12 12 12 11 11 10 9 8 7 6 6 6 5 4 2 1 -0 -1 -2 -3 -4 -4 -5 -5 -6 -7 -8 -9 -9 -9 -9 -9 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -5 -5 -6 -6 -6 -7 -7 -7 -6 -6 -6 -6 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -5 -6 -9 -12 -15 -16 -16 -14 1 1 0 -0 -1 -1 -1 -1 -1 -0 1 2 3 4 5 6 7 8 8 8 7 6 5 4 4 4 4 4 4 2 0 -2 -4 -6 -7 -8 -8 -9 -9 -9 -9 -8 -5 -3 -1 1 4 6 8 12 16 22 26 31 36 41 45 44 37 15 1 -3 -2 -2 -2 -3 -3 -4 -6 -8 -9 -11 -13 -16 -17 -16 -13 -11 -10 -10 -9 -9 -9 -9 -8 -7 -7 -7 -8 -9 -10 -10 -10 -10 -8 -7 -6 -5 -3 -1 1 2 4 4 5 4 3 2 2 2 3 4 3 3 2 2 3 2 2 2 2 3 3 1 -0 -1 0 1 2 1 -0 -1 0 2 4 4 3 1 1 1 1 2 3 3 3 3 2 1 0 0 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 2 2 2 3 3 3 3 2 2 2 2 2 2 2 2 1 1 1 1 1 0 -0 -0 -0 -0 0 0 1 1 1 2 2 3 3 4 4 5 6 6 7 8 8 9 10 10 11 11 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 15 15 15 15 15 15 15 15 15 15 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 13 13 12 12 11 11 10 9 9 8 8 8 10 11 12 11 10 10 10 10 10 10 10 10 10 11 12 12 13 13 12 12 12 12 12 12 11 11 9 9 8 8 8 8 9 9 9 9 8 8 8 9 9 9 10 10 10 11 11 11 12 12 12 12 11 11 10 10 9 8 8 8 7 7 6 5 3 1 0 -1 -1 -2 -3 -4 -4 -5 -6 -7 -8 -9 -10 -10 -10 -9 -9 -8 -7 -7 -6 -6 -7 -7 -7 -7 -6 -6 -5 -5 -5 -6 -6 -7 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -10 -12 -14 -16 -15 -14 1 1 1 1 0 -1 -1 -1 -1 -0 0 2 3 4 5 6 7 7 7 7 6 4 3 2 2 3 3 3 2 1 -1 -4 -6 -7 -8 -9 -9 -9 -9 -8 -8 -7 -6 -4 -2 -0 2 4 7 10 13 16 19 22 26 29 32 34 35 23 6 -1 -1 -1 -2 -2 -3 -5 -7 -9 -10 -10 -12 -14 -15 -15 -14 -12 -11 -10 -10 -10 -10 -10 -9 -9 -8 -7 -8 -9 -10 -10 -11 -11 -8 -7 -5 -3 -1 0 2 3 3 4 4 4 4 3 2 2 2 1 -0 -1 -1 0 1 2 3 3 3 3 2 -0 -1 -0 1 2 2 0 -1 -0 2 4 5 4 2 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 3 3 3 3 3 2 3 3 3 3 2 2 2 3 3 3 3 3 3 3 2 2 2 2 1 1 1 1 0 0 -0 -1 -1 -1 -1 -1 -0 -0 0 1 1 2 2 3 4 4 5 6 6 7 7 8 8 9 9 10 11 11 11 12 12 12 12 13 13 13 13 13 13 13 13 13 13 14 14 14 15 15 15 15 15 15 16 16 16 16 16 16 15 15 15 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 14 14 13 13 12 12 12 11 10 10 10 11 12 13 13 12 11 10 10 10 10 10 11 11 11 12 13 13 14 14 13 13 13 12 13 12 12 11 10 10 9 9 9 9 9 9 9 8 8 8 8 8 8 8 9 9 9 10 10 11 11 11 11 11 11 11 11 10 10 9 9 9 9 9 9 8 6 4 2 1 0 -1 -1 -2 -2 -3 -4 -5 -6 -8 -9 -10 -10 -10 -10 -9 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -6 -6 -6 -6 -7 -8 -9 -9 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -7 -8 -10 -12 -14 -15 -14 -13 1 0 0 -0 -1 -2 -2 -2 -2 -2 -1 1 2 3 4 6 7 7 7 6 5 3 2 2 2 2 2 1 0 -1 -3 -5 -7 -9 -9 -10 -10 -10 -9 -8 -7 -6 -5 -5 -3 -2 -0 1 2 5 7 9 11 13 14 15 15 17 24 24 13 3 -1 -2 -1 -1 -2 -4 -6 -8 -10 -11 -12 -13 -13 -13 -12 -12 -11 -11 -11 -11 -12 -11 -11 -10 -9 -8 -9 -10 -10 -10 -9 -11 -7 -5 -4 -2 -0 1 2 3 3 3 4 4 4 4 3 2 0 -1 -2 -2 -2 -1 -0 2 3 4 4 2 0 -1 -0 1 2 2 1 -0 0 2 4 5 5 4 3 2 3 3 3 2 1 1 1 1 1 1 1 2 2 2 2 3 4 4 5 4 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 3 3 2 2 2 1 1 1 0 0 -0 -0 -1 -1 -1 -2 -2 -1 -1 -1 -0 0 1 1 2 3 4 4 5 6 6 7 7 7 8 8 9 9 10 10 10 11 11 12 12 13 13 13 13 13 13 13 14 14 14 14 14 15 15 15 16 16 16 16 16 16 17 17 17 16 16 16 15 15 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 14 14 14 14 13 13 13 13 12 13 14 14 14 13 12 11 11 11 11 11 11 11 12 12 13 14 14 14 14 14 14 13 13 13 13 13 12 11 10 10 9 9 9 9 9 9 8 8 8 7 7 8 8 8 8 9 9 10 10 11 11 11 11 11 11 10 10 10 10 10 10 10 10 10 10 9 7 5 3 2 1 0 -0 -0 -0 -1 -2 -4 -5 -7 -8 -9 -9 -9 -9 -8 -8 -7 -7 -8 -9 -10 -10 -10 -9 -9 -8 -7 -7 -7 -8 -9 -9 -9 -9 -9 -9 -10 -10 -11 -11 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -12 -13 -14 -14 -13 0 -0 -0 -1 -2 -2 -3 -3 -3 -2 -1 -0 1 2 3 5 6 7 7 6 5 3 2 2 2 2 1 0 -1 -3 -5 -7 -9 -10 -10 -11 -11 -10 -9 -8 -6 -5 -3 -3 -3 -3 -2 -1 0 1 2 3 5 5 5 4 4 5 8 13 9 2 -3 -4 -3 -2 -2 -3 -5 -7 -9 -11 -12 -12 -13 -13 -12 -12 -11 -11 -12 -12 -13 -12 -11 -10 -9 -9 -10 -11 -11 -10 -9 -10 -6 -4 -2 -1 1 2 2 3 3 2 2 2 3 3 2 1 -0 -1 -2 -2 -3 -2 -1 1 2 3 2 1 0 0 2 3 3 2 1 1 2 4 5 5 4 4 4 4 4 4 3 2 0 -0 -0 1 2 2 2 2 2 3 3 4 5 5 5 5 3 3 3 3 3 3 2 2 2 2 1 1 1 2 2 2 2 3 2 2 2 1 0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -0 0 1 2 3 3 4 5 6 6 7 7 7 8 8 8 9 9 9 10 10 11 12 12 13 13 13 14 14 14 14 15 15 15 15 15 16 16 16 16 16 17 17 17 17 17 17 17 17 17 16 16 15 15 14 14 14 14 14 14 14 15 15 15 15 16 16 15 15 15 15 15 15 15 15 15 15 15 16 16 15 14 13 12 12 11 11 11 11 12 12 13 14 14 15 15 15 15 15 14 14 14 14 13 13 12 12 11 11 10 9 9 9 9 9 8 8 7 7 7 7 8 8 8 8 9 9 10 10 11 11 11 11 10 10 10 10 10 10 10 10 11 11 12 11 10 9 6 5 3 2 2 2 3 2 2 -0 -2 -4 -6 -7 -8 -9 -9 -8 -8 -8 -8 -8 -10 -11 -12 -12 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -11 -12 -12 -12 -12 -12 -11 -11 -11 -11 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -13 -13 -13 -13 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -0 0 1 2 3 4 4 5 6 6 4 3 2 3 3 3 2 0 -2 -4 -6 -8 -9 -10 -11 -11 -11 -11 -10 -8 -7 -5 -3 -2 -1 0 0 1 1 0 -0 -1 -0 0 0 0 -0 -0 0 1 -1 -5 -7 -7 -6 -5 -5 -4 -4 -5 -7 -9 -11 -12 -13 -14 -14 -13 -12 -12 -12 -13 -12 -11 -11 -10 -10 -10 -11 -11 -9 -8 -8 -10 -5 -3 -1 0 1 2 3 2 2 2 1 1 1 1 1 0 0 -0 -1 -1 -2 -2 -1 -0 -0 -0 -0 0 1 2 3 3 3 2 2 2 3 4 4 4 4 4 5 5 5 4 2 0 -1 -1 -0 1 3 3 3 2 2 3 4 5 6 6 5 4 3 2 3 3 2 2 1 1 1 1 1 1 1 1 1 2 2 2 2 2 1 1 0 -0 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -0 0 1 1 2 2 3 4 5 5 6 6 7 7 8 8 8 8 9 9 9 10 11 11 12 13 13 14 14 15 15 15 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 16 16 15 15 15 14 14 14 14 14 14 14 14 15 15 15 16 16 15 15 15 15 16 16 16 16 16 17 17 18 17 15 14 13 12 12 12 12 12 12 13 13 14 15 15 16 16 16 15 15 15 15 15 14 14 13 13 12 12 11 10 10 9 9 9 9 8 8 7 7 7 8 8 8 8 8 8 9 9 10 10 10 10 10 10 10 10 10 10 9 9 10 11 11 12 12 12 12 10 8 7 5 4 5 5 5 5 3 1 -1 -3 -4 -6 -7 -8 -8 -7 -7 -7 -8 -10 -12 -13 -14 -13 -13 -12 -11 -10 -10 -10 -9 -9 -9 -10 -10 -11 -12 -12 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -11 -12 -13 -13 -13 -13 -2 -2 -2 -2 -2 -2 -2 -2 -1 0 1 2 3 3 3 2 2 3 4 4 4 3 3 3 3 3 2 0 -2 -4 -6 -8 -10 -11 -12 -12 -11 -11 -10 -9 -7 -6 -4 -2 -0 1 2 3 3 2 0 -1 -2 -3 -4 -4 -4 -4 -5 -7 -8 -9 -10 -10 -9 -9 -8 -7 -7 -6 -7 -8 -10 -12 -14 -16 -16 -15 -13 -12 -12 -13 -12 -11 -11 -10 -10 -10 -11 -11 -10 -8 -8 -9 -3 -2 -0 1 1 2 2 2 1 1 -0 -1 -1 -1 -1 -0 0 1 1 0 -0 -1 -2 -2 -3 -3 -2 -1 1 3 4 3 3 2 2 3 3 4 4 4 4 5 5 5 4 2 0 -2 -3 -2 0 2 4 3 3 2 2 3 4 5 5 5 4 3 2 2 2 2 2 1 0 0 0 0 0 -0 0 0 1 1 1 2 2 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 1 1 1 1 2 2 3 4 4 5 6 6 7 7 8 8 8 9 9 10 10 11 11 12 13 13 14 15 15 16 16 16 17 17 17 18 18 18 18 18 18 17 17 17 17 17 17 17 16 16 15 15 15 14 14 14 14 14 14 14 14 14 15 15 15 15 15 16 16 16 16 16 17 17 17 18 19 19 18 17 15 14 13 13 13 13 13 13 13 14 15 15 16 16 16 16 16 16 16 16 16 15 15 14 14 13 13 12 12 11 10 10 9 9 9 8 8 7 7 8 8 8 8 8 8 8 8 9 9 9 10 10 10 10 10 10 10 9 9 9 9 10 11 12 12 13 13 13 12 11 9 8 7 7 8 7 6 4 2 0 -1 -3 -4 -6 -6 -6 -6 -6 -7 -10 -13 -15 -15 -15 -15 -14 -13 -12 -12 -11 -10 -9 -9 -10 -10 -11 -12 -13 -13 -14 -14 -15 -15 -14 -14 -14 -13 -13 -13 -12 -12 -12 -13 -13 -13 -12 -12 -12 -12 -11 -11 -11 -12 -12 -13 -13 -13 -13 -0 -2 -3 -4 -4 -4 -3 -2 -1 1 2 3 3 3 3 2 1 2 2 2 2 2 2 2 2 1 1 -1 -3 -4 -7 -9 -10 -11 -12 -12 -12 -11 -10 -9 -8 -7 -5 -3 -1 1 3 4 4 3 2 -0 -2 -5 -6 -6 -7 -8 -9 -10 -11 -12 -12 -12 -11 -10 -10 -10 -10 -9 -9 -9 -10 -12 -14 -16 -18 -16 -14 -12 -12 -12 -12 -12 -11 -11 -10 -10 -11 -12 -11 -9 -8 -8 -3 -1 -0 1 1 1 1 1 0 -1 -1 -2 -2 -2 -2 -1 0 1 1 1 0 -1 -2 -4 -5 -5 -4 -2 1 2 3 3 2 2 3 3 3 3 3 4 5 5 5 4 2 0 -2 -4 -4 -2 1 3 4 3 3 2 2 2 3 4 4 3 2 1 1 2 2 1 1 0 -0 -0 0 -0 -0 -0 -0 -0 -0 -0 0 0 1 1 0 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -0 0 0 1 1 1 1 1 1 2 2 2 3 4 4 5 6 6 7 8 8 9 9 10 10 11 11 12 12 13 14 14 15 15 16 17 17 17 18 18 18 18 18 18 18 18 17 17 17 17 17 16 16 15 15 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 16 16 16 16 17 17 18 18 19 19 20 19 18 16 15 15 14 14 14 14 14 14 15 15 16 16 16 17 17 17 17 16 16 16 16 16 16 15 14 14 13 13 12 11 11 10 10 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 10 10 10 9 9 9 8 8 9 10 10 11 12 13 14 14 14 14 13 12 11 10 10 10 9 7 6 4 2 0 -1 -3 -4 -4 -4 -3 -4 -7 -11 -15 -17 -17 -16 -16 -15 -14 -13 -11 -11 -10 -10 -10 -11 -11 -12 -13 -14 -15 -15 -16 -16 -16 -15 -15 -15 -14 -14 -13 -13 -13 -13 -13 -14 -13 -13 -13 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 4 -1 -4 -5 -7 -7 -7 -5 -2 -0 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 0 -1 -3 -4 -5 -7 -9 -10 -11 -12 -12 -12 -11 -10 -9 -8 -7 -6 -4 -2 1 2 3 4 4 3 1 -1 -4 -6 -7 -8 -9 -9 -10 -11 -12 -13 -13 -12 -11 -11 -11 -11 -11 -11 -11 -11 -12 -14 -15 -16 -15 -13 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -12 -11 -10 -8 -9 -3 -2 -1 -0 -0 0 0 -0 -1 -2 -2 -3 -3 -3 -2 -1 -0 0 1 0 -0 -2 -3 -5 -6 -6 -5 -3 -1 1 1 2 2 2 3 3 3 3 3 4 5 5 4 3 1 -2 -4 -5 -4 -1 2 4 4 3 3 2 2 2 3 3 3 2 0 -0 0 1 1 0 -0 -1 -0 -0 0 -0 -0 -0 -1 -1 -1 -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 2 2 3 3 4 4 5 6 7 7 8 9 9 10 10 11 12 12 13 13 14 14 15 16 16 17 17 18 18 18 19 19 19 18 18 18 17 17 17 16 16 16 15 15 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 16 16 16 17 17 17 18 18 19 20 20 20 19 17 16 16 15 15 15 15 15 15 15 15 16 17 17 17 17 17 17 17 17 17 17 17 17 16 15 15 14 14 13 13 12 11 10 10 10 9 9 9 8 8 8 8 8 8 8 7 7 7 7 8 8 8 9 9 9 9 9 9 8 8 8 8 9 10 11 12 13 14 14 15 15 15 14 14 13 13 12 12 11 9 8 6 4 2 1 -1 -2 -1 -1 -0 -2 -5 -11 -17 -18 -18 -17 -16 -15 -13 -12 -12 -11 -11 -11 -11 -12 -13 -13 -14 -15 -16 -16 -16 -16 -16 -16 -16 -15 -15 -14 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -12 -12 -12 -12 -12 -12 -13 -13 7 2 -3 -6 -7 -8 -8 -7 -4 -2 -0 0 1 2 2 1 0 -0 -0 0 1 1 1 1 -0 -1 -3 -4 -6 -7 -8 -9 -10 -11 -12 -12 -12 -12 -11 -10 -8 -7 -6 -4 -2 0 2 2 3 4 3 2 -0 -3 -5 -6 -7 -7 -7 -8 -9 -11 -13 -13 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -13 -13 -13 -13 -12 -12 -12 -12 -12 -13 -13 -13 -13 -13 -12 -13 -13 -12 -10 -9 -4 -3 -2 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -2 -2 -3 -4 -5 -5 -5 -4 -3 -1 -0 1 2 2 3 3 3 3 4 5 5 5 3 1 -1 -3 -5 -5 -3 -0 3 4 4 3 2 1 1 2 2 2 1 -0 -1 -1 -0 0 -0 -1 -1 -1 -0 0 0 0 -0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 0 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 4 5 5 6 7 8 8 9 10 11 11 12 13 13 14 14 15 15 16 16 17 17 17 18 18 18 18 18 18 18 17 17 17 16 16 16 15 15 15 14 15 15 15 15 15 15 14 14 14 14 15 15 15 15 16 16 16 17 17 17 17 18 18 19 20 20 20 19 18 17 17 16 16 16 16 15 15 16 16 17 17 17 18 18 18 18 17 17 17 17 17 17 17 16 15 15 14 14 13 13 12 11 10 10 10 9 9 9 8 8 8 8 8 7 7 7 7 7 7 7 8 8 8 9 9 9 8 8 8 8 8 9 10 11 12 12 13 14 15 15 15 15 15 15 15 15 14 14 13 11 10 8 7 5 3 2 2 2 4 4 3 -1 -10 -17 -19 -17 -16 -15 -14 -13 -13 -13 -13 -13 -13 -13 -13 -14 -15 -15 -16 -16 -17 -17 -17 -17 -17 -16 -16 -15 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -12 -12 -12 -12 -11 -12 -12 -12 8 2 -2 -5 -6 -7 -7 -7 -5 -3 -1 -1 0 1 1 0 -1 -2 -2 -1 0 1 1 0 -1 -2 -4 -5 -7 -8 -10 -10 -11 -11 -12 -12 -12 -12 -11 -10 -9 -7 -5 -4 -2 0 1 2 3 3 3 2 1 -1 -3 -3 -4 -4 -5 -5 -7 -9 -11 -13 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -13 -14 -15 -14 -12 -9 -5 -4 -3 -3 -2 -2 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -4 -3 -2 -0 1 2 2 2 3 3 4 5 5 4 3 1 -1 -3 -5 -5 -2 1 3 5 4 3 2 1 1 1 2 1 0 -1 -1 -1 -0 -1 -1 -1 -1 -1 -0 0 0 0 0 -0 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -0 0 1 1 2 2 2 2 2 2 2 3 3 3 3 3 4 4 5 5 6 6 7 8 9 10 10 11 12 13 13 14 14 15 15 16 16 16 17 17 17 18 18 18 18 17 17 17 17 16 16 16 16 15 15 15 15 16 16 16 16 15 15 15 15 15 15 15 15 15 16 16 17 17 17 17 17 18 18 19 20 20 20 19 19 18 18 18 18 18 17 17 16 16 16 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 17 16 15 15 14 14 13 12 11 11 10 10 10 9 9 9 8 8 8 8 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 9 10 11 12 13 13 14 15 15 15 16 16 16 16 16 16 16 15 14 12 11 10 8 6 6 6 7 9 10 9 5 -2 -9 -14 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -15 -15 -16 -17 -17 -18 -18 -18 -17 -17 -16 -15 -15 -14 -14 -14 -14 -13 -13 -13 -13 -12 -12 -12 -11 -11 -11 -11 -11 -11 9 3 -0 -2 -3 -3 -3 -3 -2 -0 0 0 1 1 1 -0 -2 -3 -3 -2 -2 -1 -1 -1 -1 -3 -4 -6 -8 -10 -11 -12 -12 -12 -12 -12 -12 -12 -12 -11 -10 -8 -6 -4 -2 -1 1 2 2 3 3 2 1 -1 -1 -0 -0 -1 -1 -3 -4 -6 -8 -10 -12 -13 -13 -13 -12 -12 -12 -11 -11 -11 -10 -10 -10 -11 -12 -12 -12 -12 -12 -13 -13 -13 -12 -12 -12 -13 -15 -15 -13 -8 -5 -5 -4 -4 -4 -4 -4 -5 -5 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -4 -3 -1 0 1 1 2 3 3 4 4 4 4 2 0 -2 -3 -4 -4 -1 2 4 5 3 2 1 1 1 1 1 1 -0 -1 -1 -1 -0 -1 -1 -2 -1 -1 -0 -0 0 0 0 0 -0 -0 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -1 -0 0 1 1 2 2 2 2 3 3 3 3 4 4 4 4 4 5 5 6 6 7 7 8 9 9 10 11 12 13 13 14 14 15 15 16 16 16 16 17 17 17 17 17 17 17 17 17 17 16 16 16 16 16 16 16 16 17 17 17 17 16 16 16 16 16 16 16 16 16 16 17 17 18 18 18 18 18 18 19 20 20 20 20 19 19 19 19 19 18 18 17 17 16 17 17 17 18 18 18 19 19 18 18 18 18 18 18 18 18 18 17 16 15 15 14 14 13 12 11 10 10 10 9 9 9 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 9 10 10 11 12 12 13 13 14 15 15 16 16 16 17 17 17 17 17 16 15 14 13 12 10 10 11 13 15 16 15 13 10 5 -3 -5 -7 -9 -11 -12 -13 -13 -14 -14 -14 -14 -15 -15 -16 -17 -18 -18 -18 -18 -17 -17 -16 -16 -15 -14 -14 -14 -13 -13 -13 -13 -12 -12 -11 -11 -11 -10 -10 -10 -10 -10 10 6 3 2 3 3 4 4 5 5 5 3 2 2 1 -0 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -7 -9 -11 -13 -14 -14 -13 -13 -13 -13 -12 -11 -11 -10 -9 -7 -5 -4 -3 -1 1 3 2 1 0 -1 -1 -0 1 2 2 1 -0 -2 -3 -5 -7 -9 -12 -13 -14 -14 -14 -13 -12 -11 -11 -10 -10 -9 -9 -10 -10 -11 -11 -12 -12 -13 -13 -13 -12 -12 -14 -16 -17 -16 -12 -7 -6 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -5 -4 -3 -1 0 1 2 2 3 3 4 4 3 2 0 -2 -3 -3 -3 -0 2 5 5 3 1 0 0 1 1 1 0 -1 -1 -1 0 0 -1 -1 -1 -1 -0 -0 -0 -0 0 0 0 0 0 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 0 1 1 2 2 3 3 4 4 4 4 5 5 5 5 6 6 6 7 7 8 8 9 10 10 11 12 13 13 14 14 14 15 15 15 16 16 16 16 16 16 16 16 17 17 17 17 16 16 16 16 16 17 17 17 17 17 17 17 17 16 16 16 16 16 16 17 17 17 18 18 19 19 19 19 18 19 19 20 20 20 20 20 20 20 20 19 19 18 17 17 17 17 17 17 18 18 19 19 19 19 19 19 18 18 18 18 18 18 18 17 16 15 14 14 13 13 12 11 10 10 10 9 9 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 8 8 8 8 8 8 8 9 9 9 10 10 11 11 12 12 13 13 14 15 15 16 17 17 18 18 18 18 18 18 17 17 16 16 16 17 19 20 21 21 22 20 11 7 4 1 -2 -5 -7 -9 -10 -11 -12 -13 -13 -14 -16 -17 -17 -18 -18 -18 -18 -17 -17 -16 -16 -15 -14 -13 -13 -13 -12 -12 -12 -11 -11 -11 -10 -10 -9 -9 -9 -9 11 7 5 5 6 7 9 10 11 11 10 8 6 4 2 1 -1 -2 -3 -3 -4 -4 -4 -5 -5 -6 -7 -8 -10 -13 -14 -15 -15 -15 -14 -14 -14 -13 -12 -11 -10 -9 -8 -6 -5 -4 -3 -2 1 2 1 -1 -3 -2 -1 1 2 3 3 2 0 -1 -2 -4 -6 -8 -11 -14 -16 -17 -16 -14 -13 -13 -12 -11 -10 -9 -9 -8 -9 -9 -10 -11 -12 -13 -13 -13 -13 -14 -16 -18 -17 -13 -8 -7 -6 -6 -6 -7 -7 -8 -8 -8 -8 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -2 -0 1 1 1 2 3 3 4 3 2 0 -1 -2 -3 -2 1 3 5 4 1 -0 -1 -0 1 1 1 -1 -1 -1 0 1 0 -1 -1 -1 0 0 0 -0 -0 0 0 1 1 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 1 1 2 2 3 3 4 4 5 5 5 6 6 6 6 7 7 7 8 8 9 9 9 10 10 11 12 12 12 13 13 14 14 14 15 15 15 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 18 17 17 17 17 16 16 16 17 17 17 17 18 18 19 19 19 20 20 20 20 20 20 21 21 21 21 21 21 21 20 20 19 19 18 18 17 17 17 17 18 18 19 19 19 19 19 19 19 19 19 19 19 19 18 17 17 16 15 14 14 13 13 12 11 11 10 9 9 8 8 8 8 8 9 9 8 8 8 8 7 7 7 8 8 8 8 9 9 9 9 9 9 10 10 10 10 11 11 11 11 12 13 13 14 15 16 17 18 18 19 20 20 21 21 21 20 20 21 21 22 24 25 25 26 26 23 17 14 11 8 6 3 1 -1 -3 -5 -7 -9 -11 -12 -14 -16 -17 -17 -17 -17 -17 -17 -17 -16 -15 -14 -13 -12 -12 -12 -11 -11 -11 -11 -10 -10 -9 -9 -8 -8 -8 8 4 2 2 4 6 8 10 12 13 13 11 9 7 5 2 0 -1 -2 -2 -3 -4 -5 -5 -6 -7 -8 -10 -12 -14 -15 -15 -15 -15 -16 -16 -15 -14 -13 -12 -10 -9 -8 -7 -6 -5 -5 -4 -3 -0 0 -2 -4 -3 -2 -0 1 1 1 1 1 0 -0 -1 -2 -4 -8 -11 -15 -18 -19 -17 -16 -15 -14 -12 -11 -10 -10 -9 -8 -8 -9 -9 -10 -11 -12 -13 -13 -14 -15 -17 -16 -12 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -3 -1 -0 0 0 1 2 3 4 3 2 1 -0 -2 -3 -1 1 4 5 3 0 -1 -1 -0 1 1 -0 -1 -1 0 1 1 -0 -1 -1 0 1 1 -0 -0 -0 0 1 1 1 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 0 0 0 1 1 1 2 2 3 3 4 5 5 6 6 7 7 7 7 8 8 8 8 9 9 10 10 10 10 11 11 11 11 12 12 12 13 13 14 14 15 15 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 16 17 17 17 17 18 18 19 19 20 20 20 20 20 21 21 21 21 22 22 22 22 22 22 21 21 20 20 19 19 18 18 17 17 17 18 18 19 20 20 20 20 20 19 19 19 19 19 19 19 18 17 16 16 15 15 14 14 13 12 11 11 10 9 8 8 8 8 9 9 9 9 9 9 8 8 8 8 8 9 9 9 9 9 9 10 10 10 10 11 11 11 11 10 10 10 11 11 12 13 14 15 16 17 18 19 20 21 22 23 23 24 24 25 25 26 27 28 29 30 30 29 26 22 19 16 13 11 9 7 6 4 2 -0 -3 -6 -8 -11 -13 -14 -15 -16 -16 -16 -16 -16 -15 -14 -12 -12 -11 -11 -10 -10 -10 -10 -9 -9 -8 -8 -7 -7 -6 3 -1 -3 -3 -2 -1 1 4 7 9 9 9 8 7 5 4 2 1 -0 -1 -2 -3 -4 -5 -6 -7 -8 -10 -13 -15 -16 -16 -16 -16 -16 -17 -16 -15 -14 -13 -11 -10 -9 -8 -7 -6 -6 -6 -5 -4 -3 -3 -4 -4 -3 -3 -2 -2 -3 -1 -1 -0 -0 -1 -1 -2 -4 -7 -11 -16 -19 -19 -18 -17 -16 -14 -13 -13 -12 -11 -10 -10 -10 -9 -9 -10 -12 -13 -13 -14 -15 -17 -16 -11 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -4 -3 -1 -1 -0 0 2 3 4 4 3 2 -0 -2 -3 -1 2 4 4 2 -1 -2 -1 0 1 1 -1 -1 -1 1 2 0 -1 -2 -0 2 2 1 -1 -1 0 1 1 1 0 0 -0 -1 -1 -1 -1 -1 -1 -0 -0 0 0 1 1 1 1 1 2 2 3 3 4 4 5 6 6 7 7 8 8 8 9 9 9 9 9 10 10 10 10 10 10 10 11 11 11 11 11 12 12 12 13 13 14 15 15 16 16 16 17 17 17 17 17 17 17 18 18 18 18 18 17 17 17 17 17 16 16 17 17 17 17 18 18 19 19 20 20 20 20 20 21 21 21 22 22 23 23 23 23 23 22 22 21 21 20 20 19 19 18 18 18 18 18 19 19 20 20 21 20 20 20 19 19 19 19 19 19 19 18 17 16 16 16 15 15 14 14 13 12 11 10 9 8 8 8 9 9 10 10 10 10 9 9 9 9 9 10 10 10 10 10 10 10 10 11 11 12 12 12 12 11 11 10 11 11 12 12 13 14 15 16 17 19 20 21 23 24 25 26 27 27 28 29 29 30 31 33 34 34 32 29 26 22 20 17 15 13 12 11 9 7 5 2 -1 -4 -7 -9 -12 -13 -15 -15 -15 -15 -14 -13 -12 -11 -10 -9 -9 -9 -9 -8 -8 -8 -7 -6 -6 -5 -5 -0 -4 -6 -7 -8 -7 -6 -3 -1 1 2 2 2 2 3 3 2 1 1 -0 -1 -2 -3 -4 -5 -7 -8 -11 -13 -16 -17 -17 -17 -17 -17 -16 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -6 -7 -7 -7 -5 -4 -3 -4 -5 -5 -6 -6 -5 -4 -3 -3 -3 -3 -3 -3 -4 -7 -11 -16 -19 -19 -18 -17 -16 -15 -15 -14 -14 -14 -14 -13 -12 -11 -11 -12 -13 -14 -14 -16 -18 -16 -11 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -4 -4 -4 -4 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -7 -6 -5 -4 -2 -2 -1 -0 1 3 4 4 4 2 -0 -3 -3 -1 2 4 3 1 -1 -1 0 2 2 0 -1 -1 1 2 1 -1 -2 -1 1 3 2 -1 -1 -0 1 2 1 1 0 -0 -0 -1 -1 -1 -1 -0 -0 -0 0 1 1 1 1 2 2 2 2 3 4 4 5 5 6 7 7 8 8 9 9 10 10 10 10 10 10 11 11 11 11 11 10 10 10 11 11 11 11 11 12 12 13 13 14 15 15 16 16 16 17 17 17 17 17 18 18 18 18 18 18 18 18 17 17 17 17 17 17 17 17 17 18 18 19 19 20 20 20 20 20 20 20 21 21 22 22 23 23 23 23 22 22 22 21 21 21 21 20 20 19 19 19 19 19 19 20 21 21 21 21 21 20 20 19 19 19 19 19 19 19 18 17 17 17 17 16 16 15 14 13 12 11 10 9 9 9 9 9 10 11 11 11 10 10 10 10 10 10 11 11 11 11 11 11 11 11 12 12 13 13 13 12 12 11 11 11 12 12 13 14 14 15 17 18 20 21 23 24 26 27 28 29 30 30 31 32 33 34 36 37 37 36 33 29 26 23 20 18 17 15 14 12 10 8 6 3 -0 -4 -7 -10 -12 -13 -14 -14 -13 -12 -11 -10 -9 -8 -8 -7 -7 -7 -7 -6 -6 -5 -4 -3 -3 -1 -3 -5 -6 -8 -8 -8 -6 -4 -3 -2 -2 -1 -0 0 1 0 -0 -1 -2 -3 -3 -4 -5 -6 -7 -9 -11 -13 -16 -17 -17 -17 -17 -16 -16 -15 -15 -14 -13 -12 -11 -10 -10 -9 -8 -7 -7 -7 -8 -9 -8 -6 -3 -4 -6 -8 -8 -9 -9 -8 -7 -6 -6 -6 -6 -5 -5 -5 -7 -11 -16 -18 -19 -18 -17 -15 -15 -16 -16 -17 -18 -18 -18 -16 -14 -13 -13 -14 -15 -17 -18 -17 -12 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -3 -3 -2 -0 2 3 5 5 4 1 -2 -4 -4 -1 2 3 2 -1 -1 0 2 3 2 -0 -1 -0 1 2 -0 -2 -2 1 3 2 -0 -2 -2 1 2 2 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 3 3 4 5 5 6 6 7 8 8 9 9 10 10 11 11 11 11 11 12 12 12 12 12 11 11 11 11 11 11 11 11 12 12 12 13 13 14 15 15 16 16 16 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 17 17 17 17 18 18 18 18 18 19 19 19 20 20 20 20 20 20 21 21 22 22 23 23 23 22 22 22 22 22 22 22 21 21 21 21 20 20 20 20 20 21 21 22 22 22 21 21 21 20 20 20 20 20 20 19 19 19 18 18 18 18 17 17 16 15 14 12 11 10 9 9 9 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 13 14 14 14 14 13 13 12 12 12 13 13 13 14 15 16 17 19 20 22 24 26 28 29 30 31 31 32 33 34 35 36 38 39 39 39 36 33 30 27 24 22 21 19 18 16 14 12 9 5 1 -3 -7 -10 -12 -12 -13 -12 -11 -10 -9 -8 -7 -7 -6 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -2 -3 -4 -5 -5 -5 -5 -4 -3 -2 -2 -1 -1 -0 -1 -1 -2 -3 -3 -4 -5 -5 -6 -7 -8 -9 -11 -14 -15 -16 -17 -17 -16 -16 -15 -14 -14 -13 -12 -12 -11 -11 -11 -10 -9 -8 -8 -8 -9 -10 -10 -9 -7 -5 -8 -10 -10 -11 -11 -11 -11 -10 -10 -10 -9 -9 -8 -7 -7 -9 -12 -15 -17 -18 -17 -15 -15 -16 -16 -18 -19 -21 -21 -19 -15 -12 -11 -13 -15 -17 -18 -17 -13 -9 -8 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -4 -3 -1 1 3 5 5 5 3 -0 -3 -5 -3 -0 2 2 0 -1 -0 2 4 3 1 -1 -1 1 2 1 -1 -2 -0 2 2 0 -3 -3 -0 3 4 2 0 -0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 3 4 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 12 13 13 13 13 13 13 13 12 12 12 12 12 12 12 13 13 13 14 14 15 15 16 16 16 16 17 17 18 18 18 19 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 18 18 19 19 19 19 19 19 19 19 20 20 20 21 21 21 22 22 22 22 22 23 23 23 22 22 22 22 22 22 21 21 21 21 21 21 22 22 23 22 22 22 22 21 21 20 20 20 20 20 20 20 20 20 20 19 19 18 17 17 16 14 13 12 11 10 10 10 10 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 14 14 15 15 14 14 14 14 14 14 14 14 14 15 16 17 18 20 21 23 25 27 29 31 31 32 32 33 34 35 35 37 38 40 41 41 39 37 34 31 28 27 26 25 24 23 20 17 12 7 1 -4 -7 -10 -11 -12 -12 -11 -10 -10 -9 -8 -7 -6 -5 -5 -3 -2 -1 0 1 0 -1 -3 -3 -3 -3 -3 -3 -2 -1 -0 -0 0 1 1 1 1 -0 -1 -2 -3 -4 -5 -6 -6 -7 -8 -9 -10 -12 -14 -15 -16 -16 -16 -16 -15 -14 -13 -13 -12 -12 -12 -12 -11 -11 -11 -10 -10 -10 -10 -10 -11 -12 -13 -14 -13 -13 -14 -13 -13 -13 -13 -13 -13 -12 -12 -12 -11 -11 -10 -10 -10 -10 -12 -14 -15 -16 -15 -16 -16 -17 -18 -20 -20 -17 -15 -13 -13 -12 -12 -13 -14 -15 -14 -13 -12 -8 -6 -6 -6 -6 -5 -5 -4 -3 -2 -2 -1 -2 -2 -2 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -5 -5 -3 -0 2 5 6 6 4 1 -3 -5 -5 -2 1 2 1 -1 -0 3 5 4 2 -1 -1 -0 1 2 1 -1 -1 1 2 0 -3 -5 -2 2 4 4 1 -1 -1 1 2 2 2 2 1 1 1 2 2 2 2 2 2 2 2 3 3 4 5 6 7 7 7 8 9 9 10 10 10 11 12 12 13 13 14 14 14 15 15 15 15 14 14 14 14 14 14 14 14 15 15 16 16 17 17 17 17 17 17 18 18 19 19 19 19 19 18 18 18 18 18 19 19 19 19 19 19 20 20 20 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 21 21 21 21 22 22 23 23 23 23 23 23 23 23 22 22 22 22 22 22 22 23 23 23 23 23 23 23 22 22 21 21 21 21 21 22 22 22 21 21 21 21 20 19 18 17 16 15 14 13 12 11 11 11 11 11 12 12 13 13 13 12 12 12 13 12 12 12 12 12 12 13 13 14 15 15 15 15 15 15 15 15 15 15 15 15 15 16 17 18 19 21 23 25 27 29 31 32 32 33 33 34 34 35 36 38 39 41 42 43 42 40 38 35 33 32 31 31 30 29 27 23 18 12 5 -1 -5 -8 -10 -10 -10 -11 -12 -12 -11 -10 -8 -6 -4 -2 0 2 2 2 2 0 -6 -5 -5 -5 -4 -3 -1 1 2 2 3 3 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -9 -10 -12 -14 -15 -15 -16 -16 -15 -14 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -14 -15 -17 -18 -19 -19 -17 -16 -15 -14 -14 -14 -14 -13 -13 -12 -12 -12 -12 -11 -11 -11 -12 -13 -14 -15 -15 -16 -17 -18 -19 -19 -18 -16 -14 -14 -16 -17 -15 -14 -12 -11 -10 -11 -7 -5 -4 -4 -4 -3 -3 -2 -1 -1 -0 -0 -1 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -2 2 5 6 6 5 2 -2 -5 -5 -2 1 2 1 -0 -0 3 5 6 3 0 -2 -1 0 2 2 0 -1 1 2 1 -2 -4 -4 1 4 4 2 -1 -2 -0 2 3 3 2 1 1 1 2 2 2 2 2 2 2 2 2 3 4 5 6 6 6 7 7 8 9 9 10 10 10 11 12 13 13 14 15 15 16 16 16 17 17 17 16 16 16 16 16 16 17 17 18 18 19 19 19 19 19 19 19 19 20 20 20 20 20 20 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 21 21 22 23 23 23 24 24 24 24 24 23 23 23 22 22 22 23 23 23 24 24 25 25 25 24 24 23 23 22 22 22 22 23 23 23 23 23 23 22 22 21 20 19 18 17 16 15 14 13 12 12 11 11 12 12 13 13 13 13 13 13 13 13 13 12 12 12 13 13 13 14 15 15 16 15 15 15 15 15 16 16 16 16 16 16 17 18 19 20 22 24 26 28 30 31 32 33 33 34 35 35 36 37 39 41 42 43 44 44 43 41 39 37 36 35 35 35 34 32 30 26 20 15 8 1 -5 -7 -7 -9 -12 -14 -15 -13 -9 -6 -3 -1 0 2 2 2 2 1 -7 -7 -7 -7 -6 -4 -2 1 2 2 3 3 3 3 2 0 -1 -2 -3 -4 -5 -6 -8 -8 -9 -10 -11 -12 -14 -15 -15 -16 -15 -15 -14 -13 -11 -11 -10 -10 -10 -10 -11 -11 -12 -12 -11 -11 -11 -11 -12 -14 -15 -17 -18 -19 -20 -20 -18 -16 -15 -15 -14 -14 -14 -14 -13 -13 -13 -13 -13 -12 -11 -11 -12 -13 -14 -15 -15 -17 -18 -18 -17 -19 -18 -15 -13 -14 -16 -17 -17 -14 -10 -9 -10 -5 -3 -3 -2 -2 -1 -1 -0 0 1 1 1 0 -1 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -4 -4 -4 -4 -3 0 4 6 7 6 3 -1 -4 -4 -2 2 3 2 -0 -0 2 6 7 5 1 -1 -2 -0 2 3 2 0 0 2 1 -1 -3 -3 -0 4 5 3 -0 -2 -2 1 3 3 2 1 -0 0 1 1 2 2 2 2 2 2 2 2 3 4 5 6 6 6 6 7 8 9 9 9 9 10 11 12 12 13 14 15 16 16 17 18 18 18 19 19 19 19 19 19 19 19 20 20 20 21 21 21 22 22 22 22 22 22 22 22 22 21 21 21 20 20 20 20 20 20 21 21 21 21 21 21 21 21 20 20 19 19 19 19 19 20 20 20 20 20 20 20 20 20 21 21 22 23 23 24 24 25 25 25 24 24 24 23 23 23 23 23 23 23 24 25 26 26 26 26 25 25 24 24 24 23 23 23 24 24 24 24 24 24 23 22 22 21 20 20 19 18 17 16 15 14 13 12 12 13 13 14 14 14 14 14 14 13 13 13 13 13 13 13 14 14 15 15 16 15 15 15 15 15 16 16 16 16 16 17 17 18 18 19 21 22 24 27 29 31 32 33 34 35 35 36 37 38 39 40 42 43 45 45 45 44 42 40 38 37 37 38 38 38 37 35 32 28 24 18 11 4 3 3 0 -1 1 4 6 7 6 3 -0 -1 -1 -1 0 0 -6 -6 -7 -7 -7 -6 -5 -3 -2 -1 0 1 2 3 2 0 -1 -2 -2 -3 -4 -5 -7 -8 -8 -9 -10 -12 -13 -15 -15 -15 -15 -15 -14 -13 -11 -10 -10 -9 -9 -9 -10 -10 -11 -11 -11 -11 -11 -11 -12 -12 -13 -15 -16 -18 -19 -19 -19 -18 -17 -16 -15 -14 -14 -14 -14 -13 -13 -13 -13 -13 -12 -12 -12 -12 -13 -14 -15 -16 -16 -17 -18 -20 -20 -18 -16 -14 -13 -16 -18 -16 -12 -9 -9 -5 -2 -1 -1 -0 0 1 1 1 2 2 1 1 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -1 2 5 6 6 4 1 -1 -2 -0 2 4 3 1 0 2 6 8 6 3 -0 -2 -1 2 4 3 1 0 1 2 1 -1 -2 -0 3 5 4 1 -2 -3 -1 2 3 3 1 -1 -1 -1 0 1 1 1 1 1 1 1 2 2 3 4 5 5 6 6 7 8 9 9 9 8 9 10 10 11 12 13 14 15 15 16 17 18 19 19 20 20 20 21 21 21 21 22 22 22 22 22 23 24 24 25 25 24 24 24 24 24 24 23 23 22 22 22 22 22 22 22 22 22 22 22 21 21 21 21 21 20 20 19 19 19 19 20 20 20 21 21 21 21 21 21 21 22 22 23 23 24 24 25 25 25 24 24 24 24 24 24 24 24 24 24 25 26 27 27 27 27 27 26 26 26 25 25 24 24 24 25 25 25 25 25 24 24 23 22 22 22 21 20 19 18 17 16 15 14 14 14 14 14 14 15 15 14 14 14 13 13 13 13 13 14 14 14 15 16 16 16 15 15 15 15 16 16 16 16 17 17 17 18 18 19 20 21 23 25 27 29 31 33 34 35 36 37 38 38 39 40 42 43 44 45 46 46 44 42 40 39 38 39 40 40 40 39 38 36 34 30 26 26 29 30 30 31 37 31 26 22 19 15 9 1 -3 -5 -4 -4 -5 -4 -5 -6 -7 -7 -7 -7 -6 -5 -4 -2 0 1 1 0 -0 -1 -1 -2 -2 -3 -5 -6 -7 -8 -9 -11 -13 -14 -14 -15 -14 -14 -14 -13 -12 -11 -10 -9 -9 -9 -9 -9 -9 -10 -11 -11 -12 -11 -11 -11 -12 -12 -13 -15 -16 -17 -18 -19 -18 -17 -16 -15 -14 -14 -14 -14 -13 -13 -13 -13 -13 -12 -12 -12 -12 -13 -14 -14 -15 -17 -19 -20 -21 -21 -19 -16 -13 -15 -17 -17 -13 -9 -9 -6 -2 1 0 1 1 1 1 2 2 2 1 1 -0 -1 -1 -1 -1 -1 -1 -1 -0 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -0 2 4 5 5 3 1 1 2 4 5 4 1 1 2 6 9 8 5 2 -0 0 3 5 4 2 1 1 2 2 1 -0 0 3 5 4 2 -2 -4 -3 1 3 3 1 -1 -3 -3 -1 -0 0 0 -0 -0 0 0 1 1 2 3 4 5 5 6 6 8 9 9 9 8 8 9 9 10 10 11 12 13 14 15 16 17 18 19 19 20 21 21 22 22 23 23 24 24 24 24 24 25 26 26 26 26 26 26 26 26 26 26 25 25 24 24 23 23 23 24 24 23 23 23 22 22 22 22 21 21 21 21 20 20 20 19 20 20 20 21 21 21 21 21 22 22 22 23 23 24 24 25 25 25 24 24 24 24 24 24 24 24 24 24 25 26 27 27 28 28 28 28 28 28 27 27 26 25 25 25 25 26 26 26 26 25 25 24 24 23 23 23 22 22 21 20 18 17 16 16 15 15 15 15 15 15 15 15 15 14 14 14 13 14 14 14 14 15 16 16 16 15 15 14 15 15 16 16 16 17 17 17 18 18 19 20 21 22 24 26 28 30 32 33 35 36 37 38 39 40 40 41 42 42 43 45 45 45 44 42 41 40 39 40 40 40 40 40 40 39 37 36 37 39 39 38 39 38 36 33 31 29 26 21 13 4 -4 -8 -10 -5 -3 -3 -3 -5 -6 -6 -7 -7 -7 -6 -4 -2 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -4 -5 -6 -8 -10 -11 -12 -13 -13 -13 -13 -13 -13 -12 -11 -11 -10 -10 -9 -8 -8 -8 -9 -10 -11 -11 -12 -12 -11 -11 -11 -11 -12 -13 -14 -16 -17 -18 -18 -17 -16 -15 -14 -14 -14 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -13 -15 -17 -19 -20 -20 -20 -18 -17 -15 -16 -17 -16 -14 -10 -9 -8 -3 1 1 1 1 1 1 1 1 1 1 0 -0 -0 -0 -0 -0 -0 0 0 0 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 0 2 3 4 4 3 3 4 5 6 5 2 1 2 6 9 9 6 3 1 1 4 6 6 3 1 -0 1 2 2 1 1 2 4 5 3 -1 -3 -4 -2 2 3 2 -0 -3 -4 -3 -2 -1 -0 -1 -1 -1 -1 -0 -0 0 1 2 4 4 5 6 7 8 9 9 8 8 8 9 9 10 10 11 12 12 13 14 15 16 17 18 19 20 21 22 23 23 24 25 25 25 25 25 26 27 27 27 27 27 27 27 27 27 27 27 27 26 26 25 25 25 25 25 25 25 25 24 24 23 23 22 22 22 22 21 21 21 20 20 20 20 20 21 21 22 22 22 23 23 24 24 25 25 25 25 25 24 24 24 24 23 24 24 24 24 25 25 26 27 27 28 29 29 29 29 29 29 29 28 27 26 26 26 26 27 27 27 26 26 25 25 24 24 24 24 24 24 23 22 21 20 19 18 17 17 16 16 16 16 16 16 15 15 14 14 14 14 14 14 15 15 16 16 16 15 15 14 14 15 15 16 17 17 17 18 18 18 19 20 21 22 23 24 26 28 30 32 33 35 37 38 39 39 40 40 40 41 42 43 43 44 43 42 41 40 40 39 39 40 40 41 41 42 42 43 44 44 43 41 40 38 36 34 33 32 31 30 24 15 5 -2 -8 -6 -4 -3 -2 -2 -2 -3 -4 -6 -7 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -9 -10 -11 -11 -11 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -8 -8 -8 -8 -9 -10 -11 -11 -12 -12 -12 -11 -11 -11 -11 -12 -13 -15 -16 -17 -18 -17 -16 -15 -14 -14 -13 -13 -12 -12 -12 -12 -12 -12 -12 -12 -12 -13 -15 -17 -17 -17 -17 -17 -16 -15 -15 -15 -16 -17 -17 -13 -8 -8 -4 -0 1 0 1 1 1 0 0 0 -0 -0 -1 -0 -0 0 0 0 1 1 1 1 1 0 0 0 -0 0 0 -0 -0 -0 -0 0 1 2 3 4 6 7 7 5 2 0 2 5 9 10 7 4 1 2 4 7 7 4 1 -0 -0 1 2 1 1 2 3 4 3 1 -2 -3 -3 0 3 3 1 -2 -4 -5 -3 -2 -1 -1 -2 -2 -2 -1 -1 -1 -0 1 2 3 4 5 6 8 9 9 8 7 8 8 9 9 9 10 10 11 12 13 14 15 16 16 17 18 19 21 22 23 23 24 25 25 26 26 27 28 28 28 27 27 27 27 28 28 29 29 28 28 28 27 27 27 26 26 26 26 26 26 25 25 25 24 24 23 23 23 23 22 22 21 21 21 21 21 21 22 23 23 23 24 24 25 25 26 26 26 26 25 24 24 23 23 23 23 24 24 24 25 26 26 27 28 29 29 29 30 30 31 31 31 30 28 27 27 26 27 27 27 27 27 26 26 25 25 25 25 25 25 25 25 24 23 22 21 21 20 19 18 17 17 17 16 16 16 16 15 15 15 14 14 14 15 15 16 16 16 15 15 14 14 14 15 16 17 17 18 18 18 19 19 20 21 21 23 24 25 26 28 30 31 33 35 37 38 38 39 39 39 39 40 40 41 41 41 41 40 39 39 39 39 39 40 41 42 43 45 46 47 47 46 44 42 40 38 36 35 35 35 34 31 26 18 11 6 -1 -4 -3 -2 -1 -1 -2 -3 -4 -5 -7 -7 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -8 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -10 -9 -8 -8 -8 -8 -9 -10 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -13 -15 -15 -16 -17 -16 -15 -14 -14 -13 -13 -12 -11 -11 -10 -10 -10 -10 -11 -12 -13 -15 -15 -13 -13 -14 -15 -15 -14 -14 -14 -15 -16 -16 -13 -9 -9 -7 -3 0 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 -0 -1 -1 -0 2 4 6 8 8 6 3 0 0 4 8 10 8 4 1 1 4 7 8 6 2 -0 -0 1 1 1 1 1 2 3 3 2 -0 -3 -3 -1 2 4 3 0 -3 -5 -5 -2 -0 -1 -2 -3 -2 -1 -1 -1 -1 -1 1 2 3 3 4 6 7 8 7 7 7 8 8 9 9 9 10 10 11 12 13 14 14 15 16 17 18 19 20 21 22 23 24 24 25 26 27 28 29 29 28 28 27 27 28 29 29 29 29 29 29 29 29 28 28 27 27 27 27 27 27 27 26 26 25 25 25 24 24 24 23 23 23 23 22 22 22 23 23 23 24 24 25 25 26 27 27 28 28 27 26 25 24 23 23 23 23 23 24 25 25 26 27 28 28 29 29 30 30 31 32 32 31 30 29 28 28 27 27 27 28 28 27 27 26 26 25 25 25 26 26 26 26 25 24 24 23 23 22 21 20 19 18 17 17 17 17 16 16 16 16 15 15 15 15 15 16 16 16 15 15 14 14 14 15 16 17 18 18 19 19 19 20 20 21 22 22 23 24 25 26 28 29 31 33 35 36 36 37 37 37 38 38 38 38 38 39 39 38 38 37 37 37 38 39 40 42 43 45 47 48 48 47 45 43 42 40 39 38 38 39 39 39 36 31 26 22 3 -2 -4 -4 -3 -2 -2 -2 -3 -4 -6 -7 -8 -9 -9 -10 -10 -9 -9 -9 -8 -8 -8 -8 -7 -7 -8 -9 -9 -9 -9 -8 -8 -8 -9 -9 -9 -10 -10 -10 -10 -10 -9 -9 -8 -8 -9 -9 -10 -10 -11 -12 -12 -13 -13 -13 -13 -13 -14 -14 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -12 -12 -11 -10 -9 -8 -8 -8 -10 -12 -13 -13 -11 -12 -13 -15 -15 -14 -14 -15 -15 -16 -16 -14 -10 -11 -11 -7 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -0 0 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 0 -1 -2 -2 -1 2 5 8 8 6 3 0 -1 2 7 9 9 5 1 0 3 6 8 7 3 1 -0 0 1 1 1 0 1 2 3 2 1 -1 -2 -2 1 4 4 2 -1 -4 -5 -3 0 1 -0 -2 -3 -1 -1 -1 -1 -1 -0 1 2 2 3 4 6 7 6 6 6 7 8 8 8 8 9 9 10 11 12 13 13 14 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 29 28 28 28 29 29 30 30 30 30 30 30 30 30 29 29 29 28 28 28 28 28 27 27 27 26 26 26 25 25 25 25 24 24 24 24 24 24 24 24 25 25 25 25 26 26 27 28 29 29 28 27 26 25 24 24 24 24 24 24 25 26 26 27 28 29 29 29 30 31 32 32 32 32 31 30 30 29 28 28 28 28 28 28 27 27 26 26 26 26 26 27 27 26 26 25 25 25 24 24 23 22 21 19 18 18 17 17 17 17 17 17 16 16 16 16 16 16 16 16 16 15 14 14 14 15 15 16 17 18 18 19 19 20 20 21 22 23 23 24 25 25 26 28 29 31 33 34 35 35 36 36 36 36 36 36 36 36 36 37 36 36 36 36 37 38 39 40 42 43 44 45 46 45 44 43 42 41 41 41 41 42 44 45 44 42 38 35 3 -2 -5 -5 -5 -5 -4 -4 -4 -5 -6 -7 -8 -9 -10 -11 -11 -11 -11 -10 -10 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -9 -9 -9 -10 -10 -11 -11 -12 -13 -13 -14 -15 -15 -16 -16 -15 -15 -15 -15 -15 -14 -14 -13 -13 -13 -12 -12 -12 -11 -10 -9 -8 -8 -8 -8 -9 -10 -10 -12 -12 -13 -13 -14 -15 -15 -15 -15 -15 -16 -13 -11 -10 -7 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 0 1 1 1 0 -0 -0 0 1 1 1 2 2 2 2 1 -1 -3 -3 -2 -0 3 6 8 7 3 0 -1 0 5 8 8 6 2 -0 1 5 7 7 5 2 0 1 2 2 1 0 0 1 2 2 2 0 -1 -2 -0 3 4 4 1 -2 -4 -4 0 2 2 -0 -2 -2 -1 -0 -1 -1 -0 1 2 2 2 3 5 6 6 5 5 6 7 7 7 7 8 8 9 9 10 11 12 13 13 14 14 15 17 17 18 19 20 21 22 23 24 25 27 28 28 29 29 29 30 31 31 31 31 31 31 32 32 31 31 31 30 30 29 29 29 29 28 28 28 27 27 27 27 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 28 29 29 29 29 28 27 26 25 25 25 25 25 25 26 26 27 28 28 29 29 30 30 31 32 33 33 33 32 32 31 30 30 29 29 28 28 28 27 27 26 26 26 27 27 27 27 27 26 26 26 26 25 25 24 23 22 21 19 18 18 17 17 18 18 18 18 17 17 16 16 16 16 16 16 16 15 14 14 14 15 15 16 17 18 18 19 20 20 21 22 23 23 24 24 25 26 27 28 29 31 32 33 34 35 35 35 34 34 33 33 34 35 35 36 36 36 36 36 37 38 38 39 40 41 42 42 42 42 41 40 40 41 42 43 45 46 48 49 48 46 43 -3 -5 -6 -7 -7 -7 -6 -6 -6 -7 -7 -7 -8 -9 -10 -11 -11 -12 -12 -12 -11 -10 -9 -9 -8 -8 -8 -9 -9 -9 -10 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -9 -9 -9 -10 -10 -10 -11 -12 -13 -14 -16 -17 -17 -17 -16 -15 -15 -15 -15 -14 -13 -13 -13 -13 -12 -13 -14 -14 -12 -11 -10 -9 -8 -8 -8 -8 -8 -9 -9 -10 -11 -13 -15 -16 -16 -15 -16 -17 -15 -12 -10 -8 -4 -2 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 0 0 0 -0 -1 -1 -1 -0 0 1 2 2 2 2 1 -0 -2 -3 -3 -2 1 4 6 6 3 1 -1 -1 2 6 7 5 3 1 1 4 6 7 5 3 1 1 2 2 1 1 0 1 2 2 2 1 -0 -1 -0 2 4 5 3 -0 -3 -3 -1 3 3 1 -1 -2 -1 0 -0 -1 -1 0 2 2 2 3 4 6 6 6 6 6 7 7 7 7 7 8 8 9 9 10 11 12 12 12 13 14 15 16 17 17 18 19 20 21 22 23 25 26 27 28 28 29 30 31 32 32 32 32 33 33 33 33 33 33 32 32 31 31 31 30 30 29 29 28 28 28 28 27 27 27 27 27 27 28 28 28 28 28 29 28 28 28 28 28 28 29 29 30 30 30 30 29 28 27 27 26 26 26 26 27 27 27 28 28 29 29 30 30 31 32 32 33 33 33 33 33 32 32 31 30 29 29 29 28 28 27 27 27 27 27 28 28 28 27 27 27 27 27 26 26 25 25 24 22 21 19 18 18 18 18 18 18 19 18 18 17 17 17 17 17 16 16 15 15 14 14 14 15 15 16 17 17 18 19 20 21 22 23 23 24 24 25 25 26 27 28 29 31 33 34 35 35 35 34 33 32 31 32 33 34 35 36 36 36 36 36 36 37 37 37 37 38 38 38 38 38 38 39 40 42 44 46 48 49 51 51 50 47 -10 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -11 -12 -12 -13 -13 -12 -12 -11 -10 -10 -9 -9 -9 -9 -10 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -10 -10 -11 -12 -14 -16 -18 -18 -18 -17 -16 -15 -15 -14 -14 -13 -13 -13 -13 -13 -13 -14 -14 -13 -11 -11 -10 -10 -9 -9 -8 -8 -7 -8 -9 -10 -12 -15 -17 -17 -17 -17 -18 -16 -12 -11 -10 -7 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -0 -0 -1 -2 -2 -2 -2 -1 1 1 2 2 2 1 0 -1 -3 -4 -3 -1 1 4 4 3 0 -1 -1 1 3 4 4 2 1 1 3 5 5 5 3 2 1 2 2 1 1 1 1 2 2 3 2 1 0 0 2 4 5 4 1 -2 -3 -1 2 4 3 -0 -2 -2 0 0 -1 -1 0 1 2 2 2 4 5 6 6 6 6 7 7 7 7 8 8 8 9 9 10 10 11 11 11 12 13 14 14 15 16 17 17 18 19 20 21 23 24 25 26 27 29 30 31 32 32 33 33 34 34 35 35 35 35 35 34 34 33 33 32 32 31 30 30 29 29 29 29 29 29 29 29 29 29 29 30 30 30 30 30 30 30 30 30 30 30 30 31 31 31 31 31 30 29 29 28 27 27 27 27 28 28 29 29 29 29 30 30 31 32 32 32 33 33 34 34 34 34 33 32 31 30 30 29 29 28 28 27 27 28 28 28 28 28 28 27 27 27 27 27 27 26 26 25 24 23 21 20 18 18 18 18 19 19 19 19 18 18 17 17 17 17 16 16 15 14 14 14 14 14 15 16 17 18 19 20 21 22 23 24 24 24 25 25 26 26 27 28 30 32 33 34 35 34 33 32 31 31 31 32 33 35 36 36 36 35 35 35 35 35 34 34 34 34 34 34 35 35 37 38 41 43 45 47 49 50 51 51 48 -17 -14 -12 -10 -10 -10 -10 -10 -10 -10 -9 -8 -8 -8 -9 -10 -10 -12 -13 -13 -14 -14 -14 -14 -13 -12 -11 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -6 -6 -6 -7 -7 -8 -8 -8 -8 -9 -9 -9 -10 -11 -12 -14 -16 -18 -19 -19 -18 -17 -16 -16 -15 -14 -13 -13 -13 -13 -13 -13 -14 -14 -13 -11 -11 -11 -10 -10 -10 -9 -9 -8 -8 -10 -11 -13 -15 -17 -18 -19 -19 -18 -16 -12 -11 -11 -10 -5 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -1 -1 -2 -2 -3 -3 -2 -0 1 2 2 2 2 1 -0 -2 -3 -4 -3 -1 1 2 2 0 -1 -1 -0 1 2 2 1 1 1 2 3 4 3 2 1 1 1 1 1 1 0 0 1 2 3 3 3 2 1 2 3 5 5 3 -0 -2 -1 1 4 4 1 -2 -2 -0 1 0 -1 -0 1 2 2 2 3 5 6 6 6 6 7 7 8 8 8 9 9 9 9 10 10 11 11 11 11 12 13 14 14 15 16 16 17 18 19 20 21 22 23 24 26 27 29 30 31 32 32 33 34 35 36 36 37 37 37 37 36 36 36 35 34 34 33 32 31 31 30 30 30 30 30 30 31 31 31 31 32 32 32 32 32 32 32 32 32 32 32 33 33 33 33 32 31 31 30 30 29 28 28 28 28 29 29 30 30 30 31 31 32 32 32 32 32 32 33 34 35 35 35 34 33 32 31 31 30 30 29 29 28 28 28 29 29 29 28 28 28 28 28 28 28 27 27 27 26 25 24 23 21 20 19 18 19 19 20 20 20 19 19 18 18 18 17 17 16 15 15 14 14 14 14 15 15 16 17 18 20 21 22 23 24 24 24 25 25 26 26 27 28 29 30 32 33 34 34 33 32 32 31 31 32 33 34 35 35 35 35 34 34 34 33 32 32 31 31 31 31 32 33 34 36 39 41 43 45 46 48 49 49 47 -17 -16 -15 -13 -11 -11 -11 -11 -12 -11 -11 -10 -9 -9 -9 -9 -10 -11 -12 -13 -14 -14 -15 -14 -14 -14 -13 -12 -11 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -7 -6 -6 -6 -6 -7 -7 -8 -8 -8 -9 -9 -10 -11 -12 -14 -16 -17 -19 -20 -20 -19 -18 -17 -15 -14 -14 -14 -13 -13 -13 -13 -13 -13 -12 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -11 -12 -13 -14 -16 -17 -18 -19 -19 -17 -14 -11 -10 -11 -8 -5 -4 -5 -4 -4 -4 -4 -4 -3 -2 -1 -1 -2 -3 -3 -3 -1 -0 1 2 2 1 1 0 -1 -2 -3 -4 -3 -2 -0 1 -0 -1 -2 -1 -0 0 0 -0 -0 0 1 1 2 1 0 -0 -0 -1 -0 -0 -0 -0 -0 0 1 3 3 4 3 3 2 3 4 5 4 1 -1 -1 1 3 4 2 -2 -2 -1 1 1 0 0 1 2 2 2 3 4 5 6 6 6 7 7 8 8 9 9 10 10 10 10 11 11 12 12 12 12 13 13 14 15 15 16 17 17 18 19 20 21 22 23 24 26 27 28 30 31 32 33 34 35 36 37 38 38 38 38 38 38 38 38 37 36 36 35 34 33 32 32 31 31 32 32 32 33 33 33 33 34 34 34 34 34 33 33 33 33 34 35 35 35 35 34 33 33 32 31 31 30 30 29 29 29 29 30 30 31 31 32 33 33 33 33 33 33 33 34 35 36 36 36 35 34 33 32 32 31 31 30 30 29 29 29 29 29 29 29 29 29 29 29 28 28 28 28 28 27 27 26 25 24 22 21 20 19 19 20 21 21 21 20 19 19 18 18 18 17 16 15 14 14 14 14 14 15 15 16 18 19 20 22 23 24 24 25 25 25 26 27 27 28 28 29 30 31 32 33 33 33 32 32 31 32 32 33 34 35 35 35 34 33 33 32 32 31 30 30 29 29 30 31 32 34 36 38 40 41 43 44 45 45 45 -15 -16 -16 -15 -13 -12 -11 -11 -12 -12 -12 -12 -11 -11 -11 -10 -10 -10 -11 -13 -14 -14 -14 -14 -14 -14 -13 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -8 -7 -6 -6 -6 -6 -6 -7 -7 -8 -8 -9 -10 -11 -13 -14 -16 -17 -19 -20 -21 -21 -20 -19 -17 -16 -15 -14 -14 -14 -13 -13 -13 -13 -12 -12 -12 -12 -11 -11 -11 -12 -12 -12 -12 -13 -13 -14 -14 -15 -16 -17 -18 -18 -19 -18 -14 -12 -14 -14 -7 -5 -5 -5 -5 -5 -5 -5 -4 -2 -1 -2 -2 -3 -3 -2 -1 0 1 2 1 1 0 -0 -1 -2 -3 -4 -3 -2 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 -0 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 0 2 3 4 4 4 3 3 4 4 4 2 0 -1 1 3 4 3 -1 -2 -1 2 3 1 1 2 3 3 3 3 4 5 6 7 7 7 8 8 9 9 10 10 11 11 11 12 12 12 12 12 12 13 14 14 15 15 16 16 17 18 19 19 20 21 22 23 25 26 27 28 29 30 31 33 34 35 36 38 38 39 40 40 40 40 39 39 39 38 37 36 36 35 34 34 33 33 33 34 34 35 35 35 35 36 36 36 35 35 35 34 35 35 36 37 37 37 36 35 34 34 33 33 32 32 31 31 30 30 30 31 31 31 32 33 34 34 35 35 34 34 34 34 35 36 36 35 35 34 34 33 33 32 32 31 31 30 30 30 30 30 30 30 30 30 30 29 29 29 29 29 29 28 28 27 27 26 24 23 21 20 20 21 21 22 22 21 21 20 19 19 18 17 16 16 15 14 14 14 14 15 15 16 17 18 19 21 22 23 24 24 25 25 26 27 27 28 28 29 29 30 31 31 32 33 33 33 32 32 32 33 33 34 34 34 34 33 33 32 31 31 30 29 29 29 29 30 31 32 34 35 36 38 39 40 41 42 42 -12 -13 -15 -15 -15 -14 -13 -12 -11 -12 -12 -12 -12 -13 -12 -12 -11 -10 -10 -11 -12 -13 -13 -14 -13 -13 -13 -12 -11 -11 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -8 -7 -7 -6 -6 -6 -6 -6 -7 -8 -9 -10 -12 -13 -14 -16 -17 -19 -21 -22 -23 -22 -21 -19 -18 -16 -15 -14 -14 -14 -13 -13 -13 -13 -13 -13 -14 -13 -13 -13 -14 -14 -13 -13 -15 -16 -17 -17 -17 -18 -19 -20 -17 -18 -18 -14 -12 -14 -17 -9 -6 -6 -6 -6 -6 -6 -5 -4 -2 -2 -2 -2 -3 -3 -2 -0 1 1 1 1 1 0 -0 -1 -2 -2 -3 -3 -2 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 0 1 3 4 4 4 4 4 4 4 3 2 1 1 2 4 3 1 -1 -0 2 3 3 2 3 4 4 4 4 4 5 6 7 8 8 8 9 10 10 11 11 11 12 12 13 13 13 13 13 13 14 14 15 15 15 16 16 17 17 18 19 20 21 22 22 24 25 26 27 28 29 30 32 33 34 36 37 38 39 40 40 40 40 40 40 40 39 39 38 38 37 37 36 36 35 35 35 36 36 36 37 37 37 37 37 37 36 36 36 36 36 37 38 38 39 38 38 37 36 35 35 34 34 33 33 32 32 32 32 31 32 32 33 34 35 36 36 36 36 36 36 36 35 35 35 35 35 34 34 34 34 33 33 33 32 31 31 31 30 30 30 30 31 31 31 30 30 30 30 30 30 29 29 29 28 27 26 25 24 22 21 21 22 22 23 23 22 21 20 20 19 18 17 16 15 15 14 14 14 15 15 16 16 17 19 20 21 23 24 24 25 25 26 27 27 28 28 29 29 29 30 31 32 33 33 34 33 33 33 33 33 34 34 34 34 33 33 32 32 31 30 30 29 29 29 29 30 31 32 33 34 35 36 37 38 39 39 -10 -11 -13 -14 -15 -15 -14 -13 -12 -12 -12 -12 -12 -13 -13 -13 -12 -11 -11 -11 -11 -11 -12 -12 -13 -13 -12 -12 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -7 -7 -6 -6 -5 -6 -6 -7 -9 -10 -12 -13 -15 -16 -18 -19 -21 -22 -23 -24 -23 -22 -21 -19 -18 -16 -16 -15 -14 -13 -13 -13 -14 -14 -14 -15 -15 -15 -15 -16 -16 -16 -17 -18 -18 -19 -20 -23 -24 -24 -20 -18 -19 -18 -17 -15 -19 -13 -9 -7 -7 -7 -7 -6 -5 -4 -2 -2 -2 -2 -3 -2 -1 -0 1 1 1 1 0 -0 -1 -1 -1 -2 -2 -2 -1 -2 -2 -2 -2 -2 -1 -1 -1 -0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 1 3 4 5 5 4 4 3 3 3 2 2 3 4 4 2 0 1 2 4 4 4 4 5 5 5 5 5 6 7 8 9 9 9 10 11 11 12 12 12 13 13 13 14 15 15 15 15 15 15 15 16 16 16 16 16 17 18 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 35 36 37 38 39 39 40 40 40 40 40 40 39 39 39 39 38 38 38 37 37 37 37 37 37 38 38 38 38 38 38 37 37 37 37 37 37 38 39 39 40 39 38 38 37 37 36 36 35 35 35 35 34 34 33 33 33 33 34 35 36 36 37 38 38 38 37 37 36 35 35 35 34 34 34 35 34 34 34 34 33 33 32 32 31 31 31 31 31 32 31 31 31 31 31 31 31 31 30 30 29 29 28 27 26 24 23 23 23 23 23 24 23 23 22 21 20 19 18 17 16 15 15 15 14 15 15 15 16 17 18 19 21 22 23 24 25 26 26 27 27 28 28 29 29 29 29 30 31 33 34 34 34 33 33 33 33 33 33 33 34 33 33 32 32 31 31 30 29 29 29 29 29 30 31 31 32 33 34 36 36 37 38 -10 -10 -11 -12 -14 -14 -14 -13 -12 -12 -12 -12 -12 -13 -13 -14 -13 -12 -11 -11 -10 -10 -11 -11 -12 -12 -12 -12 -11 -10 -9 -9 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -10 -11 -13 -14 -16 -17 -19 -21 -23 -24 -25 -25 -25 -24 -24 -23 -22 -21 -18 -15 -13 -12 -13 -14 -14 -14 -15 -16 -16 -16 -17 -18 -18 -19 -20 -20 -21 -23 -26 -28 -28 -23 -19 -19 -20 -20 -16 -17 -15 -11 -9 -8 -8 -7 -7 -6 -4 -3 -2 -2 -2 -2 -2 -1 0 1 1 1 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -0 1 1 1 0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 1 2 4 5 5 4 3 3 3 4 4 4 5 4 3 2 2 3 5 5 5 5 6 7 7 7 7 7 8 9 10 10 11 11 12 13 13 14 14 14 14 14 15 16 16 16 16 16 16 16 17 17 17 17 17 17 18 18 19 20 20 21 22 23 24 25 26 27 28 29 31 32 33 34 36 37 37 38 39 39 39 39 39 39 39 39 39 39 39 39 39 39 38 38 38 38 38 38 39 39 39 38 38 38 38 38 37 38 38 39 39 40 40 40 40 39 39 38 38 38 37 37 37 37 36 36 36 35 35 35 35 35 36 36 37 38 39 39 39 38 37 36 36 35 35 35 35 35 35 35 35 35 35 35 34 34 33 33 32 32 32 32 32 32 32 32 32 32 33 33 32 32 31 30 30 29 28 27 26 25 24 24 24 24 24 24 24 23 22 21 20 19 18 17 16 16 15 15 15 15 16 16 17 17 19 20 21 23 24 25 26 26 27 28 28 29 29 29 29 29 30 31 33 34 34 34 34 33 33 32 32 32 33 33 33 33 33 32 32 31 31 30 30 29 29 29 29 30 31 31 32 33 35 36 37 37 -11 -11 -11 -12 -12 -13 -13 -13 -13 -12 -12 -12 -12 -13 -13 -13 -13 -12 -12 -12 -11 -11 -10 -10 -11 -11 -12 -12 -11 -11 -10 -9 -9 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -8 -10 -11 -12 -14 -15 -17 -18 -20 -22 -24 -26 -27 -28 -28 -29 -30 -29 -26 -22 -18 -16 -14 -14 -14 -14 -14 -14 -16 -17 -18 -18 -19 -19 -20 -22 -22 -23 -24 -28 -31 -32 -27 -22 -22 -25 -26 -22 -18 -17 -15 -12 -9 -9 -8 -7 -6 -4 -3 -2 -2 -2 -2 -2 -1 -0 0 0 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 -0 1 1 2 2 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 2 4 5 5 4 4 4 4 5 6 6 6 5 4 3 4 6 6 7 7 8 8 8 8 8 9 9 10 11 11 12 12 13 13 14 15 15 16 16 16 16 17 17 18 18 17 17 18 18 18 18 17 17 18 18 18 19 20 20 21 22 23 24 25 26 27 27 28 29 31 32 33 34 35 36 36 37 37 37 37 37 37 37 37 38 38 38 38 39 39 39 39 39 39 39 39 39 39 39 39 39 38 38 38 38 38 38 39 40 40 40 41 41 40 40 40 40 40 39 39 39 39 38 38 38 37 37 37 37 37 37 37 38 38 38 39 40 40 39 38 37 36 36 36 36 36 35 35 36 36 36 36 36 36 35 34 34 33 33 33 33 33 33 33 33 33 34 34 34 34 33 32 32 31 31 30 29 28 26 25 25 24 24 24 24 24 24 23 22 21 20 19 18 17 16 16 15 15 16 16 16 17 17 18 19 21 22 23 24 25 26 27 28 29 29 29 29 29 30 30 31 32 33 34 34 34 33 32 32 32 32 32 33 33 33 33 32 32 31 31 31 30 30 30 29 29 30 30 31 32 33 34 35 36 37 -12 -12 -12 -12 -12 -13 -13 -13 -13 -12 -13 -13 -13 -13 -13 -13 -13 -12 -12 -11 -11 -11 -11 -10 -11 -11 -11 -12 -12 -11 -10 -10 -9 -8 -8 -7 -7 -7 -7 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -8 -10 -11 -12 -13 -14 -16 -17 -19 -21 -24 -26 -28 -30 -31 -32 -33 -33 -30 -26 -22 -20 -18 -18 -17 -17 -16 -16 -17 -18 -19 -19 -20 -20 -21 -23 -24 -24 -26 -30 -33 -34 -29 -26 -27 -29 -32 -30 -25 -22 -19 -15 -10 -8 -8 -7 -6 -5 -4 -3 -3 -3 -3 -2 -2 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 2 2 2 2 2 2 1 1 1 0 0 0 0 0 -0 -1 -1 -1 -1 -1 0 1 3 4 5 6 5 5 5 5 6 7 7 7 6 5 6 7 8 8 8 9 10 10 9 9 10 10 11 12 12 13 13 14 14 15 16 16 17 17 17 17 18 18 19 19 19 19 19 19 19 19 18 18 18 19 19 20 20 21 22 23 23 24 25 26 27 27 28 29 30 31 32 32 33 34 34 35 35 35 36 36 36 36 36 36 36 37 37 38 38 38 38 39 39 39 39 39 39 39 39 39 38 38 38 38 38 38 39 40 40 41 41 41 41 41 41 41 41 41 41 40 40 40 40 40 39 39 38 38 38 38 39 39 39 39 39 39 40 40 39 38 38 37 37 37 37 36 36 36 36 37 37 38 38 37 37 36 35 34 34 33 33 34 34 34 34 35 35 35 35 35 34 34 33 33 32 31 30 29 28 27 26 25 25 24 24 25 24 24 23 22 21 20 19 18 17 17 16 16 16 16 16 17 17 18 19 20 21 23 24 25 26 27 29 29 30 30 30 30 30 30 31 32 33 33 33 33 33 32 32 32 32 32 32 32 33 33 32 32 32 31 31 31 31 30 30 30 30 30 30 31 32 33 34 36 37 -13 -14 -14 -13 -13 -13 -12 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -12 -12 -11 -11 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -10 -9 -9 -8 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -6 -6 -6 -7 -7 -8 -9 -11 -12 -13 -14 -15 -16 -18 -20 -22 -25 -28 -31 -33 -33 -34 -33 -31 -28 -25 -24 -23 -22 -22 -21 -21 -20 -20 -20 -21 -21 -21 -21 -22 -23 -25 -25 -28 -32 -35 -34 -31 -30 -29 -32 -34 -35 -32 -27 -22 -18 -13 -9 -8 -7 -7 -6 -5 -4 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 1 1 2 2 2 2 3 3 3 2 2 2 1 1 1 1 1 1 -0 -0 -0 -0 0 1 2 4 5 7 8 7 7 6 6 7 8 8 8 8 8 8 9 9 10 11 11 11 11 10 10 11 12 12 13 14 14 14 15 15 16 17 17 18 18 18 19 19 20 20 20 20 20 20 20 20 20 19 19 20 20 21 21 22 22 23 24 24 25 26 27 27 28 29 29 30 31 31 32 32 33 33 33 34 34 34 34 34 34 35 35 35 36 36 37 37 37 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 39 39 40 40 41 41 41 41 41 42 42 42 42 42 42 42 42 42 41 41 40 39 39 40 40 40 40 40 39 39 39 39 39 39 39 38 38 38 38 38 37 37 37 37 38 38 39 39 39 38 37 36 35 35 34 34 34 35 35 35 36 36 36 36 36 35 35 34 34 33 33 32 31 29 28 27 26 25 25 25 25 25 25 24 23 22 21 20 19 18 18 17 17 17 17 17 17 18 18 19 20 21 22 23 25 26 27 28 30 30 31 30 30 30 30 31 31 32 32 33 33 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 31 31 30 30 30 31 31 32 33 33 34 35 -13 -14 -15 -15 -14 -14 -13 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -9 -9 -10 -10 -11 -11 -11 -11 -11 -10 -9 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -6 -6 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -17 -19 -21 -23 -26 -29 -32 -32 -32 -32 -31 -29 -29 -28 -28 -27 -27 -27 -26 -24 -24 -24 -24 -23 -23 -23 -23 -24 -25 -27 -31 -35 -36 -35 -34 -32 -30 -31 -33 -35 -34 -30 -26 -21 -16 -11 -8 -7 -7 -6 -5 -5 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -2 -1 -0 0 1 2 2 3 3 3 3 4 4 4 3 3 2 2 2 2 2 1 1 1 1 1 1 2 3 5 7 9 9 9 7 6 6 7 9 9 10 9 9 10 10 11 13 13 12 12 11 11 11 12 13 13 14 14 15 15 15 16 16 17 17 18 19 19 20 21 21 21 20 20 20 21 21 20 20 20 21 21 22 22 22 23 24 24 24 25 26 26 27 27 28 29 29 30 31 31 31 32 32 32 32 33 33 33 33 33 33 33 34 34 35 35 36 36 37 37 37 37 38 38 38 38 38 38 38 38 38 38 38 38 39 39 40 40 41 41 41 42 42 42 42 42 42 43 43 43 43 43 42 42 41 40 40 41 42 42 41 40 40 39 39 39 39 39 39 39 40 39 39 38 38 37 37 37 38 39 40 40 40 40 39 38 37 36 35 35 35 35 36 36 36 37 37 37 36 36 36 36 35 35 34 33 32 31 29 28 27 26 25 25 25 25 25 25 24 23 22 21 20 19 19 18 18 17 17 17 18 18 19 19 20 20 22 23 24 25 27 28 29 30 31 31 30 30 30 31 31 31 31 32 32 32 32 32 32 32 32 32 32 32 32 32 33 33 33 33 33 33 32 32 31 31 31 31 31 31 32 33 33 34 -12 -14 -15 -16 -16 -16 -14 -13 -12 -12 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -10 -10 -9 -9 -9 -9 -10 -11 -11 -11 -10 -9 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -6 -6 -7 -7 -8 -9 -11 -12 -12 -13 -14 -16 -18 -20 -22 -25 -27 -29 -30 -30 -30 -30 -31 -31 -31 -31 -31 -31 -32 -30 -28 -28 -28 -28 -27 -27 -26 -25 -25 -26 -29 -33 -36 -36 -35 -34 -33 -31 -30 -30 -31 -32 -30 -25 -19 -15 -13 -8 -7 -7 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 0 1 2 3 3 3 4 4 5 5 5 4 4 3 3 3 2 2 2 2 2 2 2 2 3 5 6 8 10 10 9 7 7 7 9 10 11 11 10 10 11 12 14 14 14 12 11 11 12 12 13 13 14 14 14 15 15 16 16 17 17 17 18 19 20 21 21 21 21 21 21 21 21 21 21 21 21 22 22 23 23 23 24 24 24 25 25 26 26 26 27 28 29 29 30 30 31 31 31 31 32 32 32 32 32 32 32 32 32 33 33 34 35 35 36 36 36 37 37 37 37 37 38 38 38 38 38 38 38 38 39 39 39 39 40 40 41 42 42 42 42 42 43 43 43 44 44 44 44 43 42 41 41 42 42 43 42 41 40 40 39 38 38 39 39 40 40 40 40 39 38 38 37 37 38 39 40 41 41 41 41 41 40 38 37 37 36 36 36 37 37 37 37 37 37 37 37 37 36 36 36 35 34 33 32 30 29 28 27 26 25 25 25 25 25 25 24 23 22 21 20 20 19 19 18 18 18 19 19 19 20 20 20 21 22 23 24 26 27 29 30 30 30 30 31 31 31 31 30 31 31 32 32 32 32 32 32 32 32 32 32 32 33 33 33 33 33 33 33 33 33 32 32 31 31 31 31 31 32 32 33 -11 -13 -14 -16 -17 -17 -15 -14 -12 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -9 -9 -9 -9 -10 -11 -11 -10 -9 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -6 -6 -6 -7 -7 -8 -9 -10 -11 -12 -13 -14 -15 -17 -20 -22 -23 -25 -26 -26 -27 -28 -30 -31 -32 -33 -33 -34 -35 -36 -35 -34 -33 -32 -31 -31 -31 -30 -29 -28 -27 -29 -33 -36 -35 -33 -32 -32 -31 -29 -28 -27 -28 -31 -28 -23 -16 -10 -8 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 0 1 2 3 3 4 4 5 6 6 6 5 5 4 3 3 3 3 3 3 3 3 3 4 4 6 8 9 11 11 9 8 8 8 10 11 11 11 10 11 12 15 16 15 14 12 11 12 12 13 14 14 14 14 15 15 16 16 16 16 16 17 18 20 21 21 21 21 21 22 22 22 22 22 22 22 23 23 24 24 24 24 24 24 24 25 25 25 26 26 27 27 28 29 29 30 30 30 31 31 31 31 31 31 31 31 31 31 32 32 33 33 34 35 35 36 36 37 37 37 37 37 37 38 38 38 38 39 39 39 39 39 39 39 40 40 41 41 42 42 42 43 43 44 44 44 44 44 44 43 43 42 43 43 44 43 43 42 41 40 39 38 38 39 40 40 41 41 40 39 38 38 37 38 39 39 40 41 42 42 42 42 41 40 39 38 38 38 37 37 38 38 38 38 38 38 38 37 37 37 37 36 35 34 33 32 30 29 28 27 26 26 25 25 25 25 24 24 23 22 21 21 20 20 19 19 19 20 20 20 20 21 21 21 22 22 24 25 27 28 29 30 30 30 30 31 31 30 30 30 31 31 32 32 33 32 32 32 32 32 32 33 33 34 34 34 34 34 33 33 33 33 32 32 31 31 31 31 31 31 32 -11 -12 -13 -15 -16 -16 -15 -14 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -8 -8 -9 -10 -11 -10 -10 -9 -9 -8 -7 -7 -6 -6 -6 -5 -6 -6 -5 -5 -6 -6 -6 -7 -7 -8 -9 -9 -10 -11 -12 -13 -14 -16 -19 -21 -22 -23 -23 -23 -24 -26 -28 -29 -31 -34 -36 -38 -39 -40 -40 -39 -37 -35 -34 -33 -33 -33 -33 -33 -32 -32 -33 -34 -33 -31 -27 -26 -25 -24 -23 -24 -28 -31 -28 -24 -22 -20 -17 -11 -7 -6 -6 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -0 1 2 3 3 4 5 6 6 7 7 6 5 4 4 3 3 3 4 4 5 5 5 5 6 7 9 10 11 11 10 9 9 10 12 12 11 11 10 12 15 17 17 15 13 11 11 13 14 14 15 15 15 15 15 16 16 16 16 15 16 17 19 21 22 21 21 21 22 23 23 23 23 22 23 23 24 24 24 24 24 24 24 24 24 24 25 25 26 26 27 27 28 29 29 29 30 30 30 30 31 31 31 31 31 30 30 31 31 31 32 33 33 34 35 35 36 36 36 37 37 37 37 38 38 38 39 39 39 39 39 39 39 39 40 40 41 41 42 42 42 43 43 44 44 45 45 44 44 43 43 43 44 44 44 44 43 42 41 40 39 39 39 39 40 40 40 40 40 39 38 38 38 39 39 40 41 42 43 43 44 43 43 42 41 40 39 39 38 38 38 39 39 39 39 39 38 38 38 38 37 37 36 35 34 33 32 31 30 29 28 27 26 26 26 26 25 25 24 23 23 22 22 21 21 21 21 21 21 22 22 22 22 22 22 22 23 24 26 27 28 29 29 29 30 30 30 30 29 30 30 31 32 33 33 32 32 32 32 32 32 33 33 34 34 34 34 34 33 33 33 32 32 32 32 32 32 31 31 31 31 -11 -12 -13 -14 -15 -15 -15 -14 -14 -13 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -9 -9 -8 -9 -9 -10 -11 -10 -10 -10 -9 -8 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -8 -9 -9 -10 -10 -11 -12 -13 -15 -17 -20 -21 -22 -21 -22 -24 -26 -27 -29 -31 -34 -38 -41 -42 -43 -44 -44 -42 -40 -37 -36 -35 -35 -35 -35 -36 -34 -31 -29 -29 -29 -27 -24 -22 -21 -21 -23 -29 -30 -25 -19 -18 -19 -21 -17 -10 -6 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 1 2 3 3 4 5 6 6 6 6 6 5 4 3 3 3 4 5 5 6 6 6 7 8 9 11 11 11 10 10 11 12 13 13 12 11 12 14 16 18 17 15 13 12 12 14 15 16 16 16 16 16 16 16 16 15 15 15 16 18 21 22 22 21 21 22 23 24 24 24 23 23 23 24 24 24 24 24 24 24 24 24 24 25 25 26 26 26 27 27 28 28 29 29 29 29 30 30 30 30 30 30 30 30 30 30 30 31 31 32 33 33 34 35 35 35 36 36 36 36 37 37 37 38 38 38 39 39 39 39 39 40 40 40 41 41 41 42 42 43 43 44 44 44 44 44 43 43 44 44 45 45 45 44 44 43 42 41 40 40 39 39 40 40 40 39 39 38 38 38 39 40 40 41 42 42 43 44 45 45 44 44 43 42 41 40 40 39 39 40 40 40 40 40 39 39 39 38 38 37 37 36 35 34 33 32 31 30 29 28 27 26 27 27 27 26 25 25 24 24 23 23 22 22 22 22 23 23 23 23 23 23 22 23 23 24 25 27 28 28 29 29 29 29 28 28 29 29 30 31 32 32 33 32 32 32 32 32 32 33 33 34 34 34 34 33 33 33 32 32 32 32 32 32 32 32 32 31 31 -12 -12 -13 -14 -14 -15 -14 -14 -14 -15 -14 -12 -11 -10 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -9 -8 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -6 -7 -8 -8 -9 -9 -10 -11 -12 -13 -15 -17 -19 -20 -21 -21 -22 -24 -25 -27 -29 -32 -36 -40 -43 -44 -45 -45 -46 -45 -43 -41 -39 -38 -37 -36 -36 -36 -34 -33 -32 -32 -31 -30 -29 -27 -24 -23 -25 -29 -30 -27 -21 -18 -19 -21 -18 -11 -6 -4 -5 -4 -4 -3 -3 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 1 1 2 3 4 4 5 6 6 6 5 4 3 3 3 4 5 6 7 7 8 9 9 10 11 12 12 12 12 12 13 13 13 12 12 13 15 17 17 16 14 13 12 14 16 16 17 16 16 17 17 16 16 15 14 14 15 17 20 22 22 21 21 22 23 25 26 25 23 23 23 24 24 24 23 23 23 23 23 23 24 24 25 25 26 26 27 27 27 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 30 30 30 31 32 32 33 34 34 34 35 35 35 36 36 36 37 37 37 38 38 38 38 39 39 40 40 41 41 41 42 42 42 42 43 43 44 43 43 43 43 44 45 45 46 46 45 45 45 44 44 43 42 41 40 40 39 39 39 38 38 38 39 39 40 41 41 42 43 43 44 45 45 46 46 45 45 44 43 42 41 40 40 40 41 41 41 40 40 40 39 39 38 38 37 36 35 34 34 33 33 32 30 29 28 27 27 28 28 27 27 26 26 26 25 25 24 24 24 24 24 25 25 25 25 25 25 24 24 24 25 26 27 27 28 28 27 27 27 27 27 28 29 30 31 32 32 32 32 32 32 32 32 32 33 33 34 34 34 34 33 33 32 32 32 32 32 32 32 32 32 32 32 -12 -12 -13 -14 -14 -14 -14 -14 -14 -15 -16 -14 -12 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -9 -9 -9 -10 -10 -9 -9 -8 -7 -7 -7 -7 -7 -6 -6 -5 -4 -4 -5 -5 -6 -7 -7 -8 -8 -9 -9 -11 -12 -14 -16 -17 -19 -20 -21 -21 -22 -24 -24 -26 -28 -32 -37 -41 -44 -46 -46 -45 -46 -47 -46 -45 -43 -41 -39 -38 -37 -37 -37 -38 -39 -38 -38 -36 -36 -33 -29 -26 -27 -28 -29 -29 -27 -24 -21 -19 -16 -12 -8 -5 -4 -4 -3 -3 -2 -2 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -0 0 0 1 1 2 3 4 5 5 6 5 4 4 3 3 4 5 7 8 9 9 10 11 11 12 12 13 13 13 13 14 14 14 14 14 15 16 17 17 15 14 13 14 15 17 17 17 17 17 17 16 16 15 14 14 15 17 19 22 22 22 21 21 23 25 26 25 24 22 22 23 23 23 22 22 22 22 22 23 23 24 24 25 25 26 26 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 30 30 31 31 32 32 33 33 34 34 34 35 35 35 36 36 36 37 37 37 38 38 39 40 40 41 41 42 42 42 42 42 43 43 43 43 42 43 43 44 45 46 46 46 46 46 45 45 44 44 43 42 41 40 39 38 38 38 38 39 39 40 41 42 42 43 43 44 44 45 46 47 47 47 46 45 44 43 42 42 42 41 41 42 41 41 41 41 40 40 39 38 37 36 36 35 35 34 34 33 31 30 29 28 28 28 29 28 28 28 28 27 27 27 26 26 25 25 25 26 26 27 28 28 27 27 26 25 25 26 26 27 27 27 26 26 25 26 26 27 28 29 30 31 31 31 31 31 31 31 31 32 32 33 34 34 35 34 34 33 32 32 32 32 32 32 32 33 33 33 32 -11 -12 -12 -13 -13 -13 -13 -13 -14 -16 -17 -16 -14 -12 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -5 -6 -6 -7 -7 -7 -8 -9 -10 -12 -13 -16 -18 -19 -20 -21 -22 -23 -24 -24 -25 -28 -32 -37 -40 -44 -46 -46 -46 -47 -48 -49 -48 -46 -43 -41 -39 -39 -39 -41 -42 -43 -43 -43 -41 -39 -36 -32 -28 -26 -25 -27 -29 -30 -29 -25 -20 -17 -15 -13 -9 -4 -4 -3 -2 -2 -1 -1 0 1 1 1 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -0 0 0 1 1 1 1 1 2 2 4 5 5 5 5 4 4 4 4 5 7 8 9 10 11 12 12 13 13 13 13 14 14 15 15 15 15 15 16 16 17 16 15 14 14 15 16 17 17 17 17 16 16 15 14 13 13 14 16 19 21 22 22 21 21 22 24 26 25 24 22 21 22 22 22 21 21 21 21 22 22 22 23 23 23 24 25 25 26 26 26 26 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 29 29 30 30 31 31 32 32 33 33 34 34 34 34 35 35 35 35 36 36 37 38 38 39 40 40 41 42 42 42 42 42 42 42 42 42 42 43 44 45 46 46 46 46 46 46 46 45 45 44 43 42 41 40 39 38 38 38 39 40 40 41 42 42 43 43 44 44 45 46 47 48 48 48 48 47 46 45 44 43 43 43 42 42 42 42 42 41 41 40 39 38 37 37 36 36 36 35 35 34 32 31 30 29 29 29 29 30 30 29 29 29 29 29 28 28 27 27 27 27 28 28 29 30 30 30 29 28 27 26 26 26 26 26 25 25 25 25 25 26 26 27 29 30 30 30 30 30 30 30 30 31 31 32 33 34 35 35 35 34 33 32 32 32 32 32 32 33 33 33 33 -10 -11 -11 -11 -11 -11 -11 -12 -13 -14 -16 -16 -15 -13 -12 -11 -11 -11 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -5 -4 -3 -3 -3 -4 -5 -5 -5 -6 -6 -7 -8 -9 -10 -11 -13 -15 -17 -19 -21 -22 -23 -24 -25 -25 -26 -27 -31 -35 -39 -42 -45 -46 -47 -47 -48 -49 -48 -47 -45 -43 -41 -41 -41 -42 -43 -45 -45 -45 -44 -41 -37 -33 -30 -26 -25 -26 -28 -30 -31 -30 -27 -23 -20 -18 -13 -6 -4 -3 -3 -2 -1 -1 0 1 2 2 2 1 1 0 -0 -0 -1 -1 -1 -0 0 1 1 2 2 2 1 1 1 2 3 4 4 5 5 5 5 5 5 5 6 7 9 10 11 12 13 13 13 13 14 14 15 15 15 15 15 15 16 17 17 16 15 14 15 16 17 17 16 16 15 15 14 13 13 12 13 15 18 20 22 22 21 20 21 23 25 25 23 21 20 20 21 21 20 19 19 20 21 21 21 21 21 22 22 23 24 24 24 25 25 25 26 26 26 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 29 29 30 30 31 32 32 33 33 33 33 33 34 34 34 34 35 35 36 37 38 39 39 40 40 41 42 42 42 42 42 42 42 42 43 43 44 45 46 46 46 46 46 46 46 45 45 44 43 42 41 40 39 38 38 39 40 41 41 42 42 43 43 43 44 45 45 46 47 48 49 49 49 49 48 47 46 45 44 44 44 43 43 43 42 42 41 40 40 39 38 37 37 37 36 36 35 35 34 32 31 30 30 30 30 30 31 31 31 31 31 30 30 30 29 28 28 28 29 29 30 31 32 32 31 30 28 27 27 26 26 25 25 24 24 24 24 24 25 26 27 28 29 29 29 29 28 28 29 29 30 31 32 34 34 35 35 35 34 33 32 32 32 32 32 32 33 33 33 -9 -9 -9 -10 -10 -10 -10 -11 -11 -12 -14 -15 -15 -14 -13 -12 -11 -11 -11 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -6 -4 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -16 -18 -20 -22 -24 -25 -25 -25 -26 -28 -31 -35 -37 -40 -43 -46 -46 -46 -46 -46 -47 -46 -45 -44 -43 -42 -43 -43 -45 -46 -47 -46 -45 -42 -40 -37 -33 -29 -26 -26 -27 -30 -32 -34 -32 -29 -25 -21 -15 -8 -5 -4 -4 -3 -2 -1 -0 1 2 2 2 2 2 1 1 0 -0 -0 -0 0 1 2 2 3 3 3 3 3 3 3 3 3 4 5 6 6 6 6 6 6 6 7 8 9 11 12 13 14 14 14 14 14 15 15 16 16 15 15 16 16 16 15 15 14 15 16 16 16 15 15 14 13 12 12 12 12 14 17 20 21 21 20 20 20 22 24 25 23 21 19 19 20 20 19 18 18 19 20 20 19 19 19 19 20 20 21 22 22 23 23 23 24 25 25 26 26 26 27 27 27 26 26 27 27 27 27 27 27 27 27 28 28 28 29 29 30 30 31 31 32 32 32 32 32 33 33 33 33 34 34 35 36 37 38 38 39 40 41 41 42 42 42 42 42 42 43 43 44 44 45 45 45 46 46 46 45 45 45 44 44 43 42 41 40 39 39 39 40 41 42 42 42 43 43 43 44 44 45 46 47 47 48 50 50 50 50 49 48 47 47 46 45 45 44 44 43 43 42 42 41 40 39 38 38 38 37 37 37 36 36 35 34 33 32 31 31 31 31 32 32 32 32 32 32 31 31 30 30 30 30 30 30 31 32 32 33 32 31 30 29 28 27 26 25 25 24 23 23 23 23 24 25 26 27 28 28 28 28 27 27 27 27 28 29 31 32 34 34 35 35 34 34 33 32 32 32 32 32 32 33 33 -8 -8 -8 -8 -8 -8 -9 -10 -10 -11 -12 -13 -14 -14 -13 -12 -11 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -4 -4 -3 -2 -2 -2 -2 -2 -3 -3 -4 -5 -7 -9 -10 -12 -13 -13 -15 -17 -20 -21 -23 -23 -24 -25 -27 -29 -31 -34 -36 -40 -43 -45 -44 -44 -44 -45 -45 -45 -44 -44 -43 -43 -44 -45 -46 -47 -47 -47 -46 -44 -41 -38 -34 -29 -26 -26 -26 -28 -32 -36 -36 -33 -27 -20 -16 -15 -9 -5 -4 -4 -3 -3 -2 -0 1 2 3 3 3 3 2 1 1 0 0 1 1 2 3 4 4 5 5 5 5 4 4 4 4 5 6 7 8 7 7 6 6 7 7 9 10 12 13 14 15 14 14 15 15 16 16 16 15 15 15 15 15 14 14 14 14 15 16 15 14 13 12 11 11 12 12 14 16 19 20 21 20 19 19 21 23 24 23 20 19 18 19 19 18 17 16 17 19 19 18 17 17 17 17 18 19 20 20 20 21 21 22 23 24 24 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 27 27 28 28 29 29 29 30 30 31 31 31 31 31 31 32 32 32 33 34 34 36 37 37 38 38 39 40 41 41 42 42 42 42 42 43 43 43 44 44 44 44 45 45 45 45 44 44 44 43 42 41 40 40 40 40 40 41 42 42 43 43 43 43 44 44 44 45 46 47 48 49 50 50 51 51 50 50 49 48 47 47 46 45 45 44 43 43 42 41 40 40 39 39 38 38 38 38 37 37 36 35 34 33 32 32 32 32 33 33 33 33 33 33 32 32 32 31 31 31 31 31 31 32 32 33 33 32 31 30 30 29 27 26 25 24 23 23 23 23 24 25 26 27 27 28 28 27 26 26 26 26 26 27 29 31 32 34 34 35 34 34 33 33 32 32 32 32 32 33 33 -8 -8 -8 -8 -7 -7 -8 -9 -9 -10 -11 -12 -13 -13 -13 -11 -10 -10 -10 -10 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -5 -4 -4 -3 -1 0 1 1 0 -0 -1 -3 -4 -6 -10 -13 -14 -15 -15 -16 -17 -19 -20 -21 -21 -23 -24 -27 -29 -31 -33 -36 -39 -42 -44 -44 -43 -43 -43 -43 -43 -43 -42 -42 -42 -43 -45 -46 -48 -48 -47 -46 -45 -43 -39 -35 -30 -27 -27 -28 -28 -29 -33 -36 -36 -33 -28 -22 -17 -14 -9 -5 -4 -5 -4 -3 -2 -0 1 3 3 4 4 4 3 3 2 2 2 2 2 3 4 4 5 6 6 6 6 6 6 6 6 7 8 9 9 8 8 7 7 7 8 10 12 14 15 16 15 15 15 15 16 16 16 15 15 14 14 14 14 13 13 14 15 15 14 13 12 11 11 12 13 14 16 18 19 20 19 18 18 20 22 23 22 20 18 17 18 18 18 16 15 16 17 18 17 16 15 15 16 16 17 18 18 18 19 19 20 21 22 23 23 24 24 24 23 22 22 22 23 24 24 24 24 24 24 25 25 26 26 27 27 28 28 28 29 29 29 29 29 30 30 30 31 31 31 32 33 34 35 36 36 37 38 39 40 41 41 42 42 42 42 42 42 43 43 43 43 43 44 44 44 44 44 44 43 43 42 41 41 40 40 40 40 41 41 42 42 43 43 44 44 44 44 44 45 45 46 47 48 49 50 51 51 51 51 50 49 48 47 47 46 45 44 44 43 42 42 41 41 40 40 39 39 39 39 38 38 37 36 35 34 33 33 33 33 34 34 34 34 34 34 33 33 33 32 32 32 32 32 32 32 33 33 33 32 32 31 31 30 29 28 26 25 24 23 23 23 23 24 25 26 27 27 27 27 26 25 25 25 25 26 27 29 31 32 34 34 34 34 34 33 33 33 33 33 33 33 33 -7 -7 -7 -7 -7 -7 -8 -8 -9 -10 -10 -11 -12 -12 -12 -12 -11 -11 -10 -11 -12 -12 -11 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -5 -4 -2 1 4 4 3 2 0 -1 -2 -4 -7 -11 -15 -18 -18 -19 -19 -19 -19 -20 -20 -21 -22 -24 -27 -29 -32 -34 -36 -39 -41 -43 -43 -43 -43 -42 -41 -41 -40 -40 -40 -40 -42 -44 -46 -48 -48 -48 -46 -44 -43 -40 -37 -33 -30 -30 -30 -28 -27 -31 -35 -35 -32 -27 -23 -17 -15 -13 -9 -5 -4 -5 -4 -3 -1 1 2 3 4 5 5 5 4 4 3 3 3 3 3 3 4 5 6 6 7 7 7 7 7 8 8 9 10 10 10 10 10 9 9 9 10 13 15 16 16 16 15 15 16 16 16 16 15 14 13 14 13 13 13 13 14 15 14 13 12 11 11 12 13 14 16 17 18 19 19 18 18 19 21 22 21 19 17 17 17 18 17 15 14 15 16 17 17 15 14 14 15 15 16 17 17 17 17 17 18 19 19 20 21 21 22 21 20 20 19 19 20 21 22 22 22 22 22 22 23 24 24 25 26 26 27 27 27 28 28 28 28 28 28 29 30 30 30 31 32 33 34 34 35 35 36 38 39 40 41 41 42 42 42 42 42 42 42 42 42 43 43 43 44 44 44 44 44 43 42 41 41 40 40 40 40 41 41 41 42 42 42 43 43 43 43 43 43 44 44 45 46 47 48 49 50 50 51 51 50 50 49 48 47 46 45 45 44 44 43 43 42 42 42 41 41 40 40 40 39 39 38 37 37 36 35 34 34 34 35 35 35 35 35 35 34 34 33 33 33 33 33 33 33 33 33 33 33 32 32 32 32 31 31 29 28 26 25 24 23 23 23 24 25 26 26 27 27 26 26 25 24 24 24 25 26 27 29 31 33 34 34 34 34 34 33 33 33 33 33 33 33 -7 -7 -7 -7 -7 -7 -8 -9 -9 -10 -10 -11 -11 -11 -11 -12 -13 -14 -14 -14 -15 -15 -14 -11 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -5 -3 -1 2 4 5 3 2 0 -1 -2 -4 -8 -12 -15 -18 -21 -22 -23 -22 -21 -21 -21 -22 -23 -25 -27 -30 -33 -35 -36 -37 -39 -41 -43 -44 -44 -44 -42 -40 -39 -38 -38 -38 -39 -40 -43 -46 -49 -49 -47 -44 -42 -39 -37 -34 -32 -31 -30 -28 -27 -29 -33 -33 -29 -24 -23 -21 -19 -17 -13 -9 -5 -4 -4 -4 -3 -1 1 2 4 5 6 6 6 6 5 5 4 3 3 3 4 4 5 6 6 7 7 7 8 8 9 10 11 12 12 12 12 12 11 11 13 15 16 17 17 16 16 16 16 17 16 15 14 13 13 13 13 13 12 13 14 14 14 12 11 11 12 13 15 16 16 18 18 18 18 18 18 20 21 19 18 16 16 17 17 17 15 14 13 15 17 16 15 13 14 14 15 15 16 16 15 15 15 16 16 17 18 18 19 19 19 18 17 17 17 18 19 20 20 20 19 19 19 20 21 22 22 23 24 25 25 26 26 26 26 26 27 27 28 28 29 30 30 31 32 32 33 33 33 35 36 38 40 40 41 41 41 42 42 42 42 42 42 43 43 43 43 44 44 44 44 44 43 42 42 41 41 40 40 40 40 40 40 40 41 41 41 41 42 42 42 42 42 42 42 42 43 44 45 47 48 49 50 50 50 49 49 48 47 47 46 45 45 44 44 44 44 44 43 43 42 41 41 41 40 40 39 39 38 37 36 35 35 35 35 36 36 37 36 36 35 35 35 34 34 34 34 34 34 34 34 34 34 33 32 32 32 32 32 31 30 28 26 25 24 24 24 24 25 25 26 26 26 26 25 25 24 24 24 24 25 26 28 30 32 33 34 34 34 34 34 33 33 33 33 33 33 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -10 -11 -11 -11 -12 -13 -15 -17 -18 -18 -18 -18 -16 -13 -11 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -7 -7 -6 -5 -4 -3 -1 1 3 3 2 1 -0 -1 -2 -4 -7 -11 -14 -18 -21 -24 -24 -23 -22 -22 -22 -23 -24 -26 -27 -30 -33 -35 -36 -37 -39 -41 -43 -45 -46 -46 -45 -43 -40 -38 -37 -36 -36 -37 -40 -44 -47 -49 -49 -47 -43 -39 -35 -32 -30 -27 -25 -24 -24 -26 -29 -29 -26 -21 -20 -22 -22 -20 -17 -14 -10 -5 -4 -3 -3 -2 -1 1 2 4 5 6 6 6 6 6 5 4 4 4 4 4 5 5 6 6 6 7 8 8 9 11 12 13 13 14 14 14 14 15 16 17 18 17 16 16 16 16 17 17 16 15 13 13 13 13 13 12 12 13 14 14 13 12 11 11 13 15 16 16 17 17 18 17 17 18 19 19 18 16 15 14 16 17 16 15 14 13 14 15 16 14 13 13 14 15 15 15 15 14 14 13 14 14 15 15 15 16 16 16 15 15 14 15 16 17 18 18 17 17 16 16 17 18 19 19 20 21 22 23 24 25 25 25 25 25 26 27 27 28 29 29 30 31 32 32 32 32 33 34 36 38 39 39 40 40 40 41 41 42 42 42 43 43 43 43 43 44 44 44 44 43 43 42 42 41 41 41 40 40 40 40 39 39 39 39 39 39 39 40 40 40 40 40 40 40 40 41 42 44 46 47 48 49 49 49 49 48 48 47 47 46 46 46 45 45 45 45 45 44 44 43 42 42 41 41 40 40 39 38 37 36 36 36 36 36 37 37 37 37 36 36 36 35 35 35 35 35 35 35 36 36 35 34 33 33 33 33 32 32 31 30 28 27 25 25 24 24 24 25 26 26 26 26 25 25 24 24 23 23 24 25 26 28 30 32 33 34 34 34 34 33 33 33 33 33 33 -7 -7 -7 -7 -8 -8 -8 -8 -9 -9 -10 -11 -12 -12 -13 -14 -16 -19 -20 -19 -18 -17 -15 -13 -11 -10 -9 -8 -8 -9 -9 -10 -10 -10 -9 -9 -9 -8 -8 -8 -7 -6 -5 -4 -3 -1 0 1 1 1 0 -0 -0 -1 -2 -6 -10 -14 -18 -21 -24 -24 -23 -22 -22 -22 -23 -25 -26 -28 -30 -32 -34 -35 -37 -40 -42 -44 -46 -47 -48 -48 -46 -43 -41 -39 -37 -36 -37 -38 -41 -44 -46 -48 -48 -45 -40 -35 -30 -26 -22 -19 -18 -19 -20 -22 -23 -21 -19 -19 -20 -22 -23 -22 -20 -16 -10 -5 -3 -3 -3 -2 -1 0 2 3 5 6 6 7 7 6 5 4 4 4 4 5 5 5 6 6 6 7 8 9 10 11 12 13 14 14 15 16 18 18 18 17 16 15 15 16 17 18 18 16 14 13 13 13 13 13 12 12 13 14 13 12 11 11 12 14 15 16 16 16 17 17 17 17 18 18 17 15 13 13 14 15 16 15 14 12 12 14 15 14 13 12 13 14 15 14 14 14 13 12 12 12 13 13 13 13 13 13 13 12 12 12 13 14 15 15 15 14 14 13 14 15 16 17 17 19 20 21 22 22 23 23 23 23 24 25 26 27 28 28 29 30 31 31 31 30 30 32 34 36 37 37 37 37 38 39 39 40 41 42 42 42 42 43 43 43 43 43 43 43 43 43 43 42 42 41 41 40 39 39 38 38 37 37 36 36 37 37 37 38 38 38 38 38 38 38 39 40 42 43 45 46 47 48 48 48 48 48 47 47 47 46 46 46 46 46 46 46 45 45 44 43 43 42 41 41 40 40 39 38 38 37 37 37 37 37 38 38 37 37 37 37 37 36 36 35 36 36 36 36 37 36 35 34 33 33 33 33 32 32 31 29 28 27 25 25 24 24 25 25 26 26 26 25 25 24 24 23 23 23 24 25 27 29 31 32 33 34 34 34 33 33 33 33 33 33 -6 -6 -7 -7 -7 -8 -8 -9 -9 -10 -11 -12 -13 -14 -14 -15 -16 -18 -19 -19 -18 -16 -14 -12 -11 -10 -9 -9 -9 -9 -9 -10 -10 -10 -10 -9 -9 -9 -8 -8 -8 -7 -6 -5 -3 -2 -2 -1 -1 -0 -0 -0 1 1 -1 -5 -9 -14 -19 -22 -24 -24 -24 -23 -23 -22 -22 -24 -26 -28 -30 -30 -31 -35 -38 -41 -43 -45 -46 -47 -48 -49 -49 -47 -45 -43 -41 -39 -39 -39 -40 -40 -42 -43 -45 -45 -43 -38 -31 -27 -21 -15 -12 -12 -14 -15 -15 -16 -18 -20 -22 -22 -23 -24 -24 -21 -16 -9 -4 -2 -2 -2 -2 -1 0 2 3 5 6 6 7 7 6 5 5 4 5 5 5 5 5 6 6 6 7 8 9 10 12 12 13 14 16 17 18 18 16 15 14 14 16 17 18 19 18 16 14 13 13 13 13 12 12 12 13 13 13 12 12 12 13 15 15 15 15 16 16 17 17 17 17 16 14 12 11 12 14 15 15 14 12 11 12 13 13 12 12 12 13 14 14 13 13 12 12 11 11 11 11 11 11 11 11 11 11 10 10 11 12 12 13 12 12 11 11 11 12 13 14 15 16 17 18 19 20 20 20 20 21 22 23 24 25 26 27 28 29 30 30 29 29 29 29 31 33 34 34 33 33 34 35 36 38 39 40 40 41 41 41 42 42 42 42 43 43 43 43 43 43 42 42 41 40 39 38 37 36 36 35 35 34 34 35 35 35 36 36 36 36 36 36 36 37 38 40 41 43 44 45 46 46 46 47 47 47 47 47 47 47 47 47 47 47 46 46 45 45 44 43 43 42 42 41 41 40 40 39 38 38 38 38 38 38 37 37 37 38 38 37 37 36 36 36 37 37 37 37 37 36 36 34 34 33 33 33 32 32 30 29 28 26 25 25 25 25 25 25 25 25 25 25 25 24 23 23 22 23 24 25 27 30 32 33 34 34 34 33 33 33 33 33 33 -6 -6 -6 -7 -7 -8 -9 -10 -11 -12 -13 -14 -15 -15 -16 -16 -17 -18 -18 -18 -18 -17 -15 -13 -11 -10 -10 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -6 -5 -3 -3 -3 -3 -3 -2 -1 -1 0 1 -1 -3 -8 -13 -17 -21 -23 -24 -25 -25 -25 -24 -22 -23 -25 -26 -26 -27 -31 -35 -39 -42 -44 -45 -47 -47 -47 -47 -47 -48 -48 -47 -46 -44 -43 -43 -42 -40 -39 -37 -38 -40 -41 -40 -37 -32 -24 -16 -10 -8 -10 -11 -13 -15 -19 -24 -26 -26 -23 -21 -21 -21 -19 -16 -10 -3 -0 -1 -1 -1 0 1 3 4 5 6 7 7 7 6 6 5 5 5 5 6 6 6 6 6 7 7 8 9 10 11 12 14 15 17 16 15 13 12 13 14 17 18 19 19 17 16 15 14 13 13 12 12 12 12 13 13 12 11 11 12 13 14 14 14 14 15 16 16 16 16 15 13 11 10 10 12 14 15 14 12 11 11 11 12 12 11 11 12 13 13 12 12 11 11 11 10 10 10 10 10 10 10 9 9 9 9 9 10 10 10 10 10 9 9 9 10 11 12 12 13 15 15 16 17 18 18 18 18 19 20 22 23 24 25 26 27 28 28 28 28 27 28 29 30 31 30 30 29 30 31 33 35 36 37 37 38 39 39 40 40 40 41 41 41 42 42 42 42 42 42 41 40 39 38 37 35 34 33 33 33 33 33 33 34 34 34 35 35 35 35 35 35 36 37 38 40 41 42 43 43 44 44 45 45 46 46 46 47 47 47 47 47 47 47 46 46 45 44 43 43 42 42 42 42 41 41 40 40 39 39 38 38 37 37 37 37 38 38 38 37 36 36 37 37 38 38 38 38 38 37 35 34 34 33 33 33 32 32 30 29 28 27 26 25 25 25 25 25 25 25 25 25 24 23 22 22 22 23 24 26 28 30 32 34 34 34 34 34 34 34 34 33 -5 -5 -6 -6 -7 -8 -9 -11 -12 -13 -15 -16 -17 -17 -17 -17 -17 -18 -18 -19 -19 -19 -18 -16 -14 -12 -10 -9 -9 -9 -8 -9 -9 -9 -10 -10 -10 -10 -9 -9 -8 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -2 -3 -7 -11 -15 -18 -21 -22 -24 -26 -26 -26 -24 -24 -24 -24 -23 -26 -32 -35 -39 -41 -43 -45 -46 -47 -47 -46 -46 -48 -48 -49 -49 -48 -48 -48 -47 -44 -40 -35 -32 -31 -32 -33 -34 -33 -30 -25 -21 -17 -14 -11 -13 -16 -19 -20 -20 -23 -24 -22 -19 -21 -25 -25 -21 -13 -3 -0 0 0 1 2 3 4 5 6 6 7 7 7 7 7 6 6 6 6 6 6 6 7 7 7 8 8 9 11 12 13 14 14 13 12 11 12 13 15 17 18 19 18 17 16 15 14 13 12 11 11 11 12 12 12 11 11 11 12 13 13 13 13 14 15 16 16 15 14 13 11 9 9 11 13 14 14 13 11 10 10 11 12 11 11 11 12 12 11 11 11 10 10 10 9 9 9 9 8 8 8 8 8 7 8 8 8 8 8 8 7 7 8 8 9 10 10 11 12 13 14 15 15 15 16 16 16 18 19 20 22 23 24 25 26 26 27 26 26 26 27 28 28 27 27 26 26 28 30 31 33 34 35 35 36 37 37 38 38 38 39 39 39 40 40 40 40 40 40 40 39 38 36 35 33 32 32 31 31 31 32 32 33 33 33 34 34 34 35 35 35 35 36 37 38 39 40 41 41 42 42 43 44 44 45 46 46 46 46 47 47 47 47 46 45 45 44 43 43 42 42 42 42 42 41 41 41 40 39 39 38 37 36 36 37 38 38 38 37 37 37 37 38 38 39 39 39 39 38 36 35 34 34 33 33 33 33 32 31 30 28 27 26 26 25 25 25 25 25 25 25 24 23 22 22 21 22 23 25 27 29 31 33 34 34 34 34 34 34 34 34 -5 -5 -5 -6 -7 -8 -9 -11 -12 -14 -15 -17 -18 -18 -18 -18 -18 -19 -20 -20 -20 -21 -21 -20 -17 -14 -11 -10 -9 -9 -8 -8 -8 -9 -9 -10 -10 -10 -10 -9 -8 -7 -6 -5 -4 -4 -4 -5 -5 -6 -6 -6 -4 -3 -3 -5 -8 -12 -15 -17 -18 -19 -22 -25 -27 -28 -27 -26 -25 -25 -25 -29 -32 -35 -38 -41 -42 -43 -45 -46 -47 -47 -47 -47 -47 -48 -49 -49 -50 -51 -51 -49 -44 -37 -29 -25 -24 -26 -27 -28 -28 -27 -26 -24 -21 -18 -16 -17 -18 -19 -19 -21 -23 -23 -20 -17 -20 -24 -26 -24 -19 -10 -3 1 3 4 5 5 6 6 7 7 8 8 8 8 8 8 7 7 7 7 7 7 7 7 8 8 9 10 11 12 12 12 11 11 11 13 15 16 17 18 18 18 17 16 15 13 12 11 11 11 11 12 11 11 10 10 11 12 12 12 12 13 14 15 15 14 13 12 11 9 9 10 12 14 14 13 11 10 10 11 11 11 10 10 11 11 11 10 10 10 9 9 9 8 8 8 8 7 7 7 7 7 6 6 7 7 6 6 6 6 6 7 8 8 9 9 10 11 12 13 13 13 14 14 14 15 17 18 20 21 22 23 24 25 25 25 25 25 25 26 26 25 25 24 25 26 27 29 30 31 32 33 33 34 35 36 36 36 36 37 37 37 37 37 38 38 38 38 38 37 35 34 32 31 30 30 30 30 30 31 31 32 32 32 33 33 34 34 34 34 35 36 36 37 38 39 39 40 40 41 41 42 43 44 45 45 46 46 46 46 46 46 46 45 44 43 43 42 42 42 42 42 42 42 42 41 41 40 39 38 36 36 36 37 37 38 38 37 37 37 37 38 39 39 40 40 39 38 37 36 35 34 34 33 34 34 33 33 32 31 29 28 27 27 26 26 25 25 25 25 24 24 22 21 21 21 22 23 25 28 30 32 33 34 34 34 34 34 34 34 -5 -5 -5 -6 -6 -7 -9 -11 -12 -13 -15 -16 -17 -18 -19 -19 -19 -20 -20 -21 -21 -21 -21 -21 -18 -15 -12 -10 -10 -9 -8 -8 -8 -8 -9 -9 -10 -10 -10 -9 -8 -7 -6 -5 -4 -4 -4 -5 -6 -7 -7 -7 -5 -4 -4 -6 -10 -14 -17 -18 -18 -19 -20 -22 -24 -25 -26 -25 -24 -25 -28 -30 -31 -33 -36 -39 -41 -42 -44 -45 -47 -48 -47 -47 -47 -48 -49 -50 -50 -51 -52 -51 -48 -42 -31 -23 -19 -18 -19 -21 -23 -24 -25 -25 -24 -22 -20 -19 -19 -17 -17 -19 -20 -21 -21 -19 -17 -19 -21 -22 -23 -20 -12 -4 3 6 6 7 8 8 8 8 9 9 9 9 9 9 8 7 7 7 7 7 7 7 8 8 9 10 11 11 11 10 10 11 12 14 15 16 17 17 17 17 16 15 14 13 12 11 10 10 11 11 10 10 10 10 11 12 12 12 12 13 13 13 13 12 12 11 10 9 10 11 13 13 13 11 10 10 10 11 11 10 10 10 11 11 10 10 9 9 9 8 7 7 7 7 7 6 6 6 6 6 6 6 5 5 5 5 5 6 6 7 7 8 8 9 9 10 11 11 12 12 12 12 13 15 16 18 19 20 21 22 23 23 24 24 24 24 24 25 25 25 25 25 26 27 28 29 29 30 30 31 32 33 34 34 34 34 34 34 34 34 34 34 35 35 35 35 35 34 33 32 30 29 29 29 29 29 29 30 30 31 31 32 32 32 33 33 34 34 35 35 36 37 37 38 39 39 40 40 41 42 42 43 44 45 45 46 46 46 45 45 45 44 43 43 42 41 41 41 41 41 41 41 41 41 41 40 39 37 36 35 36 36 37 37 37 37 38 38 38 38 39 39 40 40 39 38 37 36 35 35 34 33 33 34 34 34 33 32 31 30 29 28 28 27 26 26 25 25 25 24 23 21 21 21 21 22 24 26 28 30 32 33 34 34 34 34 34 34 -5 -5 -5 -6 -6 -7 -9 -10 -11 -12 -13 -14 -16 -17 -19 -20 -20 -21 -21 -21 -21 -20 -20 -19 -17 -15 -13 -11 -10 -9 -9 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -7 -6 -5 -5 -5 -5 -6 -7 -8 -7 -6 -5 -5 -7 -10 -14 -16 -18 -18 -19 -19 -19 -20 -20 -20 -20 -21 -24 -28 -29 -29 -31 -34 -36 -38 -41 -43 -45 -46 -47 -47 -47 -48 -49 -50 -50 -50 -49 -50 -50 -49 -45 -36 -27 -19 -15 -13 -13 -15 -18 -20 -22 -23 -22 -21 -21 -21 -20 -19 -19 -19 -18 -19 -18 -16 -15 -15 -16 -18 -19 -18 -13 -5 2 6 8 9 10 10 10 10 10 10 10 10 9 8 7 6 6 6 6 7 7 7 8 9 9 10 10 10 10 11 12 13 14 15 16 17 17 17 16 15 14 13 12 11 10 10 10 10 10 9 9 9 10 11 11 11 11 12 12 13 12 11 11 10 9 9 10 11 12 13 12 10 10 10 11 12 12 11 10 10 10 11 11 10 10 9 8 8 7 7 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 7 7 7 8 8 9 10 10 11 11 11 11 11 13 15 17 18 19 19 20 21 22 22 23 23 23 23 24 24 25 25 26 26 27 28 28 29 29 29 29 30 31 32 32 32 32 31 31 30 30 30 30 31 31 32 33 33 32 32 30 29 29 28 28 28 28 28 28 29 30 30 31 31 31 32 32 33 33 34 34 35 36 36 37 37 38 39 40 40 41 42 42 43 44 44 45 45 45 45 44 44 44 43 43 42 42 41 40 40 40 40 40 40 41 41 41 40 39 37 36 35 35 35 36 36 37 37 38 38 39 39 39 39 39 38 38 37 37 36 35 35 34 33 33 33 33 33 33 33 32 32 31 30 29 28 28 27 26 26 25 24 23 22 21 20 21 22 23 25 27 29 31 32 33 34 34 34 34 34 -5 -5 -5 -6 -6 -7 -8 -10 -11 -12 -13 -14 -15 -16 -18 -20 -21 -22 -22 -22 -21 -20 -19 -17 -15 -14 -12 -11 -10 -10 -9 -9 -9 -8 -8 -8 -8 -9 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -6 -7 -7 -6 -5 -5 -6 -7 -9 -12 -14 -17 -18 -19 -18 -17 -16 -15 -14 -16 -18 -22 -25 -25 -26 -28 -30 -32 -34 -38 -41 -43 -45 -46 -47 -47 -47 -49 -50 -51 -50 -48 -47 -46 -45 -44 -39 -32 -25 -18 -12 -9 -9 -11 -13 -16 -19 -20 -20 -21 -22 -22 -22 -21 -19 -17 -16 -15 -12 -9 -7 -7 -8 -11 -13 -14 -12 -8 -2 4 8 10 11 11 11 11 10 10 10 9 8 6 6 5 5 6 6 6 7 7 8 9 10 10 10 10 11 12 13 14 15 16 17 17 16 15 14 13 12 11 10 10 10 10 10 9 9 9 10 11 11 11 10 11 11 12 11 10 10 10 9 9 9 11 12 12 11 10 9 9 10 12 12 11 10 9 10 11 11 11 10 9 8 7 7 6 6 6 6 5 5 5 5 5 5 5 4 4 4 4 5 5 5 6 6 6 6 7 7 8 9 9 10 10 10 10 11 12 14 15 17 17 18 19 19 20 20 21 21 22 22 23 24 24 25 26 26 27 27 28 28 28 28 28 29 29 30 30 29 29 28 27 27 27 26 27 27 27 28 29 30 30 29 29 28 28 27 27 27 27 27 27 28 28 29 30 30 31 31 31 31 32 32 33 33 34 35 36 36 37 38 39 39 40 41 42 43 43 44 44 44 44 44 44 44 44 44 43 43 42 42 41 40 40 40 40 40 40 40 40 40 39 38 37 36 36 35 35 35 35 36 36 37 38 39 39 39 38 37 37 36 36 35 35 35 34 34 33 32 32 32 32 32 32 32 32 32 31 30 29 28 28 27 26 26 25 24 23 21 21 21 21 22 23 25 28 30 31 33 33 33 34 34 34 -5 -5 -5 -6 -6 -7 -8 -9 -10 -10 -11 -12 -14 -15 -17 -19 -20 -21 -22 -22 -22 -21 -19 -17 -14 -12 -12 -11 -10 -10 -9 -9 -9 -8 -8 -8 -9 -10 -10 -10 -10 -10 -9 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -10 -13 -16 -18 -19 -19 -17 -15 -13 -13 -15 -17 -19 -20 -21 -23 -25 -27 -28 -31 -35 -38 -41 -44 -46 -47 -46 -47 -47 -48 -49 -49 -47 -44 -41 -38 -38 -38 -36 -31 -25 -18 -12 -8 -6 -7 -9 -12 -15 -17 -18 -20 -21 -23 -22 -21 -18 -15 -12 -7 -1 3 4 4 1 -3 -6 -10 -12 -9 -4 1 6 10 11 11 11 10 10 9 8 6 5 4 4 4 5 6 6 7 7 8 9 9 9 10 10 10 11 13 14 15 16 16 15 14 13 12 11 10 10 10 10 10 10 10 9 8 9 10 11 10 10 10 11 11 11 10 9 9 9 8 9 10 11 11 11 10 9 9 10 11 12 11 10 9 9 10 11 10 10 9 8 7 7 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 7 7 8 9 9 9 9 10 10 11 12 14 15 16 17 17 18 18 19 19 20 20 21 22 22 23 24 24 25 26 26 27 27 27 27 27 27 28 28 28 27 26 25 25 24 24 23 23 24 24 25 26 26 27 27 27 27 26 26 26 26 26 26 26 27 27 28 28 29 30 30 31 31 31 31 31 32 32 33 34 35 36 36 37 38 39 40 41 42 43 43 43 43 43 44 44 44 44 44 44 43 43 43 42 42 41 41 40 40 40 40 40 39 39 39 38 38 37 36 35 34 34 34 34 35 36 38 39 39 39 38 36 35 34 34 34 34 34 34 33 33 32 32 32 31 31 31 31 31 31 31 30 29 29 28 27 27 26 26 25 24 22 21 21 21 22 23 25 27 29 31 32 32 33 33 34 34 -5 -5 -5 -5 -6 -6 -7 -8 -8 -9 -9 -10 -11 -13 -15 -17 -18 -19 -20 -21 -21 -21 -19 -16 -14 -12 -12 -11 -10 -10 -9 -9 -8 -8 -8 -8 -9 -10 -11 -11 -11 -10 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -7 -7 -8 -9 -12 -15 -18 -21 -21 -20 -18 -17 -17 -17 -16 -15 -16 -19 -20 -22 -24 -26 -28 -32 -35 -38 -41 -44 -46 -46 -46 -45 -45 -45 -46 -45 -41 -36 -32 -30 -31 -32 -32 -31 -28 -22 -16 -10 -7 -5 -6 -9 -12 -14 -15 -17 -20 -21 -21 -20 -18 -15 -8 -1 6 10 12 10 7 3 -0 -4 -7 -9 -7 -2 3 7 10 10 10 9 8 7 5 4 4 3 4 4 5 6 6 7 8 8 9 9 9 9 10 11 12 14 15 15 14 13 12 11 10 9 9 9 9 10 11 11 10 9 9 10 10 10 10 10 10 10 10 9 8 8 8 8 8 9 10 11 10 9 8 8 10 11 11 11 10 9 9 10 10 10 9 8 7 7 6 6 6 5 5 5 4 4 3 3 3 3 3 3 3 4 4 5 5 5 5 6 6 6 6 7 7 8 8 8 8 9 9 10 11 12 13 14 15 16 17 17 17 17 18 18 19 20 21 21 22 23 23 24 24 24 25 25 25 25 26 26 26 26 25 24 23 23 22 22 21 21 21 22 22 23 23 24 24 25 25 25 25 25 25 25 25 25 26 26 27 27 28 29 29 30 30 30 30 30 31 31 31 32 33 33 34 35 36 37 38 39 40 41 42 42 42 43 43 43 43 43 43 43 43 43 43 43 43 43 42 42 41 41 41 40 40 39 39 39 39 38 38 37 36 35 34 33 33 34 35 36 38 38 38 37 36 35 33 33 32 32 33 33 32 32 32 32 31 31 30 30 30 30 31 30 30 29 28 28 28 27 27 27 26 25 23 22 21 21 22 23 24 26 28 29 31 32 32 33 33 34 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -9 -9 -9 -11 -12 -14 -15 -17 -18 -18 -19 -18 -17 -15 -14 -13 -12 -11 -10 -10 -9 -9 -8 -8 -8 -8 -9 -10 -11 -11 -11 -11 -10 -9 -8 -7 -7 -7 -8 -8 -8 -8 -8 -8 -7 -8 -8 -10 -13 -15 -18 -21 -22 -22 -22 -20 -19 -17 -15 -14 -14 -15 -17 -19 -21 -24 -25 -27 -30 -35 -39 -43 -45 -46 -45 -44 -42 -41 -40 -40 -37 -33 -29 -25 -24 -24 -25 -27 -29 -29 -27 -23 -17 -12 -7 -5 -6 -9 -11 -12 -14 -16 -18 -19 -19 -20 -17 -13 -8 -3 3 8 9 8 6 3 -0 -3 -6 -7 -6 -2 5 8 9 8 7 6 4 3 3 3 3 4 5 5 6 7 7 8 8 8 8 8 9 11 12 13 13 13 12 11 10 9 9 8 8 9 10 11 11 11 10 9 9 10 10 9 9 9 10 10 9 8 8 8 8 8 8 9 10 9 8 8 8 9 11 11 10 9 8 8 9 9 9 8 8 7 6 6 5 5 5 5 4 4 3 3 2 2 2 2 3 3 3 4 4 5 5 5 5 5 6 6 6 7 7 7 7 8 8 8 9 10 11 12 13 13 14 15 15 15 15 16 16 17 17 18 19 19 20 20 20 21 21 21 21 22 22 23 23 23 23 23 22 22 21 21 20 20 20 20 20 20 21 21 22 22 22 23 23 23 23 23 23 24 24 24 25 25 26 26 27 28 29 29 30 30 30 30 30 30 30 30 31 31 32 33 34 35 36 37 38 40 41 41 41 42 42 42 42 42 42 42 42 42 42 43 43 43 43 43 43 42 42 41 40 39 39 39 39 39 38 37 36 35 34 32 32 32 33 34 36 37 37 37 36 34 33 32 31 31 31 31 31 31 31 31 31 30 30 30 30 30 30 30 29 29 28 28 27 27 28 28 27 26 25 23 22 22 22 23 24 25 27 29 30 31 32 33 33 34 -4 -4 -5 -5 -6 -6 -7 -8 -8 -9 -9 -9 -9 -10 -10 -11 -12 -13 -14 -15 -15 -15 -14 -14 -14 -13 -13 -12 -11 -10 -9 -9 -8 -8 -8 -8 -9 -10 -10 -11 -11 -10 -9 -8 -7 -6 -6 -6 -7 -8 -8 -8 -9 -9 -9 -9 -10 -11 -14 -16 -19 -21 -23 -23 -23 -22 -19 -17 -14 -13 -12 -13 -14 -16 -18 -20 -21 -23 -27 -32 -37 -41 -44 -46 -46 -44 -42 -38 -35 -33 -32 -31 -28 -25 -22 -20 -19 -19 -22 -25 -26 -25 -24 -21 -17 -12 -9 -8 -8 -8 -9 -11 -13 -13 -14 -16 -17 -17 -18 -17 -17 -14 -9 -3 2 4 3 -0 -3 -5 -5 -4 -1 4 7 8 7 5 4 3 2 2 2 3 3 4 5 6 6 6 6 7 7 8 9 10 11 12 12 11 11 10 9 8 8 7 8 9 10 11 11 11 10 10 9 9 9 8 8 9 9 9 8 7 7 7 7 8 8 8 8 8 7 8 9 10 10 9 8 8 8 8 8 8 7 7 6 6 5 5 5 4 4 4 4 3 2 2 2 2 2 2 2 3 3 4 4 5 5 5 5 5 5 6 6 7 7 7 7 7 8 8 9 9 10 11 11 12 12 13 13 13 13 14 14 14 15 15 15 16 16 16 17 17 17 17 17 18 19 19 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 20 20 20 21 21 21 21 22 22 22 22 23 23 24 24 25 25 26 27 28 28 29 29 29 29 29 29 29 29 29 29 30 31 31 32 33 35 36 38 39 40 40 41 41 41 41 41 40 40 40 40 41 41 41 42 43 43 43 43 42 42 40 39 39 39 39 39 38 38 37 36 34 33 31 31 31 32 34 35 36 36 35 34 32 31 30 29 29 30 30 31 31 31 31 30 30 30 30 29 29 29 29 29 28 28 28 27 28 28 28 27 26 25 23 22 22 23 24 25 26 28 30 31 32 32 33 34 -4 -4 -4 -5 -5 -6 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -11 -11 -12 -12 -12 -12 -13 -13 -14 -14 -13 -12 -11 -10 -10 -9 -9 -8 -8 -8 -9 -9 -10 -10 -10 -9 -8 -7 -6 -6 -6 -6 -6 -7 -8 -9 -9 -9 -9 -10 -11 -12 -13 -16 -19 -22 -23 -23 -22 -21 -18 -16 -14 -13 -13 -14 -14 -15 -16 -17 -18 -21 -25 -30 -34 -39 -42 -45 -46 -45 -42 -37 -32 -28 -27 -26 -26 -25 -23 -21 -18 -17 -17 -18 -19 -20 -21 -22 -21 -18 -14 -12 -10 -9 -9 -9 -9 -9 -8 -7 -8 -10 -12 -13 -14 -15 -14 -12 -9 -7 -4 -2 -2 -4 -7 -9 -8 -2 4 7 8 6 4 3 2 1 1 1 2 3 3 4 5 5 5 5 6 7 8 9 10 10 10 10 10 9 8 7 7 7 8 9 11 12 11 11 10 9 9 8 8 7 8 8 8 8 7 7 7 7 7 7 8 7 7 7 7 8 9 9 8 7 7 7 8 8 7 6 6 5 5 5 4 4 4 4 3 3 3 2 2 1 1 1 1 1 2 2 3 3 4 4 4 4 4 4 5 5 6 6 6 6 6 7 7 8 8 9 9 9 10 10 10 10 11 11 11 12 12 12 12 12 12 12 12 12 12 12 13 13 14 14 15 16 17 17 17 17 18 17 18 18 18 18 18 18 18 18 18 18 19 19 19 19 20 20 20 21 21 21 22 22 22 23 23 24 25 26 27 28 28 29 29 28 28 28 28 27 28 28 28 29 29 30 31 33 34 35 37 38 39 40 40 40 39 39 38 38 38 38 38 39 39 40 41 42 42 42 42 41 40 39 38 38 38 38 38 38 37 36 35 33 31 30 30 30 31 33 34 35 35 34 32 30 29 28 27 28 28 29 30 30 30 30 30 30 30 29 29 29 29 29 29 28 28 28 28 28 29 28 28 26 24 23 23 23 23 24 26 27 29 30 31 32 33 33 -4 -4 -4 -4 -5 -6 -6 -7 -8 -8 -9 -9 -10 -10 -10 -10 -11 -11 -11 -11 -11 -12 -12 -13 -13 -14 -13 -13 -12 -11 -10 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -7 -6 -6 -5 -5 -6 -7 -8 -8 -9 -9 -10 -11 -12 -13 -14 -15 -17 -19 -21 -21 -20 -18 -17 -15 -14 -14 -14 -15 -15 -16 -16 -17 -17 -20 -24 -28 -32 -36 -39 -42 -43 -43 -42 -38 -32 -27 -23 -22 -22 -22 -22 -21 -20 -18 -16 -16 -16 -16 -17 -18 -20 -19 -17 -16 -14 -12 -10 -9 -9 -8 -6 -3 -3 -5 -7 -10 -12 -13 -14 -14 -14 -13 -11 -9 -7 -6 -7 -11 -15 -15 -9 1 8 8 6 4 2 1 -0 0 0 1 2 2 3 3 4 4 5 6 7 8 9 9 10 9 9 8 7 6 6 7 8 10 11 11 11 11 10 9 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 7 7 7 7 7 7 6 5 5 4 4 4 3 3 3 3 3 2 2 2 2 1 1 1 1 1 1 1 2 2 3 3 4 4 3 3 4 4 4 4 5 5 5 6 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 11 12 12 13 14 15 15 15 15 16 16 16 16 16 16 16 16 16 17 17 17 17 18 18 18 19 19 19 20 20 21 21 21 22 22 23 23 24 26 27 28 28 28 28 27 27 27 26 26 27 27 27 28 28 29 31 32 33 34 36 37 38 38 38 37 37 36 36 36 36 36 36 37 37 38 40 40 41 41 40 38 37 36 36 36 36 37 37 37 36 35 33 32 30 29 29 29 31 32 33 33 33 32 30 28 27 26 26 26 27 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 28 28 28 29 29 29 28 26 24 23 23 23 24 25 26 28 29 30 32 32 33 -4 -4 -4 -4 -5 -6 -6 -7 -7 -8 -9 -9 -10 -10 -11 -11 -12 -12 -12 -12 -11 -11 -12 -12 -13 -14 -14 -13 -13 -11 -10 -9 -9 -8 -8 -7 -8 -8 -9 -9 -9 -9 -8 -8 -7 -7 -6 -5 -5 -6 -7 -8 -9 -9 -10 -11 -13 -14 -15 -16 -16 -18 -19 -19 -19 -17 -16 -16 -15 -15 -15 -15 -16 -17 -17 -18 -18 -19 -23 -26 -30 -33 -36 -38 -39 -40 -39 -37 -33 -28 -24 -21 -19 -19 -19 -20 -20 -19 -17 -17 -16 -15 -15 -15 -16 -17 -18 -18 -18 -15 -12 -11 -10 -9 -8 -6 -6 -7 -8 -10 -12 -12 -12 -13 -14 -16 -15 -14 -12 -10 -9 -12 -19 -24 -22 -13 -0 6 8 7 4 2 -0 -0 -0 0 1 1 1 2 3 4 5 6 7 8 8 9 8 8 7 7 6 6 6 7 9 10 11 11 11 10 9 8 7 7 6 6 6 6 6 7 7 7 7 7 7 6 6 6 6 7 7 7 6 6 6 6 7 6 5 5 4 3 3 3 3 2 2 2 2 2 1 1 1 1 1 1 0 0 0 1 1 1 1 2 2 3 3 2 2 2 3 3 3 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 9 10 11 12 13 13 13 14 14 14 14 14 15 15 15 15 15 15 15 15 16 16 16 17 17 17 18 18 19 19 20 20 20 21 21 22 22 24 25 26 27 27 27 27 27 26 26 26 26 26 26 26 27 27 28 29 30 31 32 34 35 36 36 36 36 35 35 34 35 35 35 35 35 35 36 37 38 38 38 38 37 35 34 33 33 33 34 35 35 35 34 33 31 30 29 28 28 28 29 30 31 31 31 29 28 26 25 24 25 25 26 27 28 28 28 28 28 29 29 29 29 30 30 30 30 29 29 28 29 29 29 29 28 26 24 23 23 23 24 25 26 28 29 30 31 32 -4 -4 -4 -4 -5 -5 -6 -7 -7 -8 -9 -9 -10 -11 -12 -12 -14 -14 -14 -13 -11 -11 -11 -12 -12 -13 -13 -14 -14 -13 -12 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -9 -9 -8 -7 -6 -7 -7 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -18 -19 -19 -19 -18 -16 -16 -15 -15 -14 -15 -16 -17 -18 -18 -19 -20 -22 -25 -28 -31 -33 -33 -34 -34 -35 -35 -33 -29 -25 -22 -19 -17 -16 -16 -17 -17 -17 -18 -17 -17 -16 -15 -15 -15 -16 -18 -19 -18 -15 -12 -11 -10 -10 -10 -10 -10 -10 -10 -11 -10 -10 -11 -13 -15 -17 -17 -16 -14 -13 -14 -19 -25 -29 -26 -16 -4 4 7 7 5 2 1 0 0 0 1 1 1 2 3 4 5 6 7 7 7 7 7 6 6 5 5 6 7 8 10 10 11 10 9 8 8 7 6 5 5 5 6 6 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 -0 -0 0 0 1 1 1 1 1 1 1 1 1 2 2 3 4 4 5 5 5 4 4 4 4 4 4 4 5 5 6 6 6 5 5 5 6 6 6 6 6 6 6 7 8 8 9 10 11 12 12 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 15 15 15 16 16 17 17 18 18 19 19 19 20 20 21 22 23 24 25 26 27 27 27 26 26 26 25 25 25 25 26 26 26 27 27 28 29 30 31 33 34 34 34 34 34 33 33 33 33 33 33 33 33 33 34 35 35 36 35 34 33 32 31 30 30 31 31 32 32 32 31 31 29 28 27 27 27 27 28 28 29 29 29 28 26 25 24 23 24 24 25 26 26 27 27 27 28 28 29 29 30 30 30 30 30 29 29 29 29 29 30 29 27 25 23 22 23 23 24 25 26 27 29 30 30 -3 -3 -3 -4 -4 -5 -6 -6 -7 -7 -8 -9 -11 -12 -12 -13 -14 -15 -15 -13 -11 -10 -10 -10 -11 -11 -12 -13 -15 -16 -15 -12 -10 -10 -11 -11 -11 -10 -10 -8 -7 -7 -8 -9 -10 -10 -10 -9 -9 -10 -11 -13 -14 -15 -16 -17 -16 -16 -16 -17 -18 -18 -18 -19 -19 -18 -17 -15 -14 -13 -13 -14 -14 -16 -17 -19 -20 -22 -23 -26 -28 -30 -30 -29 -29 -29 -30 -31 -31 -29 -27 -24 -21 -17 -14 -13 -13 -14 -15 -16 -17 -18 -18 -18 -18 -16 -15 -16 -18 -19 -17 -14 -12 -11 -10 -10 -10 -10 -10 -10 -10 -9 -8 -8 -10 -12 -15 -16 -17 -17 -16 -16 -18 -23 -27 -28 -25 -16 -6 2 7 9 6 4 2 1 1 1 1 1 1 2 3 4 5 6 6 6 6 5 5 5 4 5 6 7 8 9 10 10 9 9 8 7 6 5 5 5 5 6 7 7 7 6 6 5 6 6 6 6 6 5 5 5 5 5 5 5 4 4 3 2 1 1 1 0 0 0 0 -0 -0 -0 -0 0 0 0 0 0 -0 -0 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 0 1 2 3 3 4 3 3 2 2 2 3 3 3 3 4 4 4 5 4 4 4 5 5 5 5 5 5 6 6 7 7 8 9 10 11 11 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 15 15 15 16 16 17 17 18 18 19 20 20 21 22 23 24 25 26 26 27 27 26 26 25 25 25 25 25 25 25 25 26 26 26 27 28 29 31 32 32 33 33 32 32 32 31 31 31 31 31 31 30 31 31 32 32 32 32 31 29 28 27 27 27 28 29 29 30 30 29 29 28 27 26 25 25 25 26 27 28 28 27 26 25 24 23 22 23 23 24 25 25 26 26 27 27 28 29 30 31 31 31 31 30 30 29 29 29 30 30 28 26 24 22 22 22 23 23 24 25 27 28 29 -4 -3 -3 -3 -4 -4 -4 -5 -5 -6 -7 -9 -11 -12 -14 -15 -15 -15 -14 -13 -11 -10 -10 -10 -10 -11 -11 -12 -14 -17 -17 -14 -11 -10 -11 -11 -11 -10 -9 -7 -6 -7 -8 -9 -9 -9 -9 -11 -12 -14 -16 -18 -20 -21 -20 -19 -18 -17 -17 -18 -18 -17 -17 -18 -18 -17 -16 -14 -12 -11 -12 -13 -13 -14 -16 -18 -21 -23 -25 -27 -29 -30 -30 -26 -25 -25 -25 -26 -27 -27 -27 -26 -23 -20 -16 -13 -11 -11 -12 -13 -14 -15 -17 -19 -21 -20 -18 -17 -16 -17 -17 -16 -14 -12 -11 -11 -10 -9 -9 -9 -9 -9 -8 -7 -7 -8 -10 -12 -14 -15 -16 -16 -17 -18 -20 -22 -22 -20 -15 -8 0 7 9 8 6 4 3 2 1 1 1 1 2 3 4 4 5 5 5 4 4 4 4 4 5 6 7 8 9 9 9 8 7 6 5 5 5 5 5 6 7 7 7 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 2 1 1 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 0 0 -0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 0 1 2 2 2 2 1 1 1 1 2 2 2 3 3 3 4 4 4 4 4 4 4 4 4 5 5 6 6 7 8 8 9 10 10 11 11 11 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 15 15 15 16 16 17 18 19 20 21 21 22 23 24 25 25 26 26 26 26 25 24 24 23 23 23 24 24 24 24 24 25 25 26 27 28 29 30 31 31 31 31 30 29 29 29 28 28 28 27 27 27 28 28 28 28 28 27 25 24 24 24 25 26 27 27 28 28 27 27 26 25 25 24 24 24 25 26 27 27 27 26 24 23 22 22 22 22 23 24 25 25 26 27 28 29 30 31 32 32 32 32 30 29 29 29 29 30 29 28 25 23 21 21 22 22 23 24 26 27 28 -4 -4 -3 -3 -3 -3 -3 -4 -4 -5 -6 -8 -10 -12 -14 -15 -15 -14 -13 -12 -11 -11 -10 -10 -11 -11 -11 -12 -14 -16 -17 -15 -11 -8 -7 -8 -7 -7 -6 -6 -6 -7 -7 -7 -7 -7 -8 -9 -12 -15 -18 -20 -20 -20 -19 -20 -20 -19 -18 -18 -18 -16 -16 -16 -15 -14 -14 -12 -11 -11 -12 -13 -14 -16 -18 -20 -21 -23 -25 -27 -29 -29 -28 -25 -22 -21 -20 -20 -21 -23 -25 -26 -26 -24 -20 -16 -13 -11 -10 -9 -9 -10 -12 -15 -19 -20 -20 -19 -18 -17 -16 -16 -14 -13 -13 -13 -11 -10 -8 -8 -8 -9 -9 -8 -6 -4 -3 -4 -5 -7 -10 -14 -14 -15 -14 -14 -14 -14 -15 -14 -10 -1 6 9 9 8 6 4 3 2 1 1 0 1 2 3 4 4 4 3 3 3 3 3 4 6 7 8 8 8 8 7 6 5 5 4 5 5 5 6 7 7 6 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 2 1 0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -0 -0 0 -0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 1 1 1 0 -0 -0 0 1 1 1 2 2 2 3 3 3 3 4 4 4 4 4 4 4 5 6 6 7 8 8 9 9 9 10 10 10 11 11 12 12 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 15 15 16 16 17 18 20 21 21 22 23 23 24 24 24 25 24 24 23 22 22 21 21 21 21 22 22 22 22 22 23 24 25 26 27 28 28 28 29 28 28 27 26 26 25 25 25 24 24 24 24 24 24 25 25 24 23 22 22 22 22 23 24 25 26 26 26 26 25 25 24 23 23 23 24 24 25 26 26 26 25 24 22 22 21 22 22 23 24 25 26 27 27 28 29 31 32 33 33 33 32 30 29 28 28 29 29 28 26 24 22 21 21 21 22 23 24 26 28 -3 -3 -3 -2 -3 -3 -3 -3 -3 -4 -5 -7 -8 -10 -12 -13 -13 -13 -12 -12 -12 -12 -11 -11 -12 -12 -13 -14 -14 -15 -15 -12 -9 -6 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -7 -9 -11 -13 -15 -17 -17 -17 -16 -15 -15 -17 -18 -18 -15 -13 -12 -10 -9 -9 -9 -9 -10 -12 -14 -16 -19 -21 -21 -20 -19 -20 -22 -24 -25 -24 -23 -20 -18 -16 -15 -16 -18 -20 -23 -25 -25 -24 -21 -18 -15 -13 -10 -8 -7 -8 -11 -14 -16 -17 -18 -18 -19 -19 -18 -16 -14 -12 -10 -10 -9 -8 -7 -7 -8 -10 -10 -8 -4 2 6 8 6 0 -6 -11 -14 -13 -12 -9 -7 -6 -6 -6 -5 -1 4 8 10 10 8 6 4 3 1 0 -0 0 1 2 3 3 2 2 2 2 3 4 5 6 7 7 8 8 7 6 5 5 5 5 5 6 7 7 6 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 2 1 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 -0 -1 -1 -1 -1 -0 0 1 1 1 1 2 2 2 3 3 3 3 3 3 3 3 4 5 6 6 7 7 8 8 8 8 8 9 9 9 10 11 12 12 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 15 16 17 18 19 20 21 21 21 21 21 22 22 22 22 21 20 19 19 18 18 18 19 19 19 19 20 20 21 21 22 23 24 24 25 25 25 25 25 24 23 23 22 22 22 22 21 21 21 21 21 22 22 22 22 21 20 20 20 21 22 23 24 24 25 24 24 23 23 22 22 21 22 23 24 25 26 26 25 24 23 22 21 21 22 23 24 25 26 26 27 28 29 30 31 32 33 33 32 31 30 28 28 28 29 29 28 25 23 21 20 20 21 22 23 25 27 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -5 -6 -8 -9 -11 -11 -12 -12 -13 -14 -14 -13 -13 -13 -14 -15 -16 -16 -16 -13 -9 -6 -5 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -6 -7 -8 -9 -11 -12 -13 -13 -13 -14 -16 -19 -19 -18 -15 -13 -10 -8 -6 -5 -6 -6 -7 -10 -12 -15 -18 -20 -21 -19 -17 -17 -18 -19 -20 -19 -19 -17 -15 -13 -11 -11 -13 -15 -17 -20 -22 -24 -24 -23 -21 -18 -15 -11 -9 -7 -7 -8 -11 -13 -15 -17 -19 -20 -19 -18 -16 -13 -11 -10 -9 -9 -8 -8 -8 -9 -10 -10 -7 2 11 16 16 12 5 -2 -9 -13 -15 -13 -9 -5 -1 0 1 3 4 6 8 10 10 9 7 5 3 2 0 -0 0 1 2 2 1 1 1 1 2 3 4 5 6 7 7 7 7 6 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 4 3 3 3 3 3 2 2 1 -0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -3 -4 -4 -5 -4 -4 -4 -4 -5 -4 -4 -3 -2 -2 -2 -2 -2 -2 -1 -0 0 1 1 0 0 1 1 2 2 2 2 2 2 2 3 3 4 5 6 6 6 7 7 7 7 7 7 8 8 8 9 10 11 11 12 12 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 15 16 17 18 19 19 19 19 19 18 18 18 18 18 18 17 16 15 15 15 15 15 16 16 16 17 17 18 18 19 20 20 21 21 21 22 22 22 21 21 20 20 19 19 19 19 19 19 19 19 20 20 21 21 20 19 19 19 19 20 21 22 23 23 23 23 22 22 21 20 20 20 21 22 23 24 25 25 25 23 22 22 22 22 23 24 25 26 27 27 28 29 30 31 31 32 33 33 32 31 29 28 28 28 29 29 27 24 22 20 19 20 20 21 23 25 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -4 -5 -6 -7 -8 -9 -11 -13 -14 -15 -16 -16 -16 -15 -16 -18 -19 -19 -17 -13 -9 -6 -5 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -9 -10 -10 -11 -13 -15 -18 -20 -21 -20 -19 -16 -14 -12 -10 -7 -5 -5 -4 -4 -6 -9 -12 -15 -17 -17 -17 -16 -15 -15 -15 -15 -15 -15 -14 -13 -11 -9 -8 -9 -10 -12 -14 -17 -20 -23 -24 -24 -23 -21 -18 -14 -11 -8 -6 -7 -8 -10 -13 -15 -16 -17 -17 -16 -15 -12 -10 -9 -9 -9 -10 -10 -10 -10 -9 -7 -2 6 11 13 13 11 7 1 -5 -12 -15 -14 -10 -5 -1 2 4 7 9 9 7 6 7 8 7 6 5 3 2 0 -0 0 0 0 0 0 1 1 2 3 4 5 6 7 7 6 5 5 5 5 5 6 6 6 5 5 5 5 5 4 4 4 3 3 3 3 3 3 2 2 1 -0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -1 -0 0 0 -0 -0 -0 -0 0 1 1 1 2 2 2 2 3 4 4 5 5 6 6 6 6 7 7 7 7 7 7 8 8 9 10 11 11 12 12 12 12 13 13 13 13 13 14 14 14 13 13 13 13 13 14 14 15 16 17 17 17 17 16 16 15 15 15 15 14 14 13 12 12 12 12 12 12 13 13 14 15 15 16 16 17 17 17 17 17 17 17 18 18 18 17 17 17 17 17 18 18 18 19 19 19 20 20 20 20 20 19 19 19 19 20 21 22 22 22 21 21 20 19 19 18 18 18 19 20 22 23 24 25 24 23 22 22 22 22 23 25 26 27 28 28 29 29 30 30 31 32 32 32 31 30 28 28 28 29 30 29 27 24 21 19 18 19 20 21 23 0 0 -1 -1 -2 -2 -2 -1 -1 -1 -1 -2 -3 -4 -5 -6 -7 -9 -11 -13 -14 -15 -16 -17 -17 -18 -19 -19 -19 -18 -14 -8 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -8 -9 -10 -12 -15 -19 -21 -22 -22 -21 -19 -18 -17 -15 -13 -11 -8 -6 -5 -3 -3 -6 -9 -10 -10 -11 -13 -14 -13 -12 -12 -11 -11 -10 -10 -10 -10 -9 -7 -7 -8 -9 -10 -12 -15 -18 -22 -24 -25 -24 -23 -21 -17 -13 -10 -8 -7 -7 -9 -11 -12 -13 -14 -15 -14 -13 -11 -10 -10 -10 -11 -12 -12 -12 -10 -8 -5 -2 0 3 4 4 5 5 2 -3 -9 -12 -12 -9 -7 -6 -3 1 5 10 12 11 8 4 1 2 5 5 5 4 2 0 0 -0 -0 -0 0 1 2 3 4 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 3 2 1 0 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -4 -5 -5 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -2 -2 -1 -0 -0 -0 -1 -1 -1 -1 -0 0 1 1 1 2 2 3 3 4 4 5 5 5 6 6 6 6 7 7 7 7 7 8 8 9 9 10 11 11 11 12 12 12 12 12 12 12 12 12 13 12 12 12 12 12 13 13 14 14 15 15 15 14 14 13 13 12 12 12 12 12 11 10 10 9 9 9 9 10 11 12 12 13 13 14 14 14 14 13 13 13 13 14 14 15 15 15 15 15 16 16 17 18 18 19 19 20 20 20 20 20 19 19 18 19 19 20 20 21 21 20 20 19 18 17 16 16 16 16 18 20 22 23 24 24 23 22 22 21 22 23 24 25 26 27 28 29 29 29 29 29 31 32 32 32 30 29 28 27 28 29 30 29 26 22 19 17 17 18 19 21 1 1 -0 -2 -3 -3 -2 -2 -2 -1 -1 -1 -1 -2 -3 -5 -6 -7 -9 -11 -13 -14 -15 -17 -17 -18 -18 -19 -19 -17 -13 -8 -5 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -7 -6 -6 -6 -6 -6 -7 -8 -9 -12 -16 -20 -23 -23 -22 -21 -20 -20 -18 -17 -16 -14 -11 -8 -6 -4 -3 -4 -6 -5 -5 -5 -7 -10 -10 -9 -8 -7 -7 -7 -6 -7 -8 -8 -7 -6 -6 -7 -8 -9 -11 -14 -17 -21 -22 -23 -24 -23 -21 -19 -17 -13 -10 -8 -8 -9 -10 -10 -11 -12 -13 -12 -11 -10 -10 -10 -11 -12 -14 -15 -14 -10 -8 -8 -7 -7 -6 -6 -4 -0 2 0 -4 -8 -10 -10 -10 -10 -11 -9 -5 1 8 12 10 6 3 2 2 3 5 6 5 3 2 1 1 0 1 1 2 3 4 5 5 6 6 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 3 3 3 2 3 3 3 2 2 1 0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -1 -0 0 1 1 1 2 2 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 8 9 9 9 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 13 13 13 13 12 12 11 11 10 10 10 10 10 9 8 7 7 7 7 8 9 9 10 10 11 12 13 13 12 11 11 10 10 10 11 11 12 13 13 14 14 15 16 17 18 18 19 20 20 21 20 20 20 19 18 18 18 18 19 19 19 19 18 17 16 16 15 15 14 15 16 18 20 22 23 24 23 22 21 21 21 22 23 24 25 27 28 28 28 28 28 28 29 30 31 32 31 30 28 28 28 29 30 30 29 25 20 17 15 16 17 19 -0 0 -1 -3 -4 -4 -3 -2 -2 -1 -1 -1 -1 -2 -2 -3 -4 -5 -6 -8 -10 -11 -13 -15 -16 -17 -18 -18 -18 -16 -12 -8 -5 -3 -2 -2 -3 -3 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -7 -9 -12 -16 -19 -21 -22 -21 -20 -19 -19 -19 -18 -17 -15 -12 -9 -6 -4 -3 -3 -4 -4 -3 -3 -4 -5 -5 -5 -4 -4 -5 -5 -4 -4 -6 -7 -7 -5 -5 -6 -7 -8 -9 -10 -13 -15 -16 -17 -18 -19 -19 -20 -21 -20 -17 -13 -11 -11 -10 -9 -9 -9 -10 -10 -10 -10 -11 -10 -10 -12 -14 -15 -15 -13 -11 -10 -10 -11 -11 -11 -10 -8 -5 -4 -4 -6 -7 -8 -9 -10 -12 -15 -15 -12 -5 3 7 7 7 8 7 8 7 7 6 7 6 5 3 2 2 2 3 3 4 4 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 2 2 2 2 2 2 2 2 1 0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 -1 -1 -2 -3 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -3 -3 -3 -2 -2 -2 -1 -1 -1 -2 -2 -2 -1 -1 -0 1 1 1 2 2 3 3 4 4 4 5 5 6 6 7 7 8 8 8 8 9 9 9 9 9 10 10 10 10 11 11 10 10 10 10 9 9 9 9 9 9 9 10 10 10 10 10 11 11 11 11 11 11 11 11 10 9 9 9 9 9 8 8 7 6 5 5 5 6 7 7 8 8 9 11 12 12 11 10 9 8 8 8 8 8 9 10 11 11 12 12 13 14 16 17 18 19 20 20 20 20 20 19 18 18 17 17 17 18 18 17 16 16 15 14 14 13 13 13 14 15 17 19 21 22 22 21 20 20 20 20 21 22 23 25 26 27 27 27 27 27 28 29 30 31 31 30 29 28 28 29 30 31 31 28 23 18 15 14 15 17 -1 -1 -1 -3 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -6 -7 -8 -10 -12 -14 -15 -16 -17 -17 -15 -12 -9 -6 -4 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -6 -7 -10 -12 -15 -17 -18 -19 -19 -18 -17 -18 -18 -18 -16 -14 -12 -8 -6 -5 -3 -2 -2 -2 -3 -3 -4 -4 -3 -2 -2 -2 -2 -3 -3 -4 -4 -5 -6 -4 -2 -2 -4 -4 -5 -6 -7 -9 -10 -13 -15 -17 -18 -19 -21 -21 -21 -18 -15 -14 -14 -12 -10 -9 -8 -7 -8 -10 -11 -11 -11 -11 -12 -13 -13 -13 -13 -12 -12 -12 -13 -12 -13 -13 -13 -12 -11 -10 -9 -7 -6 -7 -9 -13 -17 -19 -17 -10 -3 3 7 12 15 15 14 12 11 12 12 11 9 7 5 4 4 4 4 4 4 4 4 4 5 5 4 4 3 3 3 3 4 4 3 3 3 3 2 2 2 2 2 2 2 2 2 1 0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -4 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -4 -5 -6 -7 -7 -7 -6 -6 -5 -5 -5 -4 -4 -3 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -1 -1 -0 1 1 2 2 2 3 3 3 3 4 4 5 5 6 7 8 8 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 9 9 8 8 8 8 7 8 8 8 8 8 9 9 9 9 10 10 10 10 10 10 9 9 8 8 8 8 7 7 7 6 5 4 4 4 4 5 5 6 7 8 9 10 11 10 10 9 8 7 6 6 6 6 7 8 9 9 10 11 12 13 15 16 18 19 20 20 20 19 19 18 18 17 16 16 16 16 16 15 14 14 13 12 12 11 11 12 13 14 16 18 19 20 20 19 18 18 18 19 20 21 22 24 25 26 27 27 27 28 28 29 30 30 30 29 28 28 28 29 30 31 30 26 21 15 12 13 15 -1 -1 -3 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -6 -8 -10 -12 -12 -13 -13 -14 -13 -12 -10 -8 -6 -5 -4 -4 -3 -3 -4 -4 -4 -5 -6 -6 -7 -7 -7 -8 -8 -8 -9 -10 -12 -14 -15 -16 -16 -15 -15 -15 -16 -17 -17 -15 -12 -10 -7 -6 -6 -4 -3 -2 -3 -3 -3 -3 -2 -1 -0 -0 -1 -2 -3 -4 -4 -4 -4 -4 -3 -2 -2 -3 -4 -3 -3 -3 -4 -5 -8 -11 -13 -15 -15 -16 -18 -20 -20 -18 -16 -16 -14 -12 -10 -8 -8 -8 -9 -10 -11 -11 -11 -10 -10 -10 -11 -12 -13 -12 -12 -13 -13 -14 -15 -16 -17 -18 -18 -16 -12 -9 -6 -6 -9 -13 -17 -19 -17 -12 -6 0 8 14 17 19 20 20 19 20 19 16 13 11 8 7 5 5 4 4 4 4 4 4 4 4 3 2 2 2 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 1 0 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -6 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 0 1 2 2 3 3 3 3 4 4 4 4 5 6 7 8 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 8 8 7 7 7 7 7 6 6 6 7 7 7 8 8 8 9 9 9 8 8 8 8 7 7 7 6 6 6 6 6 5 4 3 3 3 3 3 4 4 5 7 8 9 9 9 9 8 8 7 6 5 4 4 5 5 6 7 7 8 9 10 12 14 16 17 18 19 19 18 18 18 18 17 16 16 15 15 14 14 13 13 12 11 11 10 10 10 11 12 13 15 16 17 17 17 16 16 16 16 17 18 19 21 23 25 26 27 27 27 27 28 28 29 29 29 29 28 28 29 30 31 31 29 24 18 12 12 13 -1 -2 -3 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -5 -5 -6 -8 -9 -10 -9 -9 -9 -10 -12 -12 -12 -11 -9 -7 -5 -3 -2 -2 -3 -5 -6 -7 -8 -9 -8 -9 -10 -10 -11 -12 -13 -13 -13 -13 -14 -14 -13 -12 -12 -12 -13 -15 -15 -13 -11 -8 -6 -7 -8 -7 -6 -4 -4 -3 -2 -2 -1 -0 1 1 1 -1 -4 -6 -6 -6 -5 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -5 -8 -10 -11 -12 -12 -15 -18 -19 -18 -16 -16 -15 -14 -12 -10 -9 -9 -9 -10 -10 -11 -12 -13 -13 -13 -14 -14 -14 -13 -13 -12 -13 -15 -17 -18 -19 -21 -22 -21 -19 -15 -10 -7 -6 -8 -12 -16 -17 -15 -13 -10 -5 1 8 14 20 23 26 26 24 22 20 17 14 11 9 6 5 4 4 4 4 4 3 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 1 0 -1 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -7 -7 -7 -7 -6 -6 -5 -5 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 2 3 3 4 4 4 4 4 4 4 5 6 7 8 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 8 8 7 7 7 6 6 6 6 6 6 6 6 6 7 7 7 8 8 8 7 7 7 7 7 7 6 6 6 6 6 6 5 5 4 4 3 2 2 2 3 3 4 5 6 6 7 7 7 7 7 6 6 5 4 3 3 3 4 5 6 6 7 9 10 12 14 16 17 18 18 18 17 17 17 17 16 16 15 14 14 13 13 12 11 10 9 9 8 8 8 9 10 11 13 14 14 14 14 13 13 14 14 15 17 19 21 23 25 27 27 27 27 27 27 28 28 29 29 28 28 28 29 30 31 30 27 22 15 12 12 -1 -2 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -5 -6 -6 -7 -7 -8 -8 -8 -7 -8 -9 -10 -11 -12 -12 -10 -8 -4 -2 -2 -2 -3 -4 -5 -7 -8 -9 -9 -10 -11 -11 -11 -11 -12 -13 -13 -12 -12 -12 -11 -10 -9 -9 -9 -11 -11 -10 -9 -8 -8 -9 -11 -11 -10 -8 -6 -4 -3 -2 -1 -0 0 1 0 -1 -3 -5 -7 -8 -7 -3 -2 -2 -1 -1 -1 -2 -2 -3 -3 -3 -4 -6 -8 -9 -9 -9 -11 -13 -14 -14 -14 -15 -15 -15 -13 -11 -10 -9 -10 -10 -10 -10 -11 -12 -13 -14 -14 -15 -15 -15 -15 -14 -14 -15 -17 -20 -21 -21 -23 -23 -22 -19 -15 -11 -8 -6 -7 -10 -13 -15 -15 -15 -15 -11 -5 0 5 10 16 19 20 21 20 18 17 15 13 10 7 5 4 3 3 3 2 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 1 1 1 2 2 2 1 0 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -7 -7 -7 -7 -6 -6 -5 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 0 1 2 2 3 4 4 5 5 5 5 5 5 6 6 7 8 9 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 8 8 7 7 7 6 6 6 6 6 6 6 6 5 6 6 6 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 4 3 2 2 1 2 2 3 4 4 4 4 5 5 6 6 6 6 5 4 3 3 3 3 4 4 5 6 7 8 10 12 14 15 16 17 17 17 17 17 17 16 16 15 14 13 12 12 11 11 10 9 8 7 7 7 7 8 9 10 11 11 11 11 11 11 11 12 13 14 16 19 22 24 26 27 27 27 27 27 27 28 28 29 28 28 28 28 29 30 30 29 26 20 14 11 -2 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -8 -9 -10 -10 -10 -9 -7 -5 -4 -3 -2 -3 -3 -3 -5 -6 -8 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -11 -10 -9 -7 -6 -6 -7 -8 -8 -8 -9 -10 -12 -13 -13 -13 -11 -9 -7 -6 -4 -4 -3 -2 -2 -1 -1 -3 -5 -6 -7 -7 -4 -3 -2 -2 -1 -1 -1 -2 -2 -3 -4 -5 -6 -7 -7 -7 -8 -9 -11 -12 -12 -12 -13 -15 -15 -15 -13 -11 -10 -10 -10 -10 -10 -11 -12 -12 -13 -14 -16 -17 -17 -17 -17 -16 -15 -17 -19 -21 -21 -23 -24 -23 -21 -19 -16 -12 -8 -4 -2 -5 -10 -14 -16 -14 -12 -10 -8 -6 -4 -2 -0 1 4 5 6 9 13 15 14 11 8 5 4 3 2 1 1 0 0 0 0 1 1 1 2 2 2 2 2 2 1 1 1 1 2 2 2 1 1 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -5 -6 -6 -7 -7 -7 -6 -5 -5 -4 -3 -3 -2 -2 -1 -1 -1 -0 -0 -0 0 0 0 0 1 1 2 3 4 4 5 5 6 6 6 6 6 6 7 7 8 9 9 10 10 10 10 10 10 10 10 10 10 10 9 9 8 8 8 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 4 3 2 2 1 1 2 2 3 3 3 3 3 4 5 6 6 6 6 5 4 3 3 3 4 5 5 6 7 8 10 12 13 15 15 15 16 16 15 15 15 15 14 13 12 11 11 10 9 9 8 7 6 6 5 5 5 6 7 8 9 9 9 10 10 10 10 11 13 15 17 20 22 24 26 27 27 27 27 27 28 28 29 29 28 28 27 28 29 29 29 28 24 18 13 -2 -3 -4 -4 -4 -3 -3 -2 -2 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -3 -4 -6 -6 -7 -8 -8 -9 -9 -9 -8 -7 -6 -5 -4 -3 -2 -2 -2 -2 -4 -6 -8 -10 -10 -9 -10 -10 -11 -11 -11 -11 -11 -12 -11 -9 -8 -6 -5 -5 -5 -6 -7 -9 -10 -12 -13 -13 -14 -15 -15 -13 -12 -10 -9 -8 -8 -7 -5 -3 -3 -4 -6 -6 -5 -5 -4 -3 -3 -2 -1 -1 -1 -1 -1 -2 -4 -5 -6 -7 -7 -7 -8 -9 -11 -12 -12 -11 -11 -13 -15 -15 -15 -13 -12 -11 -11 -11 -11 -11 -12 -12 -13 -14 -16 -18 -19 -19 -19 -18 -17 -17 -18 -19 -20 -22 -23 -23 -23 -21 -19 -16 -12 -8 -5 -5 -7 -11 -14 -15 -13 -12 -12 -10 -8 -7 -5 -4 -3 -2 -1 3 5 7 10 14 13 9 6 3 2 1 0 -0 -0 -0 -0 0 1 1 1 1 2 2 1 1 1 1 1 1 2 2 2 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 0 1 1 1 1 1 1 2 3 3 4 5 5 6 6 7 7 7 7 7 7 8 8 8 9 9 9 9 10 10 10 10 10 10 10 9 9 9 8 8 8 8 8 8 8 8 8 8 8 7 7 6 6 5 5 5 5 4 4 4 4 4 4 4 5 6 6 7 7 7 6 6 6 5 5 5 5 4 3 2 2 1 1 2 2 2 2 2 3 3 4 5 6 6 6 6 5 5 4 4 4 4 5 5 6 7 8 9 11 12 13 13 14 14 13 13 13 13 13 12 11 10 9 9 8 8 7 6 6 5 4 3 3 4 4 5 6 7 7 8 8 9 10 10 11 13 15 18 20 22 24 26 27 27 27 28 28 28 29 29 29 27 27 27 28 29 29 30 28 23 17 -3 -4 -4 -4 -3 -2 -2 -1 -1 -0 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -2 -3 -5 -6 -8 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -4 -3 -3 -2 -2 -4 -6 -9 -10 -9 -8 -7 -8 -8 -9 -9 -10 -11 -12 -11 -9 -8 -7 -6 -5 -6 -8 -10 -11 -12 -13 -12 -12 -13 -15 -17 -17 -16 -15 -14 -14 -15 -13 -10 -6 -5 -6 -7 -7 -5 -3 -4 -3 -3 -2 -2 -2 -1 -1 -1 -2 -3 -5 -6 -7 -7 -7 -8 -10 -12 -13 -14 -12 -10 -11 -13 -14 -15 -14 -13 -13 -12 -13 -12 -12 -12 -12 -13 -14 -16 -18 -19 -20 -19 -19 -18 -18 -17 -18 -20 -21 -22 -23 -23 -22 -20 -18 -15 -12 -9 -7 -7 -9 -11 -14 -14 -14 -14 -13 -11 -9 -8 -7 -5 -5 -5 -4 -1 2 5 10 13 13 10 6 3 1 -0 -1 -1 -1 -1 -0 0 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -2 -2 -1 -1 -0 -0 0 1 1 1 2 2 2 2 2 3 4 4 5 5 6 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 10 10 10 10 10 9 9 9 8 8 9 9 9 9 9 9 9 8 8 8 7 7 6 5 5 4 4 3 3 2 2 2 3 3 4 5 6 7 7 7 7 7 6 6 5 5 5 5 4 3 2 2 1 2 2 2 2 2 2 3 3 4 4 5 6 6 6 6 5 5 4 4 4 4 5 5 5 6 8 9 10 11 11 11 11 11 11 11 10 10 9 8 7 7 7 7 6 5 4 3 3 2 2 2 2 3 4 5 6 7 7 8 8 9 10 11 13 15 17 20 22 24 26 27 27 28 28 29 29 30 29 28 27 26 27 28 29 30 30 28 23 -3 -3 -4 -3 -2 -1 -1 -0 -0 -0 -0 0 -0 -0 -1 -0 -0 -0 -1 -1 -1 -1 -2 -4 -5 -7 -9 -10 -10 -10 -9 -9 -8 -7 -6 -6 -5 -4 -4 -3 -3 -3 -5 -7 -9 -10 -8 -7 -6 -6 -6 -7 -8 -9 -10 -11 -10 -10 -9 -8 -8 -9 -10 -12 -14 -14 -13 -11 -11 -11 -12 -14 -16 -17 -19 -20 -20 -21 -20 -18 -14 -10 -7 -7 -8 -7 -5 -4 -4 -4 -4 -3 -3 -3 -3 -2 -2 -3 -3 -4 -6 -6 -6 -6 -8 -11 -13 -15 -15 -14 -11 -10 -10 -12 -13 -14 -14 -14 -14 -14 -13 -12 -12 -13 -13 -15 -17 -18 -19 -19 -19 -20 -20 -20 -19 -19 -20 -21 -22 -22 -23 -23 -22 -20 -17 -14 -11 -9 -8 -8 -9 -11 -13 -15 -15 -15 -13 -11 -10 -9 -8 -6 -6 -7 -7 -6 -2 3 6 8 9 9 6 4 1 -0 -1 -1 -1 -1 -0 -0 0 0 0 0 0 0 0 1 1 1 2 2 2 2 2 1 1 0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -5 -5 -6 -6 -5 -5 -5 -4 -4 -3 -3 -2 -1 -1 -1 -0 0 1 1 2 2 2 2 2 2 3 3 4 5 5 6 6 7 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 10 10 10 10 9 9 9 8 8 9 9 9 10 10 10 9 9 8 8 7 7 6 5 4 4 3 3 2 2 1 1 2 2 3 4 5 6 7 8 8 7 7 6 6 5 5 5 5 4 4 3 2 2 2 2 3 3 2 2 2 2 2 3 4 4 5 5 5 5 4 4 4 4 4 4 4 4 5 6 7 7 8 8 8 8 8 8 8 7 7 6 6 6 5 5 5 4 3 2 1 1 1 1 1 2 3 4 5 5 6 7 7 8 9 10 11 13 15 17 20 22 24 26 27 27 28 29 30 30 31 30 28 26 26 26 28 30 31 31 29 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -0 0 0 0 0 0 1 0 -0 -1 -1 -2 -3 -5 -6 -8 -10 -11 -11 -10 -10 -9 -9 -8 -7 -6 -5 -5 -5 -4 -4 -4 -5 -7 -8 -8 -7 -5 -5 -5 -6 -7 -8 -8 -9 -9 -9 -10 -10 -11 -13 -14 -16 -17 -17 -16 -14 -11 -10 -10 -11 -12 -13 -15 -17 -20 -23 -24 -24 -21 -18 -15 -11 -8 -7 -7 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -4 -5 -7 -7 -6 -6 -7 -10 -12 -14 -15 -15 -13 -10 -9 -9 -10 -12 -13 -14 -15 -15 -14 -13 -13 -13 -15 -16 -17 -18 -19 -19 -18 -20 -21 -22 -21 -19 -19 -20 -21 -21 -22 -23 -24 -22 -19 -15 -12 -10 -9 -9 -9 -10 -12 -14 -16 -17 -15 -13 -12 -11 -9 -7 -7 -8 -9 -9 -8 -4 -2 0 2 4 4 3 2 1 -1 -2 -2 -2 -1 -1 -1 -0 -0 -0 -0 0 0 0 1 1 2 2 2 2 2 1 1 1 0 0 -0 -0 -0 -0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 -1 -1 -0 -0 0 1 2 2 2 2 2 2 3 3 4 4 5 6 6 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 8 8 8 8 8 8 9 10 10 10 10 9 8 7 7 6 6 5 4 4 3 2 2 1 1 1 1 1 2 3 4 5 6 7 8 8 7 7 6 5 5 5 5 5 4 4 3 2 2 2 3 3 2 2 1 0 0 0 1 2 3 4 5 4 4 3 3 3 3 3 3 3 3 4 4 5 5 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 3 2 1 0 0 0 1 1 2 3 4 5 5 5 6 6 7 8 9 11 13 15 18 20 22 24 25 26 27 28 29 31 32 31 30 28 26 25 27 29 31 33 33 -5 -5 -4 -4 -3 -3 -3 -2 -2 -2 -1 -1 -0 0 0 0 0 0 -1 -2 -1 -3 -4 -6 -7 -8 -10 -10 -11 -11 -10 -10 -10 -9 -7 -6 -5 -5 -5 -4 -4 -5 -5 -6 -6 -5 -5 -5 -5 -5 -7 -8 -9 -10 -9 -9 -8 -9 -11 -13 -14 -15 -15 -15 -15 -14 -13 -11 -10 -10 -11 -13 -14 -14 -15 -18 -21 -24 -24 -23 -20 -17 -14 -10 -9 -8 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -6 -6 -6 -6 -6 -7 -9 -12 -13 -14 -14 -13 -12 -10 -9 -10 -11 -13 -15 -15 -15 -14 -14 -15 -16 -17 -17 -18 -18 -19 -19 -20 -22 -23 -23 -20 -19 -20 -21 -21 -20 -23 -24 -24 -21 -16 -12 -10 -9 -9 -10 -11 -12 -14 -16 -17 -16 -14 -12 -11 -10 -9 -9 -9 -9 -10 -10 -8 -6 -5 -3 -2 -1 -1 -1 -1 -0 -1 -2 -3 -3 -2 -2 -1 -1 -1 -0 -0 0 1 1 1 2 2 2 2 1 1 1 1 1 0 0 -0 -0 -0 -0 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -4 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 0 1 1 2 2 3 3 3 3 3 4 4 5 5 6 7 7 8 8 9 9 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 8 8 7 7 7 7 7 8 9 9 10 9 9 8 7 6 6 6 5 4 3 3 2 2 1 1 1 1 1 1 2 2 3 4 6 7 7 7 7 6 6 5 5 5 5 5 4 4 3 2 2 2 2 2 1 0 -1 -1 -1 -1 0 1 2 3 3 3 3 2 2 2 2 2 2 2 2 3 3 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 2 1 1 1 1 1 1 2 3 4 5 5 5 5 5 6 7 8 9 11 13 15 17 20 22 23 25 26 27 28 30 32 33 32 30 27 25 26 28 30 33 35 -7 -7 -6 -5 -5 -4 -4 -4 -4 -3 -3 -2 -2 -1 -0 0 -0 -1 -2 -3 -3 -4 -6 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -8 -6 -5 -5 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -8 -9 -10 -11 -12 -12 -12 -11 -11 -11 -11 -11 -12 -12 -11 -10 -10 -10 -10 -9 -9 -10 -11 -13 -13 -14 -14 -16 -17 -19 -21 -21 -21 -20 -18 -14 -11 -10 -9 -9 -9 -8 -7 -6 -6 -6 -5 -5 -4 -4 -4 -5 -5 -5 -6 -5 -5 -5 -7 -9 -11 -12 -14 -15 -14 -13 -11 -11 -11 -11 -13 -14 -15 -15 -15 -16 -16 -16 -16 -17 -18 -20 -21 -21 -21 -20 -21 -21 -20 -18 -18 -19 -20 -22 -23 -23 -21 -17 -13 -9 -8 -8 -9 -10 -12 -13 -15 -16 -16 -14 -13 -12 -11 -11 -10 -10 -10 -11 -11 -9 -8 -7 -7 -6 -6 -6 -6 -4 -2 -2 -3 -4 -4 -4 -3 -3 -2 -1 -1 -0 0 1 1 1 1 2 2 1 1 1 1 1 1 1 0 0 0 -0 -0 -1 -1 -2 -2 -3 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 0 0 1 2 2 2 2 3 3 3 3 4 4 5 5 6 7 8 8 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 6 6 5 5 6 6 7 8 8 9 8 7 7 6 6 5 5 4 3 2 2 1 1 1 1 1 1 1 1 1 2 3 4 5 6 7 7 7 6 6 5 5 5 4 4 4 3 2 1 1 1 1 1 -0 -1 -2 -3 -2 -2 -0 1 2 3 3 3 2 2 2 2 2 2 2 2 2 2 3 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 3 2 2 2 2 2 2 2 3 4 5 5 5 4 4 5 6 7 8 9 10 12 14 17 19 21 23 24 25 26 28 31 33 33 32 29 25 25 26 29 32 35 -8 -8 -7 -7 -6 -5 -5 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -2 -3 -4 -4 -5 -5 -6 -6 -7 -6 -6 -6 -7 -8 -8 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -6 -7 -9 -11 -12 -14 -15 -15 -15 -14 -14 -12 -11 -9 -9 -9 -8 -7 -6 -5 -6 -6 -7 -8 -10 -12 -12 -13 -13 -13 -14 -15 -16 -17 -19 -20 -20 -19 -16 -13 -11 -11 -12 -11 -9 -7 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -5 -4 -4 -4 -6 -9 -11 -13 -15 -15 -15 -13 -13 -12 -12 -12 -12 -13 -14 -15 -15 -16 -16 -16 -17 -19 -22 -23 -24 -23 -21 -21 -21 -20 -18 -17 -17 -19 -21 -23 -23 -21 -17 -13 -10 -7 -6 -7 -8 -10 -11 -12 -13 -13 -14 -14 -14 -14 -13 -12 -12 -12 -11 -11 -10 -9 -8 -7 -8 -8 -8 -8 -8 -7 -5 -4 -4 -5 -5 -4 -4 -3 -2 -1 -0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 -0 -0 -1 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -3 -3 -4 -4 -4 -5 -5 -5 -4 -4 -3 -3 -3 -2 -1 -1 -1 -0 0 0 1 1 2 2 2 2 2 3 3 3 4 4 5 6 7 7 8 8 8 8 8 8 7 7 7 8 8 8 8 8 7 7 7 7 7 7 7 7 7 6 5 5 4 4 4 5 6 6 7 8 8 7 7 6 6 5 5 4 3 2 1 1 1 1 1 0 0 0 1 1 1 2 3 4 5 6 7 7 7 6 6 5 4 4 4 3 3 2 1 0 -0 -0 -0 -1 -1 -2 -3 -3 -3 -2 -0 1 2 3 3 2 2 2 2 1 1 1 1 1 2 3 4 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 3 2 2 2 2 2 2 3 4 5 5 5 4 4 4 5 6 7 8 9 11 14 16 19 20 22 23 24 26 29 31 33 33 31 27 25 25 28 31 34 -8 -8 -7 -7 -6 -6 -4 -4 -4 -4 -4 -3 -2 -1 -1 -2 -3 -4 -5 -6 -6 -5 -5 -6 -6 -7 -6 -6 -6 -6 -7 -7 -7 -6 -6 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -8 -9 -10 -12 -13 -15 -16 -17 -17 -16 -15 -13 -10 -9 -8 -8 -8 -7 -5 -4 -4 -4 -5 -6 -8 -9 -10 -10 -10 -11 -11 -11 -12 -13 -15 -17 -20 -21 -19 -16 -13 -13 -14 -13 -12 -9 -7 -6 -6 -6 -6 -7 -6 -5 -4 -4 -4 -4 -4 -3 -3 -4 -7 -10 -13 -14 -15 -15 -15 -15 -14 -13 -12 -12 -13 -13 -13 -14 -15 -16 -16 -17 -20 -23 -25 -25 -24 -23 -22 -23 -22 -21 -19 -17 -17 -19 -21 -22 -21 -19 -15 -12 -9 -7 -6 -5 -6 -8 -10 -10 -10 -12 -14 -17 -17 -16 -14 -12 -12 -12 -12 -11 -10 -9 -8 -8 -9 -9 -10 -11 -12 -10 -7 -6 -6 -6 -5 -5 -4 -3 -1 -0 0 0 1 1 1 1 1 1 0 0 -0 -0 -0 0 0 0 0 -0 -1 -1 -2 -2 -3 -3 -4 -4 -5 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -3 -3 -3 -2 -1 -1 -0 -0 0 1 1 1 2 2 2 2 2 2 3 3 4 4 5 6 7 8 8 8 8 7 7 7 6 7 7 7 7 8 8 7 7 6 6 5 5 5 5 6 5 5 4 4 3 3 3 3 4 5 6 7 7 7 7 6 6 5 5 4 3 2 1 0 0 0 0 0 0 0 0 1 1 1 2 2 3 4 5 6 7 7 6 5 4 4 3 3 2 2 1 -0 -1 -1 -1 -1 -2 -3 -4 -4 -4 -3 -1 0 2 3 3 3 3 2 2 1 1 1 1 1 1 3 4 6 7 8 8 8 8 8 8 8 8 8 7 7 6 6 5 4 3 2 1 1 1 1 1 1 3 4 5 5 4 3 2 3 3 4 5 7 9 11 13 16 18 20 21 22 24 26 29 31 33 33 30 27 25 26 29 33 -8 -7 -7 -6 -6 -6 -5 -4 -4 -4 -3 -2 -2 -1 -2 -3 -4 -5 -5 -6 -7 -7 -6 -6 -6 -6 -6 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -6 -7 -7 -7 -7 -8 -9 -9 -9 -9 -10 -10 -11 -13 -15 -17 -18 -18 -16 -14 -12 -11 -9 -9 -9 -9 -9 -8 -6 -4 -4 -4 -5 -6 -6 -7 -7 -7 -8 -8 -9 -9 -10 -11 -13 -16 -18 -18 -16 -15 -14 -15 -15 -13 -11 -9 -8 -7 -7 -7 -7 -6 -6 -5 -5 -5 -4 -3 -3 -3 -5 -7 -9 -11 -13 -15 -15 -15 -15 -15 -14 -14 -14 -14 -13 -13 -13 -13 -15 -15 -16 -19 -23 -26 -26 -25 -24 -23 -23 -24 -24 -22 -19 -16 -16 -18 -20 -20 -19 -17 -14 -11 -9 -7 -6 -5 -5 -7 -8 -7 -8 -12 -16 -20 -20 -17 -14 -12 -12 -12 -12 -11 -10 -9 -8 -9 -10 -11 -12 -11 -11 -11 -9 -7 -6 -6 -5 -4 -3 -2 -1 -0 -0 0 0 0 0 0 0 0 -0 -0 -0 -0 -0 0 0 0 -0 -1 -1 -2 -2 -3 -3 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -0 0 1 1 1 1 1 2 2 2 2 2 3 3 4 5 6 6 7 8 8 7 7 6 6 5 6 6 6 7 7 7 7 7 6 6 5 4 4 3 4 4 4 4 3 3 2 2 2 2 2 3 4 5 6 7 7 7 6 6 5 5 3 2 1 -0 -0 -1 -0 -0 -0 -0 0 0 0 0 0 1 1 2 3 4 5 6 6 5 4 3 2 2 2 2 1 -0 -1 -2 -2 -2 -3 -3 -4 -5 -5 -4 -2 -1 1 2 3 3 3 3 2 2 2 1 1 1 1 2 3 5 7 8 9 9 9 9 9 9 9 9 8 8 7 7 6 5 3 2 1 1 0 0 0 -0 1 3 4 5 4 2 1 1 1 2 3 5 6 8 11 13 16 18 19 20 21 23 26 29 32 34 32 30 27 26 27 30 -8 -7 -7 -6 -6 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -3 -4 -5 -6 -7 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -7 -8 -8 -8 -8 -9 -9 -10 -9 -9 -9 -9 -10 -11 -13 -15 -17 -18 -17 -16 -14 -12 -10 -9 -9 -10 -11 -11 -10 -8 -6 -5 -5 -5 -5 -6 -6 -5 -5 -5 -6 -7 -8 -8 -8 -9 -11 -14 -15 -15 -15 -15 -15 -15 -15 -13 -12 -10 -9 -8 -6 -6 -5 -5 -6 -5 -5 -4 -3 -3 -4 -5 -6 -8 -10 -12 -13 -14 -14 -14 -14 -14 -15 -15 -15 -15 -14 -13 -13 -14 -14 -15 -17 -22 -25 -27 -26 -24 -23 -23 -24 -25 -24 -21 -18 -16 -15 -17 -18 -19 -17 -15 -13 -12 -10 -8 -6 -5 -5 -5 -5 -5 -8 -12 -17 -19 -17 -14 -12 -12 -13 -13 -13 -12 -11 -10 -10 -11 -12 -12 -10 -10 -11 -11 -9 -6 -6 -6 -5 -4 -3 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -0 -0 -0 -0 -0 -1 -1 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -1 -1 -0 0 1 1 1 2 2 2 2 2 3 3 3 4 5 5 6 7 7 7 6 6 5 5 4 4 5 5 5 6 6 6 6 6 6 5 4 3 2 2 2 2 2 2 2 2 2 1 1 1 1 2 3 4 5 6 7 7 6 6 5 5 4 3 1 0 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -1 -1 0 2 3 4 5 4 4 3 2 2 2 2 1 0 -1 -2 -3 -3 -3 -4 -4 -5 -5 -5 -4 -2 -1 0 2 2 2 2 2 2 2 2 1 1 1 1 2 3 5 7 9 10 10 10 10 10 9 9 9 8 8 7 6 5 4 2 1 0 0 0 -0 -1 -0 1 3 5 5 3 1 -0 -1 0 1 3 4 6 8 11 13 15 17 18 19 21 24 27 30 33 34 33 30 27 26 28 -6 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -3 -4 -5 -7 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -8 -9 -9 -9 -9 -9 -10 -10 -9 -9 -8 -8 -9 -11 -13 -16 -19 -20 -20 -19 -17 -14 -12 -10 -9 -9 -9 -11 -11 -10 -9 -7 -6 -6 -7 -7 -7 -7 -5 -5 -5 -5 -6 -7 -6 -6 -6 -7 -9 -11 -12 -14 -15 -16 -16 -15 -15 -14 -12 -10 -9 -7 -5 -4 -4 -5 -6 -6 -5 -4 -4 -4 -4 -5 -7 -9 -11 -13 -14 -14 -14 -14 -14 -15 -16 -16 -16 -16 -15 -14 -13 -14 -14 -16 -19 -24 -27 -27 -25 -22 -21 -22 -23 -24 -24 -21 -17 -15 -14 -15 -16 -16 -15 -14 -13 -12 -11 -10 -8 -6 -4 -4 -4 -6 -8 -12 -13 -13 -12 -11 -11 -13 -14 -14 -12 -11 -11 -12 -12 -12 -11 -12 -12 -12 -11 -8 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -2 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -3 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -0 0 1 1 2 2 2 2 2 3 3 4 4 5 6 6 6 6 6 6 5 4 3 3 3 3 4 4 4 5 5 5 5 5 5 5 4 3 2 1 0 -0 -0 0 1 1 1 1 0 -0 -0 0 1 2 4 5 6 6 6 6 6 5 5 4 2 1 -0 -1 -1 -2 -2 -2 -2 -2 -1 -2 -2 -3 -3 -3 -2 -1 1 2 3 4 4 3 2 2 2 2 2 1 -0 -2 -3 -4 -4 -4 -4 -5 -6 -6 -5 -4 -3 -2 -1 -0 1 1 1 2 2 2 2 1 1 0 1 1 3 5 7 8 10 11 11 10 9 9 9 9 8 8 7 6 5 3 2 1 1 0 0 -1 -1 -0 1 4 5 4 2 -0 -2 -1 -0 1 2 4 6 8 11 13 15 17 18 20 22 25 29 32 35 36 34 29 26 26 -6 -6 -7 -7 -6 -6 -6 -6 -5 -5 -4 -3 -3 -3 -3 -2 -3 -4 -5 -7 -8 -8 -8 -6 -5 -4 -3 -3 -4 -4 -5 -6 -7 -9 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -8 -7 -7 -9 -12 -16 -20 -23 -25 -25 -24 -21 -17 -14 -12 -10 -9 -9 -9 -9 -9 -8 -7 -6 -6 -7 -8 -9 -8 -7 -6 -5 -5 -5 -5 -5 -5 -6 -6 -8 -9 -10 -12 -13 -14 -15 -15 -14 -14 -13 -12 -10 -8 -7 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -7 -8 -10 -12 -13 -14 -14 -14 -14 -15 -15 -16 -17 -17 -17 -16 -16 -16 -16 -17 -18 -21 -24 -26 -25 -23 -21 -20 -21 -23 -25 -24 -21 -17 -14 -13 -14 -14 -13 -13 -12 -13 -13 -13 -11 -9 -6 -5 -5 -6 -7 -8 -8 -8 -8 -8 -9 -12 -15 -15 -13 -11 -12 -12 -11 -12 -12 -13 -14 -14 -12 -8 -4 -4 -5 -6 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -0 -0 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -4 -4 -4 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -4 -3 -3 -3 -2 -2 -1 -0 0 1 1 1 2 2 2 3 3 4 5 5 6 6 6 6 6 6 5 4 3 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 3 3 1 0 -1 -2 -2 -2 -1 -0 0 -0 -0 -1 -1 -1 -1 1 2 4 5 6 6 6 5 5 5 4 3 2 0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -5 -4 -3 -1 1 2 3 3 3 3 2 2 2 2 2 1 -1 -2 -4 -4 -4 -4 -5 -6 -6 -6 -6 -5 -4 -4 -3 -2 -1 -0 0 1 2 2 2 1 -0 -1 -0 1 2 4 6 8 10 11 10 9 8 8 8 8 8 8 7 6 4 3 2 1 1 0 -0 -1 -1 -0 2 5 5 3 1 -2 -2 -2 -1 0 2 4 6 9 11 14 16 18 20 22 24 28 31 34 37 37 33 28 25 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -4 -4 -4 -4 -5 -6 -6 -7 -8 -8 -7 -6 -5 -4 -3 -3 -4 -5 -6 -7 -9 -10 -11 -11 -10 -9 -9 -8 -8 -8 -7 -7 -6 -6 -7 -10 -14 -17 -21 -24 -27 -28 -28 -26 -23 -19 -15 -13 -11 -10 -9 -8 -7 -7 -6 -5 -6 -7 -8 -8 -8 -7 -6 -5 -5 -5 -5 -6 -6 -6 -6 -7 -9 -10 -11 -12 -13 -13 -13 -13 -13 -12 -12 -10 -9 -8 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -8 -10 -12 -14 -14 -14 -14 -15 -15 -16 -16 -17 -18 -18 -18 -18 -19 -20 -21 -20 -21 -23 -24 -24 -20 -18 -19 -20 -22 -23 -23 -21 -18 -14 -12 -11 -11 -10 -10 -11 -13 -14 -14 -11 -9 -8 -7 -7 -7 -7 -6 -5 -5 -5 -5 -8 -13 -14 -12 -10 -10 -11 -10 -11 -13 -15 -16 -16 -14 -12 -8 -8 -8 -7 -5 -5 -5 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 -0 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 0 0 1 1 2 2 3 3 4 4 5 5 6 6 6 6 6 5 5 4 3 2 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 2 1 0 -1 -3 -3 -3 -3 -2 -1 -1 -1 -2 -2 -2 -2 -1 0 2 4 5 5 5 5 5 5 5 4 2 1 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -5 -5 -6 -5 -4 -3 -1 1 2 3 3 2 2 2 2 2 2 2 1 -1 -3 -4 -4 -4 -4 -5 -6 -7 -7 -6 -5 -5 -5 -4 -3 -2 -1 -0 1 1 1 1 -1 -1 -2 -1 -0 1 3 6 8 10 10 9 8 7 7 7 8 8 7 7 5 3 2 1 1 0 -1 -1 -2 -1 1 3 5 5 3 -0 -2 -3 -3 -2 -0 1 4 7 10 13 16 18 20 22 24 27 29 32 35 38 37 32 26 -11 -9 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -7 -7 -7 -7 -7 -6 -5 -4 -3 -4 -5 -6 -8 -9 -10 -10 -9 -9 -9 -8 -7 -6 -6 -6 -5 -5 -6 -8 -11 -14 -17 -20 -23 -26 -28 -29 -28 -27 -23 -20 -18 -15 -13 -10 -8 -7 -6 -5 -5 -5 -6 -7 -7 -7 -7 -6 -5 -5 -5 -5 -5 -6 -7 -7 -8 -9 -11 -11 -12 -12 -11 -11 -10 -11 -11 -11 -10 -9 -8 -6 -6 -5 -5 -5 -6 -6 -7 -7 -8 -7 -7 -7 -7 -9 -11 -13 -14 -15 -15 -16 -16 -16 -15 -16 -17 -18 -19 -20 -21 -22 -23 -23 -21 -21 -22 -23 -21 -18 -16 -17 -19 -19 -21 -22 -22 -19 -15 -12 -10 -9 -9 -9 -11 -13 -13 -12 -11 -11 -10 -9 -8 -8 -6 -5 -3 -2 -1 -3 -7 -9 -8 -7 -8 -9 -9 -9 -13 -17 -18 -18 -17 -15 -11 -10 -9 -6 -3 -2 -4 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -2 -1 -0 0 0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 0 1 1 1 2 2 3 3 4 5 5 6 6 6 6 6 6 5 4 3 2 2 1 -0 -1 -1 -1 -0 0 1 1 1 1 1 2 2 2 2 2 1 0 -2 -3 -4 -5 -4 -3 -2 -2 -2 -2 -3 -3 -3 -3 -2 -0 2 3 4 5 5 5 5 5 4 3 1 -0 -1 -2 -2 -2 -3 -4 -5 -5 -5 -5 -5 -6 -6 -5 -4 -2 -0 1 1 2 2 2 2 2 2 2 2 2 0 -2 -4 -4 -4 -3 -3 -5 -6 -7 -7 -6 -6 -5 -5 -4 -3 -3 -2 -1 -0 1 1 -0 -2 -3 -3 -3 -2 -0 3 6 8 8 8 7 6 6 6 6 7 7 7 5 4 2 1 0 -1 -1 -2 -2 -2 -1 1 3 4 4 1 -2 -4 -4 -4 -2 -0 2 5 8 12 15 18 20 22 24 26 28 31 33 37 38 36 30 -12 -10 -8 -7 -7 -6 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -7 -6 -6 -6 -6 -6 -5 -4 -4 -5 -6 -8 -9 -9 -9 -9 -8 -7 -6 -5 -5 -5 -4 -4 -4 -5 -7 -10 -13 -16 -18 -20 -23 -25 -26 -27 -27 -26 -24 -22 -20 -17 -12 -9 -7 -6 -5 -4 -4 -5 -5 -6 -6 -6 -5 -5 -5 -5 -4 -5 -5 -6 -7 -8 -10 -11 -12 -12 -11 -10 -9 -8 -7 -9 -10 -10 -9 -8 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -9 -10 -11 -13 -14 -16 -17 -17 -17 -16 -14 -14 -15 -17 -20 -22 -23 -23 -23 -22 -21 -20 -20 -21 -21 -19 -16 -15 -16 -17 -18 -20 -21 -20 -18 -14 -12 -10 -8 -8 -8 -8 -9 -10 -13 -14 -14 -13 -11 -8 -6 -5 -4 -4 -2 0 -2 -4 -6 -6 -7 -8 -6 -6 -9 -15 -18 -19 -19 -17 -14 -11 -8 -4 -1 0 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 0 1 0 -0 -1 -2 -3 -3 -3 -3 -3 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -2 -2 -1 -1 -1 -1 -0 0 0 1 1 1 1 2 2 3 3 4 4 5 5 6 6 6 6 5 5 4 3 2 1 0 -1 -2 -2 -2 -2 -1 -0 0 0 0 -0 0 0 1 1 1 1 -0 -2 -3 -5 -6 -6 -5 -4 -3 -3 -3 -4 -4 -4 -4 -3 -2 -0 1 3 4 4 4 5 4 4 3 1 -1 -1 -2 -2 -2 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 -0 -0 0 0 0 1 1 1 2 2 1 -1 -3 -4 -4 -3 -3 -4 -5 -7 -7 -7 -6 -5 -5 -4 -4 -3 -3 -3 -2 -2 -0 -0 -2 -3 -4 -5 -4 -3 -1 2 5 6 7 7 5 4 4 4 5 6 6 6 4 2 1 -0 -2 -3 -3 -3 -1 -2 -2 -1 1 2 1 -1 -3 -5 -5 -4 -2 0 3 6 10 14 17 19 22 23 25 27 29 31 35 38 39 36 -14 -11 -9 -7 -6 -5 -4 -3 -3 -4 -4 -3 -4 -5 -5 -6 -7 -7 -7 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -3 -3 -3 -3 -4 -5 -8 -10 -13 -15 -17 -19 -21 -23 -24 -25 -26 -25 -24 -22 -19 -15 -11 -8 -6 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -4 -4 -5 -6 -7 -9 -10 -12 -12 -12 -11 -10 -8 -7 -6 -6 -8 -8 -8 -8 -7 -6 -6 -6 -7 -7 -8 -9 -9 -9 -9 -9 -9 -10 -11 -11 -12 -13 -15 -16 -18 -18 -17 -15 -13 -13 -15 -18 -21 -24 -25 -24 -22 -22 -22 -21 -22 -23 -21 -17 -14 -13 -14 -16 -17 -18 -19 -19 -17 -15 -13 -10 -8 -7 -6 -5 -7 -9 -13 -16 -17 -16 -13 -9 -6 -5 -5 -3 1 1 0 -2 -5 -7 -8 -5 -3 -4 -10 -16 -18 -18 -17 -17 -14 -9 -5 -1 1 1 0 -0 -1 -2 -3 -4 -4 -4 -4 -4 -3 -2 -1 -0 1 1 0 -0 -1 -2 -3 -3 -3 -3 -3 -2 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -0 0 0 1 1 1 0 1 1 2 2 3 3 4 4 4 4 5 5 5 5 5 5 4 3 2 1 -1 -2 -3 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -1 -2 -3 -5 -6 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -4 -3 -2 -0 1 3 4 4 4 4 3 2 1 -1 -2 -3 -2 -2 -2 -2 -3 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 0 1 1 -0 -2 -4 -5 -5 -3 -3 -4 -5 -7 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -2 -1 -1 -4 -7 -7 -7 -7 -6 -3 1 3 5 6 5 3 2 2 2 4 5 5 4 2 1 -1 -2 -3 -4 -4 -2 -3 -3 -4 -4 -4 -2 -2 -3 -5 -6 -5 -3 -1 1 4 8 11 15 18 20 22 24 25 27 30 33 36 39 40 -16 -13 -11 -8 -6 -5 -5 -4 -4 -3 -2 -2 -3 -3 -4 -5 -6 -6 -5 -5 -5 -4 -4 -4 -5 -6 -6 -7 -8 -8 -9 -10 -10 -10 -10 -10 -9 -7 -6 -5 -3 -2 -2 -3 -2 -2 -3 -5 -7 -9 -12 -14 -16 -18 -20 -22 -23 -23 -23 -23 -21 -19 -16 -12 -9 -7 -5 -5 -5 -4 -3 -3 -3 -4 -5 -5 -4 -4 -4 -4 -4 -5 -7 -9 -11 -12 -12 -11 -10 -9 -9 -8 -7 -6 -6 -7 -8 -8 -8 -7 -7 -7 -7 -8 -9 -10 -10 -10 -9 -9 -9 -10 -11 -12 -12 -12 -13 -15 -17 -18 -18 -16 -14 -12 -13 -15 -18 -22 -24 -25 -24 -23 -23 -23 -23 -25 -24 -20 -15 -12 -12 -13 -15 -16 -17 -18 -18 -17 -16 -14 -12 -9 -6 -4 -4 -5 -8 -11 -14 -16 -17 -15 -11 -8 -6 -4 -1 1 2 0 -2 -5 -7 -7 -4 -1 -2 -7 -13 -16 -16 -16 -14 -10 -7 -4 -2 -1 -0 -1 -1 0 -1 -2 -3 -3 -4 -4 -4 -3 -2 -0 1 1 1 0 -1 -2 -3 -3 -4 -3 -3 -2 -2 -2 -3 -3 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 0 0 0 1 0 0 0 1 1 2 2 2 3 3 3 3 4 4 4 5 5 5 4 4 3 2 0 -1 -3 -5 -6 -6 -5 -4 -3 -2 -2 -2 -2 -3 -3 -2 -2 -2 -1 -2 -2 -3 -4 -6 -7 -7 -7 -6 -5 -5 -4 -5 -5 -5 -4 -4 -3 -2 -0 1 3 3 4 3 3 2 0 -1 -3 -4 -4 -3 -2 -2 -2 -3 -4 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -2 -4 -6 -7 -6 -4 -3 -3 -5 -6 -6 -5 -4 -4 -4 -5 -6 -6 -6 -6 -5 -4 -3 -5 -9 -11 -11 -11 -11 -9 -5 -1 2 4 4 2 1 -0 -0 1 3 4 4 3 1 -1 -2 -4 -5 -5 -3 -3 -4 -6 -7 -6 -7 -6 -4 -5 -6 -6 -5 -3 -1 2 5 8 12 15 18 20 22 24 26 28 30 34 38 42 -15 -13 -11 -9 -8 -7 -7 -7 -6 -5 -4 -2 -2 -3 -4 -6 -6 -5 -5 -4 -5 -4 -3 -3 -4 -6 -6 -7 -9 -9 -10 -10 -11 -11 -11 -10 -9 -8 -7 -5 -4 -3 -2 -2 -2 -1 -1 -2 -4 -6 -8 -11 -13 -15 -18 -19 -20 -21 -21 -20 -19 -17 -15 -12 -10 -7 -5 -5 -4 -4 -4 -4 -4 -4 -5 -4 -3 -3 -4 -4 -4 -6 -7 -9 -10 -10 -10 -10 -9 -8 -8 -8 -8 -8 -7 -6 -7 -8 -9 -9 -9 -8 -8 -8 -9 -10 -11 -11 -11 -10 -9 -9 -10 -12 -12 -12 -12 -14 -15 -17 -18 -18 -16 -14 -13 -14 -15 -17 -20 -22 -23 -23 -24 -25 -24 -25 -25 -22 -17 -12 -11 -11 -13 -15 -15 -16 -17 -17 -17 -17 -16 -14 -10 -6 -4 -4 -4 -6 -8 -12 -17 -19 -16 -11 -7 -6 -4 -1 0 1 1 -1 -4 -6 -6 -3 -1 -2 -6 -9 -13 -14 -12 -9 -7 -6 -6 -5 -5 -5 -4 1 2 1 -0 -2 -3 -3 -3 -3 -2 -1 0 1 1 0 -1 -2 -3 -3 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 -0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 2 2 2 3 3 3 3 4 4 4 3 3 2 1 -1 -3 -5 -6 -7 -7 -7 -6 -5 -3 -3 -3 -3 -3 -4 -3 -3 -3 -2 -2 -2 -3 -4 -6 -7 -8 -8 -7 -6 -5 -5 -4 -4 -4 -4 -4 -3 -3 -2 -0 1 2 3 3 2 1 -0 -2 -3 -5 -5 -5 -3 -2 -1 -2 -3 -4 -5 -5 -4 -4 -3 -3 -3 -3 -4 -5 -6 -6 -7 -6 -6 -5 -5 -4 -3 -2 -2 -4 -6 -8 -8 -6 -4 -2 -3 -5 -6 -6 -5 -5 -6 -8 -10 -10 -8 -8 -10 -9 -8 -7 -8 -11 -13 -15 -16 -15 -11 -8 -3 1 3 1 -0 -2 -2 -2 -0 1 3 3 2 -0 -2 -3 -5 -5 -4 -4 -5 -7 -8 -6 -6 -7 -7 -5 -6 -7 -6 -4 -2 0 3 5 9 12 15 18 20 22 23 26 28 31 36 41 -13 -13 -13 -13 -13 -11 -9 -8 -7 -6 -5 -3 -2 -3 -5 -6 -7 -6 -5 -5 -6 -4 -3 -3 -4 -5 -5 -7 -8 -9 -10 -10 -11 -11 -11 -10 -10 -8 -7 -6 -5 -4 -3 -2 -1 -1 -0 -0 -1 -3 -5 -7 -9 -12 -15 -16 -18 -18 -19 -18 -16 -15 -13 -12 -10 -7 -5 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -4 -5 -5 -6 -7 -8 -8 -9 -9 -9 -8 -8 -8 -8 -10 -11 -10 -7 -6 -7 -9 -10 -10 -9 -9 -8 -7 -7 -8 -10 -11 -12 -11 -10 -10 -10 -11 -11 -12 -13 -14 -15 -17 -17 -17 -15 -14 -13 -14 -15 -16 -19 -21 -22 -23 -24 -25 -25 -25 -24 -20 -15 -12 -11 -12 -14 -14 -14 -14 -15 -16 -17 -18 -18 -15 -11 -8 -6 -5 -3 -4 -6 -12 -16 -16 -12 -8 -6 -5 -4 -2 -0 0 -1 -2 -4 -5 -4 -3 -4 -4 -5 -8 -9 -10 -10 -10 -10 -12 -10 -7 -4 -5 -4 1 2 2 1 -1 -2 -3 -3 -2 -1 -0 0 0 0 -1 -2 -2 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -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 1 1 0 -1 -3 -5 -6 -7 -7 -7 -7 -7 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -5 -7 -8 -9 -9 -8 -6 -5 -4 -4 -3 -3 -3 -2 -2 -2 -1 0 1 2 2 2 1 -1 -2 -4 -5 -7 -7 -5 -3 -1 -0 -1 -3 -4 -5 -4 -4 -3 -3 -2 -3 -4 -5 -7 -8 -9 -9 -8 -8 -7 -6 -5 -4 -4 -4 -6 -7 -9 -8 -6 -3 -2 -4 -6 -8 -9 -9 -9 -12 -14 -15 -11 -12 -13 -13 -12 -9 -6 -6 -9 -14 -17 -17 -16 -14 -11 -5 -1 -0 -1 -3 -4 -4 -3 -2 0 2 2 1 -1 -3 -4 -6 -6 -5 -5 -7 -8 -6 -4 -4 -5 -5 -6 -7 -7 -5 -3 -1 1 3 6 9 13 16 18 20 21 23 25 28 32 36 -12 -13 -14 -14 -14 -11 -8 -7 -7 -6 -5 -3 -3 -4 -5 -6 -8 -8 -7 -7 -7 -6 -5 -4 -4 -4 -4 -5 -7 -8 -8 -9 -10 -10 -10 -9 -9 -8 -8 -7 -6 -5 -3 -2 -1 -1 -1 -0 -0 -1 -3 -5 -7 -9 -11 -12 -14 -15 -15 -14 -14 -13 -13 -12 -9 -7 -5 -4 -3 -3 -4 -5 -6 -6 -5 -4 -4 -3 -3 -4 -6 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -8 -10 -13 -14 -11 -8 -6 -9 -11 -11 -11 -10 -9 -7 -6 -7 -9 -11 -13 -13 -12 -10 -10 -10 -10 -11 -13 -14 -16 -17 -17 -17 -16 -15 -14 -14 -14 -16 -18 -19 -20 -20 -21 -23 -25 -25 -24 -22 -19 -15 -13 -13 -13 -14 -13 -13 -13 -13 -15 -17 -18 -17 -15 -13 -12 -9 -6 -4 -3 -6 -10 -13 -12 -8 -5 -4 -3 -3 -2 -1 -2 -3 -4 -5 -6 -5 -4 -4 -3 -3 -6 -8 -9 -8 -7 -6 -5 -2 -0 -1 -4 -6 -4 -1 2 2 0 -1 -2 -2 -1 -1 -1 -0 -0 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -1 -1 -0 0 0 0 0 -0 -0 -0 -0 -0 0 1 1 2 2 2 2 1 1 1 1 0 0 0 -0 -1 -1 -2 -3 -4 -6 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -4 -5 -6 -8 -10 -10 -10 -8 -6 -4 -3 -2 -2 -1 -1 -1 -1 -1 -0 1 2 2 2 0 -1 -3 -4 -6 -7 -8 -8 -6 -3 -0 0 -1 -3 -4 -5 -4 -3 -3 -2 -3 -4 -5 -7 -9 -11 -11 -11 -11 -10 -9 -8 -7 -6 -6 -6 -7 -8 -9 -8 -5 -3 -4 -8 -12 -16 -16 -16 -16 -17 -17 -15 -15 -16 -16 -14 -11 -7 -5 -6 -11 -15 -17 -17 -17 -15 -12 -7 -3 -2 -3 -5 -6 -6 -5 -3 -0 1 1 -0 -2 -4 -5 -6 -5 -4 -6 -8 -7 -5 -3 -3 -4 -6 -7 -7 -6 -3 -2 -0 1 4 6 10 13 16 18 19 21 23 25 27 31 -13 -13 -13 -13 -11 -8 -6 -5 -5 -6 -5 -5 -5 -6 -7 -8 -9 -9 -8 -7 -7 -7 -7 -6 -6 -5 -4 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -6 -7 -7 -6 -5 -4 -3 -3 -3 -3 -2 -2 -3 -4 -6 -7 -7 -8 -10 -11 -12 -12 -12 -12 -12 -12 -11 -9 -7 -5 -4 -3 -3 -4 -5 -6 -6 -6 -4 -3 -2 -2 -3 -5 -5 -6 -5 -6 -7 -8 -8 -9 -8 -7 -8 -9 -12 -15 -13 -10 -8 -10 -11 -11 -11 -11 -10 -7 -6 -6 -7 -10 -12 -13 -13 -12 -10 -9 -9 -10 -11 -13 -15 -18 -19 -18 -16 -15 -14 -14 -15 -16 -17 -19 -20 -20 -19 -20 -23 -24 -23 -22 -20 -18 -16 -15 -14 -14 -13 -11 -11 -12 -13 -14 -15 -15 -16 -16 -16 -14 -12 -9 -6 -4 -6 -9 -10 -9 -6 -4 -2 -1 -1 -1 -2 -3 -4 -6 -7 -6 -5 -4 -3 -3 -4 -7 -8 -9 -9 -5 -3 -1 1 2 0 -3 -5 -5 -2 2 2 1 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 0 0 1 1 1 2 2 1 1 0 -0 -1 -1 -2 -3 -3 -4 -4 -5 -6 -7 -8 -8 -7 -6 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -6 -5 -4 -4 -4 -4 -6 -8 -10 -11 -11 -10 -7 -5 -3 -1 -1 0 1 1 1 0 0 1 1 2 2 0 -1 -3 -5 -6 -7 -9 -9 -9 -6 -2 0 1 -1 -2 -4 -4 -3 -3 -3 -3 -4 -5 -7 -9 -11 -12 -13 -13 -12 -11 -10 -9 -9 -8 -7 -8 -8 -9 -9 -8 -8 -9 -12 -17 -21 -20 -17 -17 -19 -19 -19 -19 -19 -18 -16 -13 -11 -9 -8 -10 -14 -15 -16 -16 -17 -16 -13 -8 -4 -4 -6 -7 -8 -7 -6 -3 0 1 0 -2 -5 -6 -7 -6 -4 -5 -7 -8 -6 -3 -2 -4 -5 -6 -6 -6 -4 -2 -0 1 2 4 7 10 14 17 18 19 20 22 23 25 -14 -13 -11 -10 -8 -6 -5 -5 -6 -7 -7 -8 -8 -7 -8 -9 -10 -9 -8 -7 -6 -7 -8 -8 -8 -8 -8 -7 -6 -6 -6 -6 -7 -7 -7 -6 -5 -5 -6 -6 -5 -5 -4 -3 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -8 -9 -10 -10 -10 -11 -12 -12 -11 -10 -8 -7 -4 -3 -3 -3 -4 -5 -6 -6 -5 -4 -3 -2 -3 -3 -4 -4 -4 -4 -5 -7 -8 -9 -8 -8 -8 -9 -11 -13 -12 -10 -9 -10 -11 -11 -11 -12 -11 -8 -7 -6 -6 -8 -11 -13 -14 -13 -11 -9 -8 -8 -9 -11 -14 -17 -19 -20 -18 -15 -15 -15 -16 -16 -16 -18 -20 -20 -19 -19 -22 -23 -23 -21 -20 -20 -18 -17 -16 -15 -13 -11 -11 -12 -12 -12 -13 -14 -16 -17 -16 -15 -15 -15 -13 -9 -7 -7 -8 -9 -9 -5 -2 -0 1 1 -0 -2 -4 -6 -8 -8 -6 -5 -4 -3 -3 -4 -7 -10 -13 -10 -6 -3 0 3 3 1 -1 -3 -3 -3 -3 -0 2 3 1 0 -1 -1 -1 -1 -2 -3 -3 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -0 -0 0 0 1 1 1 1 2 1 1 0 -0 -1 -2 -3 -4 -5 -6 -7 -7 -8 -8 -10 -10 -9 -8 -5 -4 -5 -5 -6 -6 -7 -7 -7 -7 -6 -5 -5 -6 -6 -7 -6 -6 -5 -4 -4 -5 -7 -9 -11 -13 -13 -10 -7 -3 -1 1 1 2 3 3 2 2 2 1 2 2 1 -1 -3 -5 -6 -7 -8 -10 -10 -9 -6 -2 1 1 0 -2 -3 -3 -4 -4 -4 -5 -6 -7 -8 -10 -12 -14 -15 -15 -13 -12 -12 -11 -11 -10 -9 -8 -9 -9 -10 -12 -13 -15 -19 -22 -22 -19 -18 -20 -21 -21 -22 -22 -21 -18 -16 -15 -14 -12 -11 -12 -14 -15 -17 -18 -18 -16 -12 -8 -5 -7 -8 -9 -9 -8 -6 -3 -0 0 -3 -6 -8 -9 -8 -6 -4 -5 -5 -4 -2 -2 -2 -3 -4 -5 -5 -4 -2 0 1 1 3 4 7 10 15 17 17 18 19 21 21 -15 -12 -9 -8 -7 -6 -6 -7 -7 -8 -9 -9 -9 -8 -8 -8 -9 -8 -8 -7 -8 -7 -7 -8 -9 -9 -9 -9 -8 -7 -7 -6 -6 -7 -7 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -7 -7 -7 -8 -8 -8 -9 -9 -10 -11 -12 -11 -10 -9 -7 -5 -4 -3 -3 -3 -4 -5 -6 -6 -5 -4 -3 -2 -2 -2 -2 -2 -3 -4 -5 -7 -8 -9 -9 -9 -10 -10 -11 -10 -8 -7 -9 -11 -12 -12 -12 -12 -10 -9 -7 -6 -7 -10 -12 -13 -13 -12 -9 -8 -8 -8 -10 -12 -16 -19 -20 -20 -17 -16 -17 -17 -16 -15 -16 -19 -21 -21 -18 -18 -19 -20 -20 -21 -20 -19 -18 -17 -16 -14 -13 -12 -11 -11 -12 -12 -14 -16 -17 -15 -13 -13 -14 -16 -12 -9 -8 -8 -9 -8 -6 -4 -3 -1 0 1 -0 -2 -5 -7 -8 -7 -5 -3 -2 -2 -2 -4 -8 -14 -14 -11 -8 -3 1 2 1 -0 0 3 4 2 2 4 7 7 5 3 1 1 -0 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -1 -0 0 0 1 1 1 1 1 1 0 -0 -1 -1 -2 -3 -4 -6 -7 -8 -9 -10 -10 -11 -12 -12 -11 -8 -6 -5 -6 -6 -7 -7 -8 -8 -8 -8 -7 -6 -5 -6 -7 -7 -8 -7 -6 -5 -4 -5 -6 -8 -10 -13 -14 -13 -10 -5 -0 2 3 4 4 5 5 4 3 2 2 2 1 -0 -2 -4 -6 -7 -8 -9 -10 -11 -9 -6 -2 1 2 1 -1 -3 -4 -4 -5 -6 -7 -7 -8 -9 -11 -13 -15 -15 -15 -14 -13 -13 -13 -13 -11 -10 -9 -9 -11 -14 -16 -17 -19 -21 -21 -20 -20 -23 -23 -22 -22 -21 -19 -16 -16 -17 -17 -15 -13 -12 -13 -14 -16 -18 -18 -18 -16 -13 -9 -9 -10 -10 -9 -9 -8 -6 -4 -2 -4 -7 -8 -9 -9 -8 -5 -3 -1 -0 -0 -0 -1 -1 -2 -3 -4 -4 -2 0 2 2 2 3 3 5 13 15 16 17 17 18 19 -14 -11 -9 -8 -8 -7 -8 -8 -8 -9 -11 -12 -12 -11 -10 -8 -9 -9 -7 -7 -7 -8 -9 -9 -10 -10 -10 -9 -8 -8 -7 -6 -6 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -8 -9 -10 -11 -11 -10 -10 -9 -7 -5 -4 -3 -3 -3 -4 -5 -6 -7 -6 -5 -4 -3 -2 -1 -1 -2 -2 -3 -5 -6 -9 -10 -12 -12 -13 -13 -11 -9 -6 -4 -6 -10 -12 -12 -12 -12 -13 -11 -9 -7 -7 -9 -11 -12 -13 -12 -10 -9 -8 -8 -8 -10 -13 -16 -19 -20 -19 -18 -18 -18 -16 -15 -15 -17 -20 -20 -17 -15 -16 -17 -19 -21 -21 -20 -18 -18 -18 -17 -15 -13 -12 -11 -12 -13 -15 -16 -17 -17 -14 -11 -11 -13 -12 -10 -9 -8 -7 -7 -6 -6 -5 -3 -1 -0 -0 -1 -2 -4 -6 -5 -3 -2 -1 -1 -1 -3 -5 -10 -13 -14 -11 -7 -3 -2 -3 -3 -2 3 9 10 11 12 13 14 12 9 7 5 3 2 0 -1 -3 -4 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -3 -1 -0 -0 0 -0 -0 -0 -0 -1 -1 -2 -2 -3 -3 -4 -5 -7 -9 -10 -11 -12 -12 -13 -14 -14 -12 -10 -8 -7 -8 -8 -9 -9 -9 -9 -9 -9 -8 -7 -6 -6 -7 -8 -8 -8 -7 -6 -5 -4 -5 -6 -9 -11 -15 -16 -13 -8 -2 2 4 5 5 6 6 6 5 4 3 2 1 0 -1 -3 -6 -7 -8 -9 -9 -10 -11 -9 -6 -1 2 2 1 -1 -3 -4 -5 -7 -8 -8 -8 -9 -10 -11 -13 -15 -15 -15 -15 -14 -14 -14 -13 -12 -10 -9 -11 -15 -18 -19 -18 -17 -17 -18 -21 -25 -24 -24 -22 -19 -15 -15 -18 -19 -18 -17 -15 -13 -12 -13 -15 -17 -16 -17 -17 -15 -12 -13 -13 -12 -10 -9 -8 -8 -8 -6 -7 -7 -8 -8 -8 -8 -5 -2 0 0 0 1 1 0 -1 -1 -2 -3 -3 -1 3 3 3 2 1 1 9 13 15 15 15 15 15 -11 -10 -9 -9 -9 -9 -9 -9 -10 -11 -13 -13 -13 -13 -11 -10 -11 -12 -10 -8 -8 -10 -10 -11 -11 -11 -11 -10 -8 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -7 -7 -7 -8 -9 -10 -11 -10 -9 -8 -7 -5 -4 -3 -3 -3 -4 -5 -6 -7 -6 -5 -3 -2 -1 -1 -1 -1 -2 -3 -4 -7 -9 -12 -14 -15 -16 -17 -16 -13 -8 -3 -2 -6 -9 -11 -11 -12 -14 -14 -12 -10 -9 -8 -10 -11 -12 -12 -11 -9 -8 -7 -8 -9 -11 -13 -16 -18 -19 -18 -18 -18 -18 -18 -16 -16 -17 -18 -16 -13 -13 -14 -17 -20 -21 -20 -19 -18 -19 -19 -17 -16 -14 -13 -13 -15 -16 -17 -17 -18 -17 -14 -11 -10 -10 -9 -8 -8 -7 -7 -7 -7 -6 -5 -4 -3 -2 -1 -2 -3 -5 -5 -4 -2 -1 -1 -1 -2 -3 -6 -10 -12 -12 -10 -7 -6 -6 -8 -9 -7 2 12 20 24 26 25 21 17 14 11 9 7 5 3 1 -1 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -8 -8 -7 -5 -3 -2 -1 -1 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -5 -6 -8 -10 -11 -13 -14 -15 -17 -17 -17 -14 -12 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -8 -8 -8 -8 -7 -6 -5 -5 -6 -7 -10 -13 -17 -17 -13 -5 2 5 6 6 7 7 7 7 6 4 2 1 0 -1 -2 -4 -6 -8 -8 -9 -9 -10 -11 -9 -6 -1 2 3 1 -1 -3 -5 -7 -8 -9 -9 -9 -9 -10 -11 -13 -14 -15 -15 -15 -14 -14 -14 -13 -11 -9 -9 -12 -17 -20 -16 -11 -12 -16 -21 -25 -25 -24 -23 -20 -15 -15 -18 -20 -19 -18 -16 -14 -13 -12 -13 -15 -15 -15 -15 -15 -14 -16 -17 -16 -14 -11 -9 -9 -10 -10 -10 -8 -7 -7 -8 -8 -6 -3 0 1 1 1 2 2 1 0 -1 -1 -2 -2 2 4 4 3 2 2 6 10 13 13 12 11 10 -11 -11 -11 -10 -10 -10 -10 -10 -12 -13 -15 -15 -15 -14 -13 -11 -13 -15 -13 -11 -11 -12 -13 -13 -13 -12 -12 -10 -7 -5 -4 -4 -4 -5 -6 -7 -8 -8 -7 -7 -8 -8 -9 -9 -9 -9 -10 -9 -8 -8 -7 -6 -5 -4 -4 -5 -5 -6 -7 -8 -9 -10 -11 -10 -9 -8 -6 -5 -4 -4 -3 -3 -4 -5 -6 -6 -6 -5 -3 -2 -1 -1 -1 -2 -2 -2 -3 -5 -9 -12 -15 -17 -18 -19 -19 -16 -12 -6 -2 -2 -5 -7 -9 -10 -14 -16 -16 -15 -12 -9 -9 -10 -11 -11 -11 -9 -8 -7 -7 -8 -9 -11 -13 -16 -17 -17 -17 -17 -19 -21 -20 -18 -17 -15 -14 -11 -10 -10 -13 -17 -20 -20 -19 -19 -20 -21 -20 -19 -18 -17 -16 -17 -18 -18 -17 -17 -18 -17 -14 -11 -10 -9 -8 -8 -8 -8 -8 -8 -7 -6 -4 -4 -3 -3 -2 -2 -3 -3 -3 -2 -1 -0 -0 -1 -3 -5 -7 -9 -10 -10 -8 -7 -8 -11 -14 -17 -10 2 15 26 32 33 31 27 23 19 16 14 11 9 6 4 1 -1 -2 -4 -5 -6 -6 -6 -6 -6 -7 -7 -8 -9 -10 -10 -10 -8 -6 -4 -3 -3 -3 -4 -4 -4 -4 -5 -5 -6 -6 -6 -7 -8 -9 -11 -13 -15 -16 -18 -20 -20 -19 -16 -13 -12 -12 -11 -11 -10 -9 -9 -9 -9 -9 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -7 -6 -5 -6 -6 -8 -12 -16 -19 -18 -11 -1 4 7 8 8 9 9 8 7 6 4 2 0 -1 -1 -3 -5 -7 -8 -8 -8 -9 -10 -10 -10 -6 -1 2 3 1 -2 -4 -6 -8 -9 -10 -10 -9 -9 -10 -11 -13 -14 -15 -15 -14 -14 -14 -13 -13 -10 -9 -10 -14 -17 -14 -12 -13 -17 -22 -24 -24 -24 -23 -22 -18 -17 -18 -19 -18 -16 -16 -15 -12 -11 -12 -15 -14 -14 -15 -16 -15 -16 -17 -18 -18 -14 -11 -10 -11 -12 -10 -9 -7 -6 -7 -7 -6 -4 -1 1 2 2 2 3 3 1 1 0 -1 -3 -0 3 4 3 1 -2 -0 4 9 10 7 5 6 -12 -12 -12 -11 -11 -11 -11 -12 -13 -14 -15 -16 -17 -16 -15 -13 -14 -16 -15 -14 -15 -17 -17 -16 -15 -15 -14 -12 -8 -5 -3 -2 -2 -4 -5 -7 -7 -8 -7 -7 -7 -8 -9 -9 -10 -10 -10 -9 -9 -8 -7 -6 -5 -4 -4 -4 -5 -5 -7 -8 -9 -10 -10 -10 -9 -7 -6 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -3 -2 -1 -1 -1 -1 -1 -2 -3 -4 -7 -11 -14 -16 -19 -20 -19 -17 -13 -10 -7 -5 -4 -4 -4 -4 -7 -12 -17 -19 -16 -12 -10 -10 -10 -11 -11 -10 -8 -7 -7 -7 -9 -10 -12 -15 -17 -16 -15 -15 -18 -21 -23 -22 -19 -15 -12 -11 -9 -8 -9 -13 -17 -18 -18 -18 -20 -22 -22 -22 -23 -23 -22 -21 -20 -19 -16 -15 -16 -17 -16 -13 -11 -9 -8 -8 -8 -8 -8 -8 -8 -7 -5 -4 -3 -2 -2 -1 -1 -1 -2 -2 -1 -1 -0 -1 -2 -4 -5 -6 -7 -7 -7 -7 -8 -11 -14 -19 -20 -16 -7 5 19 31 35 35 32 28 24 21 19 16 13 10 7 4 1 -1 -2 -4 -5 -6 -6 -6 -6 -6 -7 -9 -10 -11 -11 -10 -8 -6 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -8 -8 -9 -10 -11 -13 -14 -16 -19 -21 -23 -22 -20 -16 -14 -13 -13 -13 -11 -9 -9 -9 -9 -9 -9 -10 -10 -11 -11 -10 -9 -8 -8 -8 -8 -8 -8 -7 -6 -6 -7 -10 -13 -18 -21 -18 -7 2 7 8 9 10 10 10 9 7 5 3 1 -1 -2 -2 -4 -5 -7 -8 -8 -8 -8 -9 -10 -9 -5 -1 2 3 0 -3 -6 -8 -9 -10 -11 -11 -10 -9 -10 -11 -13 -14 -14 -14 -13 -12 -12 -12 -11 -9 -8 -9 -11 -13 -17 -19 -19 -19 -22 -23 -24 -24 -23 -22 -20 -20 -19 -16 -15 -16 -15 -12 -9 -12 -15 -15 -15 -17 -20 -19 -16 -15 -17 -19 -16 -13 -10 -10 -11 -10 -8 -6 -7 -7 -7 -7 -5 -2 0 2 3 5 6 5 4 2 1 1 0 -1 1 3 3 -1 -7 -7 -3 1 2 0 1 5 -12 -13 -12 -12 -12 -12 -12 -12 -12 -13 -15 -17 -19 -18 -16 -15 -14 -15 -16 -17 -18 -21 -20 -19 -18 -18 -19 -18 -14 -8 -3 -1 -1 -3 -5 -6 -7 -7 -7 -7 -8 -9 -8 -8 -8 -9 -10 -9 -9 -8 -7 -6 -5 -4 -4 -4 -4 -5 -6 -8 -9 -10 -10 -9 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -4 -5 -4 -4 -3 -3 -2 -1 -1 -1 -2 -3 -4 -5 -7 -10 -13 -16 -18 -21 -21 -19 -15 -12 -9 -7 -6 -5 -5 -4 -5 -8 -13 -17 -19 -16 -13 -11 -10 -11 -11 -10 -9 -7 -7 -7 -8 -9 -11 -14 -16 -15 -14 -13 -15 -19 -22 -24 -23 -18 -11 -8 -8 -8 -8 -9 -11 -12 -13 -15 -18 -21 -21 -22 -24 -29 -30 -28 -24 -21 -16 -13 -12 -14 -15 -15 -13 -11 -9 -8 -8 -8 -8 -8 -8 -8 -7 -5 -3 -2 -1 -0 0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -3 -5 -7 -8 -7 -6 -8 -10 -13 -14 -16 -19 -19 -16 -4 13 27 35 38 36 33 29 26 23 20 16 12 9 6 3 0 -1 -3 -4 -5 -5 -5 -5 -6 -7 -9 -11 -11 -11 -10 -8 -6 -6 -6 -7 -8 -8 -9 -9 -9 -10 -10 -10 -11 -12 -13 -14 -16 -18 -20 -22 -23 -22 -20 -17 -15 -15 -14 -13 -11 -9 -8 -9 -9 -9 -9 -10 -11 -12 -13 -13 -11 -9 -7 -7 -8 -9 -9 -9 -8 -7 -7 -9 -11 -15 -19 -22 -15 -5 4 8 9 10 11 11 10 8 6 4 1 -1 -2 -3 -3 -5 -6 -8 -8 -8 -8 -8 -8 -9 -8 -5 -2 2 1 -1 -5 -8 -9 -10 -11 -11 -11 -10 -10 -10 -11 -12 -13 -13 -12 -11 -11 -11 -11 -10 -9 -8 -9 -12 -16 -18 -17 -16 -19 -22 -24 -24 -23 -23 -22 -22 -20 -18 -17 -17 -17 -15 -13 -14 -15 -16 -16 -18 -22 -22 -19 -15 -16 -18 -17 -15 -12 -9 -9 -10 -9 -9 -10 -9 -7 -6 -6 -4 -2 1 3 5 6 7 6 4 2 1 2 -0 -1 -1 -0 -4 -8 -9 -7 -7 -6 -5 -1 7 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -14 -17 -18 -17 -16 -15 -15 -15 -17 -18 -18 -18 -18 -16 -16 -18 -21 -21 -19 -13 -7 -2 -2 -3 -4 -5 -6 -6 -7 -7 -8 -8 -7 -6 -7 -8 -8 -8 -8 -8 -8 -7 -6 -5 -5 -5 -5 -5 -5 -6 -8 -10 -10 -8 -7 -7 -6 -5 -5 -5 -6 -6 -5 -5 -4 -4 -4 -4 -4 -3 -2 -2 -1 -2 -2 -4 -5 -6 -8 -10 -12 -15 -17 -18 -20 -20 -17 -14 -11 -7 -7 -7 -7 -6 -5 -6 -9 -13 -18 -18 -15 -12 -11 -12 -11 -10 -9 -8 -7 -8 -8 -9 -11 -12 -14 -14 -13 -12 -12 -14 -18 -21 -22 -19 -12 -9 -8 -9 -10 -10 -11 -10 -9 -8 -11 -14 -17 -19 -23 -29 -34 -36 -33 -27 -20 -13 -9 -10 -13 -14 -13 -12 -10 -8 -8 -8 -8 -8 -8 -9 -8 -7 -5 -3 -1 -0 1 1 1 0 0 0 -0 -1 -2 -3 -3 -5 -6 -8 -7 -7 -9 -12 -15 -13 -10 -11 -13 -16 -17 -10 3 18 32 39 39 37 34 31 27 23 18 14 10 6 3 1 -2 -3 -4 -4 -3 -3 -4 -6 -8 -10 -11 -11 -10 -9 -7 -6 -6 -7 -8 -9 -10 -11 -11 -12 -12 -13 -13 -14 -14 -15 -16 -18 -19 -20 -21 -21 -20 -19 -18 -17 -15 -12 -9 -8 -8 -9 -9 -9 -9 -10 -11 -13 -14 -16 -14 -11 -8 -6 -7 -8 -9 -10 -9 -9 -8 -9 -10 -12 -16 -19 -20 -14 -2 6 7 8 10 11 12 10 8 5 2 -0 -2 -3 -4 -5 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -5 -2 -0 -1 -3 -7 -9 -10 -11 -12 -12 -12 -11 -10 -10 -11 -11 -12 -12 -11 -10 -9 -10 -13 -14 -13 -13 -15 -17 -17 -16 -15 -16 -19 -22 -23 -24 -23 -22 -22 -22 -21 -20 -19 -19 -17 -16 -17 -18 -19 -21 -22 -22 -22 -21 -19 -18 -19 -19 -18 -15 -10 -8 -8 -9 -12 -14 -13 -10 -8 -7 -6 -5 -2 1 3 6 7 7 6 4 2 2 2 -2 -5 -4 -4 -6 -7 -8 -10 -9 -7 -1 8 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -16 -17 -18 -16 -13 -12 -12 -12 -13 -15 -17 -17 -14 -9 -4 -2 -2 -3 -4 -6 -7 -7 -8 -9 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -8 -7 -6 -5 -6 -6 -5 -5 -5 -7 -8 -9 -8 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -5 -4 -4 -4 -3 -2 -2 -2 -3 -5 -7 -9 -10 -11 -12 -13 -14 -16 -18 -19 -18 -16 -13 -9 -7 -7 -8 -8 -7 -7 -8 -10 -13 -15 -14 -12 -12 -13 -12 -10 -8 -8 -7 -7 -8 -9 -10 -11 -13 -14 -13 -12 -11 -11 -13 -18 -21 -20 -14 -11 -10 -11 -11 -12 -13 -12 -10 -7 -6 -8 -11 -15 -20 -27 -33 -37 -37 -34 -27 -19 -11 -8 -8 -11 -12 -11 -9 -8 -7 -8 -8 -8 -8 -8 -9 -8 -7 -5 -3 -2 -0 0 1 2 2 2 2 1 -1 -3 -3 -5 -7 -9 -9 -8 -9 -13 -18 -18 -13 -8 -5 -7 -12 -15 -13 -7 3 18 31 38 38 36 34 30 25 20 15 10 6 2 -1 -3 -5 -4 -3 -2 -3 -4 -7 -9 -10 -11 -10 -9 -8 -6 -6 -6 -7 -8 -10 -11 -13 -14 -14 -14 -14 -14 -14 -15 -16 -16 -17 -17 -18 -19 -20 -22 -22 -20 -15 -11 -8 -7 -8 -9 -10 -10 -11 -11 -12 -13 -15 -16 -16 -14 -10 -6 -6 -7 -9 -10 -10 -10 -9 -9 -9 -10 -13 -16 -19 -18 -12 1 5 5 6 8 11 11 10 8 5 1 -2 -3 -4 -5 -6 -7 -8 -8 -8 -7 -7 -6 -6 -5 -5 -5 -4 -3 -3 -6 -9 -10 -11 -11 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -9 -11 -15 -18 -18 -17 -18 -18 -18 -16 -16 -16 -18 -20 -22 -22 -22 -22 -22 -22 -21 -21 -21 -20 -18 -18 -20 -21 -22 -23 -23 -21 -21 -22 -24 -24 -23 -22 -21 -19 -13 -8 -6 -8 -12 -17 -17 -14 -10 -8 -6 -6 -4 -1 1 4 5 5 5 4 2 1 -0 -2 -4 -2 -2 -3 -6 -8 -9 -7 -3 3 12 -15 -15 -14 -14 -14 -14 -14 -15 -15 -15 -14 -13 -13 -13 -14 -16 -18 -19 -18 -16 -13 -12 -12 -12 -12 -13 -14 -15 -16 -14 -10 -6 -4 -3 -3 -4 -5 -6 -7 -9 -10 -11 -11 -10 -9 -8 -8 -8 -7 -7 -8 -8 -8 -7 -6 -6 -6 -5 -6 -6 -6 -6 -7 -7 -6 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -4 -6 -8 -10 -13 -13 -13 -13 -13 -15 -17 -18 -17 -17 -16 -12 -9 -7 -8 -8 -9 -10 -10 -9 -9 -10 -10 -11 -12 -14 -13 -11 -9 -8 -7 -7 -7 -8 -10 -11 -13 -13 -13 -12 -11 -10 -10 -13 -17 -18 -15 -12 -12 -12 -12 -13 -13 -14 -13 -11 -8 -6 -8 -11 -16 -22 -26 -29 -31 -30 -29 -27 -21 -13 -6 -6 -7 -7 -7 -6 -6 -7 -8 -8 -8 -7 -7 -8 -8 -7 -5 -4 -2 -1 -0 0 1 2 3 2 0 -1 -3 -5 -7 -10 -10 -10 -11 -14 -18 -21 -19 -13 -7 -3 -5 -10 -13 -14 -12 -5 6 17 27 34 36 34 31 26 21 16 10 5 1 -3 -6 -5 -4 -2 -1 -2 -5 -7 -9 -10 -11 -10 -9 -8 -6 -5 -6 -7 -9 -11 -12 -13 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -16 -19 -22 -25 -26 -23 -16 -9 -5 -6 -8 -10 -11 -11 -12 -12 -12 -13 -14 -15 -16 -15 -13 -9 -5 -6 -7 -9 -10 -10 -10 -9 -9 -9 -10 -12 -15 -18 -18 -7 1 4 3 3 5 8 10 10 8 4 0 -2 -4 -5 -6 -6 -7 -8 -8 -7 -6 -6 -5 -5 -6 -7 -10 -9 -7 -6 -9 -10 -10 -11 -11 -12 -12 -11 -10 -9 -9 -10 -10 -10 -10 -11 -13 -17 -20 -20 -19 -20 -20 -20 -18 -17 -17 -18 -19 -20 -21 -21 -22 -22 -23 -22 -22 -22 -21 -18 -19 -21 -22 -23 -24 -23 -22 -21 -21 -23 -24 -24 -23 -22 -21 -17 -11 -7 -6 -10 -16 -18 -16 -11 -5 -2 -2 -3 -4 -2 1 2 3 3 3 1 -2 -4 -5 -4 -2 -0 -1 -3 -7 -7 -2 3 8 14 -15 -16 -16 -15 -15 -15 -15 -15 -15 -15 -15 -14 -15 -17 -17 -17 -17 -18 -18 -16 -13 -12 -14 -13 -13 -14 -16 -16 -14 -11 -9 -8 -7 -4 -3 -4 -5 -6 -7 -9 -10 -11 -11 -10 -9 -8 -8 -8 -8 -9 -9 -10 -9 -7 -7 -7 -6 -6 -6 -7 -6 -5 -5 -5 -5 -4 -5 -6 -7 -7 -7 -6 -5 -5 -4 -4 -5 -5 -5 -4 -4 -4 -5 -4 -5 -6 -8 -11 -14 -15 -15 -15 -14 -16 -18 -18 -17 -16 -16 -15 -12 -9 -8 -8 -9 -10 -12 -12 -10 -8 -7 -9 -11 -14 -14 -13 -10 -9 -8 -7 -7 -8 -9 -11 -12 -12 -12 -11 -12 -10 -9 -11 -13 -14 -14 -13 -13 -13 -14 -14 -14 -14 -14 -13 -11 -9 -9 -11 -15 -19 -21 -23 -23 -23 -25 -28 -28 -21 -12 -7 -5 -5 -4 -4 -3 -5 -6 -7 -8 -7 -6 -6 -6 -6 -5 -5 -4 -3 -2 -1 -0 1 2 2 1 -1 -3 -4 -6 -8 -11 -12 -12 -13 -16 -20 -21 -19 -14 -6 -4 -7 -10 -12 -12 -13 -10 -3 6 16 23 27 29 28 25 21 16 10 4 -1 -5 -6 -5 -3 -1 -0 -2 -5 -7 -9 -10 -11 -11 -9 -8 -6 -6 -6 -7 -8 -10 -11 -12 -13 -13 -13 -13 -13 -14 -14 -15 -16 -18 -21 -24 -27 -27 -23 -17 -9 -4 -5 -8 -10 -12 -12 -12 -12 -12 -13 -13 -14 -14 -15 -14 -12 -8 -5 -5 -7 -9 -10 -10 -9 -8 -7 -8 -9 -11 -13 -17 -14 -4 3 4 2 1 3 5 7 8 6 3 -0 -3 -5 -6 -6 -7 -8 -8 -7 -6 -6 -7 -7 -10 -11 -12 -13 -13 -10 -10 -11 -11 -10 -10 -11 -11 -11 -10 -10 -11 -11 -11 -11 -12 -15 -18 -21 -21 -21 -20 -21 -22 -21 -19 -19 -19 -19 -19 -19 -19 -20 -22 -24 -24 -23 -21 -20 -19 -19 -19 -21 -22 -23 -24 -24 -22 -20 -19 -21 -23 -24 -24 -22 -20 -19 -14 -9 -5 -6 -12 -15 -14 -9 -5 -1 -0 -2 -5 -5 -2 0 1 2 2 -0 -3 -6 -7 -6 -4 -1 0 -0 -3 -1 4 9 11 14 -16 -15 -15 -16 -15 -14 -13 -14 -14 -14 -13 -13 -14 -16 -16 -16 -15 -16 -15 -13 -12 -12 -14 -14 -15 -16 -18 -17 -12 -9 -8 -8 -7 -5 -4 -5 -7 -8 -9 -9 -10 -10 -10 -9 -9 -8 -8 -9 -9 -10 -10 -10 -10 -8 -7 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -5 -6 -7 -9 -9 -8 -6 -4 -4 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -6 -8 -11 -13 -15 -16 -16 -14 -15 -18 -19 -18 -17 -17 -17 -16 -13 -11 -10 -9 -10 -12 -14 -13 -9 -7 -7 -9 -12 -15 -14 -12 -10 -9 -7 -7 -8 -9 -10 -12 -11 -10 -10 -10 -10 -10 -11 -11 -12 -13 -13 -13 -14 -14 -15 -15 -14 -14 -13 -13 -12 -12 -13 -15 -18 -20 -20 -19 -18 -18 -21 -25 -24 -19 -12 -7 -5 -4 -3 -2 -3 -4 -6 -7 -7 -6 -5 -5 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 1 2 1 -1 -4 -6 -7 -8 -10 -11 -12 -14 -17 -19 -20 -18 -13 -9 -9 -11 -12 -11 -11 -13 -11 -6 1 5 7 10 15 20 21 18 15 10 5 -0 -4 -5 -4 -2 1 0 -1 -4 -6 -9 -10 -11 -11 -10 -8 -7 -6 -6 -6 -7 -9 -11 -12 -14 -14 -14 -14 -14 -15 -17 -19 -21 -23 -25 -25 -24 -21 -16 -10 -6 -6 -8 -10 -12 -13 -13 -12 -12 -12 -12 -13 -13 -13 -14 -14 -11 -7 -5 -5 -7 -8 -9 -8 -7 -6 -6 -6 -7 -9 -11 -14 -9 -2 3 2 0 -1 -1 0 1 3 3 2 -1 -4 -5 -6 -7 -7 -8 -8 -7 -9 -11 -11 -13 -13 -13 -14 -15 -15 -15 -13 -12 -10 -9 -9 -10 -10 -10 -13 -14 -15 -16 -16 -17 -20 -22 -23 -22 -21 -21 -21 -21 -21 -20 -19 -18 -19 -19 -18 -18 -19 -21 -23 -24 -23 -22 -21 -21 -20 -20 -20 -22 -23 -25 -24 -22 -20 -19 -20 -21 -22 -22 -20 -18 -15 -14 -11 -7 -4 -7 -11 -11 -6 -6 -2 -0 -0 -2 -2 -1 0 1 2 2 1 -2 -4 -6 -6 -4 -2 0 2 3 6 8 10 11 14 -15 -15 -15 -15 -14 -12 -12 -13 -13 -11 -11 -11 -12 -13 -14 -15 -15 -16 -14 -12 -11 -12 -13 -14 -15 -16 -16 -15 -11 -9 -8 -7 -6 -5 -5 -7 -10 -10 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -9 -8 -7 -6 -5 -4 -5 -6 -7 -6 -5 -4 -5 -6 -9 -10 -10 -9 -8 -6 -4 -4 -5 -5 -5 -5 -5 -5 -5 -4 -5 -5 -6 -8 -10 -13 -15 -17 -17 -17 -16 -18 -20 -21 -20 -16 -16 -16 -16 -14 -12 -11 -11 -12 -13 -11 -9 -9 -9 -9 -10 -13 -14 -13 -11 -10 -9 -8 -8 -8 -9 -10 -11 -10 -9 -9 -9 -9 -10 -10 -11 -11 -12 -12 -13 -14 -15 -16 -15 -14 -12 -12 -13 -15 -16 -17 -19 -20 -21 -20 -18 -14 -13 -16 -20 -22 -19 -12 -7 -5 -5 -3 -3 -3 -5 -6 -6 -6 -5 -4 -4 -3 -2 -3 -3 -3 -2 -2 -1 -1 0 1 1 0 -2 -5 -7 -8 -9 -10 -11 -13 -15 -16 -17 -18 -17 -15 -14 -15 -16 -14 -12 -11 -11 -10 -8 -6 -5 -3 -0 3 7 10 12 12 9 5 1 -3 -5 -4 -2 1 1 0 -2 -5 -8 -10 -11 -11 -10 -9 -8 -6 -5 -5 -6 -8 -11 -13 -15 -15 -16 -16 -17 -18 -20 -21 -22 -22 -20 -17 -14 -12 -11 -9 -8 -9 -11 -13 -13 -13 -12 -11 -11 -11 -12 -12 -12 -13 -13 -12 -10 -7 -4 -4 -5 -7 -7 -6 -5 -5 -4 -5 -5 -7 -11 -12 -8 -2 -1 -2 -4 -5 -6 -7 -6 -3 -1 -1 -2 -4 -6 -7 -8 -9 -11 -11 -13 -14 -14 -14 -15 -15 -16 -17 -16 -16 -15 -13 -12 -9 -8 -8 -9 -10 -15 -18 -19 -20 -19 -20 -22 -24 -24 -23 -22 -21 -20 -19 -18 -18 -17 -17 -17 -17 -16 -16 -17 -19 -22 -23 -23 -23 -23 -24 -23 -21 -20 -21 -23 -25 -24 -22 -20 -20 -20 -20 -20 -20 -19 -17 -13 -9 -7 -10 -6 -5 -7 -8 -5 -6 -5 -2 -0 -0 -1 -1 -0 1 2 2 1 -1 -3 -4 -5 -4 -2 1 4 10 12 11 10 11 14 -14 -15 -15 -14 -12 -10 -10 -11 -11 -10 -10 -10 -11 -12 -13 -15 -16 -17 -15 -13 -12 -13 -14 -15 -16 -15 -12 -10 -9 -8 -7 -7 -6 -6 -7 -7 -8 -8 -10 -10 -9 -7 -6 -7 -8 -8 -8 -8 -9 -10 -10 -9 -8 -7 -6 -6 -5 -5 -5 -5 -6 -7 -7 -6 -5 -5 -7 -9 -10 -10 -9 -6 -3 -2 -2 -3 -3 -4 -4 -6 -7 -6 -5 -5 -7 -8 -8 -9 -12 -15 -18 -20 -21 -20 -19 -21 -23 -23 -18 -15 -16 -17 -17 -14 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -13 -12 -11 -10 -10 -9 -8 -8 -9 -10 -10 -9 -8 -7 -7 -8 -9 -9 -10 -11 -12 -13 -14 -15 -16 -16 -15 -13 -11 -12 -14 -16 -17 -18 -21 -22 -23 -23 -18 -11 -10 -14 -20 -21 -15 -10 -7 -6 -5 -4 -4 -5 -5 -6 -5 -5 -4 -4 -3 -1 -1 -1 -1 -1 -2 -1 -1 0 1 3 3 1 -3 -4 -5 -6 -8 -10 -13 -14 -15 -15 -15 -15 -14 -14 -16 -19 -22 -18 -14 -12 -12 -12 -10 -8 -7 -7 -7 -5 -2 1 4 6 6 4 0 -3 -5 -5 -3 -1 1 1 -1 -3 -6 -8 -9 -10 -11 -10 -9 -7 -5 -5 -6 -9 -12 -14 -16 -17 -17 -18 -19 -19 -20 -19 -18 -15 -12 -10 -9 -9 -11 -11 -11 -11 -12 -13 -12 -11 -10 -10 -10 -10 -11 -11 -11 -11 -12 -11 -9 -6 -3 -3 -4 -6 -7 -7 -7 -6 -5 -5 -6 -9 -13 -14 -9 -5 -4 -6 -7 -8 -10 -10 -10 -9 -8 -6 -7 -9 -10 -10 -11 -16 -17 -16 -16 -16 -16 -16 -17 -17 -17 -15 -14 -14 -13 -13 -10 -8 -6 -7 -9 -15 -18 -19 -20 -19 -20 -22 -23 -24 -22 -22 -21 -19 -16 -16 -15 -15 -14 -15 -15 -14 -14 -16 -18 -21 -24 -25 -26 -26 -27 -26 -24 -23 -23 -24 -25 -24 -22 -20 -21 -20 -19 -18 -17 -18 -17 -13 -8 -2 -1 -8 -6 -4 -5 -6 -5 -4 -3 -1 1 1 0 1 1 2 2 1 -0 -2 -3 -4 -4 -2 2 6 12 14 13 11 11 13 -12 -13 -13 -13 -11 -9 -9 -10 -11 -10 -10 -10 -12 -12 -14 -16 -17 -16 -15 -15 -14 -14 -16 -17 -17 -15 -11 -8 -8 -7 -7 -7 -7 -7 -7 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -8 -8 -8 -7 -6 -5 -5 -4 -5 -5 -5 -4 -5 -6 -7 -8 -7 -6 -6 -6 -7 -8 -8 -7 -5 -2 -1 -2 -2 -3 -4 -5 -6 -7 -7 -7 -6 -7 -8 -8 -9 -11 -14 -19 -23 -25 -25 -23 -22 -22 -22 -20 -16 -15 -15 -16 -14 -12 -11 -11 -12 -13 -13 -13 -13 -12 -12 -11 -12 -12 -12 -11 -12 -12 -11 -10 -9 -9 -10 -10 -9 -7 -5 -5 -6 -7 -8 -9 -10 -11 -12 -13 -15 -16 -16 -16 -15 -11 -9 -9 -11 -14 -17 -20 -22 -24 -27 -25 -19 -13 -11 -14 -17 -15 -12 -10 -8 -7 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -2 -1 -0 0 -0 -1 -2 -1 -0 1 3 4 3 1 0 -1 -3 -5 -8 -11 -13 -14 -14 -14 -12 -11 -11 -13 -18 -23 -23 -21 -17 -15 -13 -12 -10 -8 -7 -7 -9 -9 -8 -6 -4 -2 -0 0 -2 -4 -6 -6 -6 -4 -2 0 0 -1 -3 -6 -8 -10 -11 -12 -11 -8 -6 -5 -6 -9 -12 -15 -17 -18 -18 -18 -17 -16 -15 -14 -12 -10 -8 -8 -7 -9 -11 -13 -13 -12 -12 -11 -10 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -8 -5 -4 -5 -7 -11 -12 -12 -11 -10 -9 -8 -9 -12 -14 -13 -7 -5 -5 -7 -7 -9 -11 -12 -12 -12 -12 -14 -15 -14 -13 -12 -16 -17 -17 -16 -16 -17 -17 -17 -15 -15 -13 -12 -12 -12 -13 -11 -8 -6 -6 -9 -14 -18 -19 -19 -19 -20 -21 -22 -23 -22 -22 -21 -18 -15 -14 -15 -14 -14 -13 -13 -14 -15 -16 -18 -22 -25 -28 -29 -29 -28 -26 -25 -26 -27 -27 -26 -25 -23 -22 -21 -20 -18 -16 -16 -17 -18 -15 -9 -2 2 -2 -5 -6 -4 -5 -1 -0 -1 -2 1 3 4 3 1 2 2 2 1 0 -2 -4 -5 -2 4 4 10 14 15 13 12 13 -11 -12 -12 -11 -10 -9 -9 -10 -11 -10 -10 -11 -12 -13 -13 -15 -16 -16 -15 -15 -15 -14 -14 -15 -14 -12 -11 -9 -8 -7 -6 -7 -7 -7 -7 -7 -7 -5 -5 -5 -6 -5 -4 -3 -3 -4 -5 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -5 -4 -4 -5 -7 -8 -8 -8 -7 -6 -5 -5 -5 -6 -5 -3 -2 -2 -3 -4 -5 -6 -7 -8 -8 -7 -7 -8 -8 -8 -9 -10 -13 -18 -23 -28 -30 -28 -25 -23 -22 -22 -19 -16 -15 -15 -14 -13 -12 -11 -12 -13 -13 -13 -14 -13 -13 -12 -12 -12 -12 -12 -13 -13 -13 -13 -12 -11 -11 -10 -9 -7 -5 -4 -4 -5 -5 -6 -7 -9 -11 -14 -15 -16 -17 -17 -17 -14 -10 -8 -8 -10 -12 -14 -18 -21 -26 -29 -27 -21 -15 -11 -14 -15 -14 -11 -9 -8 -8 -7 -7 -6 -6 -6 -5 -4 -3 -3 -3 -2 -1 -1 -1 -1 -2 -2 -1 1 3 5 5 5 5 4 2 -1 -4 -8 -11 -13 -13 -13 -12 -11 -10 -11 -14 -22 -26 -26 -23 -19 -15 -14 -12 -10 -8 -6 -7 -8 -9 -10 -11 -9 -7 -6 -5 -5 -6 -7 -8 -8 -8 -5 -2 0 1 -1 -4 -6 -9 -11 -13 -12 -9 -7 -5 -6 -9 -12 -15 -17 -17 -16 -15 -14 -12 -11 -10 -9 -9 -8 -8 -8 -10 -12 -14 -13 -12 -11 -10 -9 -8 -8 -8 -9 -9 -9 -9 -9 -9 -10 -9 -8 -8 -9 -10 -12 -14 -14 -13 -13 -12 -10 -9 -10 -14 -16 -11 -7 -6 -6 -6 -8 -11 -13 -14 -14 -15 -14 -11 -8 -7 -8 -11 -13 -13 -13 -14 -14 -14 -14 -12 -12 -12 -12 -12 -11 -11 -11 -9 -7 -7 -12 -16 -18 -18 -19 -19 -20 -21 -22 -22 -22 -22 -22 -20 -16 -14 -16 -17 -16 -14 -15 -16 -17 -19 -21 -23 -26 -28 -30 -31 -29 -28 -28 -28 -27 -26 -26 -25 -24 -22 -21 -20 -18 -17 -16 -17 -18 -16 -11 -6 -1 -0 -2 -5 -7 -4 1 2 0 -2 -0 3 5 5 2 2 2 1 0 -1 -3 -4 -5 -2 8 4 6 10 15 15 13 13 -11 -12 -12 -11 -9 -9 -9 -10 -12 -11 -11 -12 -14 -15 -13 -13 -15 -19 -16 -14 -14 -13 -12 -11 -12 -12 -13 -13 -12 -10 -8 -7 -8 -7 -7 -7 -6 -6 -5 -5 -5 -5 -3 -2 -3 -3 -4 -4 -3 -4 -4 -4 -4 -4 -5 -5 -6 -6 -5 -5 -5 -6 -8 -9 -8 -7 -6 -4 -3 -4 -5 -5 -4 -3 -3 -3 -4 -5 -7 -8 -9 -8 -8 -7 -7 -7 -8 -9 -11 -13 -17 -21 -27 -32 -32 -29 -25 -23 -24 -21 -18 -15 -15 -15 -13 -12 -12 -13 -13 -14 -14 -14 -14 -14 -13 -13 -12 -12 -12 -13 -14 -14 -15 -15 -14 -13 -11 -9 -7 -5 -3 -3 -3 -3 -4 -5 -7 -9 -12 -14 -16 -17 -18 -18 -16 -12 -8 -6 -7 -8 -10 -14 -20 -26 -30 -31 -27 -22 -16 -16 -16 -15 -12 -9 -9 -9 -8 -7 -7 -7 -7 -6 -5 -4 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -0 2 4 5 6 8 8 7 4 0 -3 -7 -10 -12 -12 -11 -10 -9 -8 -10 -16 -23 -27 -27 -23 -17 -14 -14 -13 -10 -7 -7 -7 -7 -8 -8 -9 -10 -11 -11 -9 -8 -8 -8 -10 -11 -11 -9 -5 -1 1 -1 -3 -6 -9 -11 -12 -12 -10 -8 -6 -7 -9 -12 -15 -16 -15 -13 -12 -10 -10 -10 -10 -9 -9 -9 -8 -9 -11 -13 -14 -12 -10 -9 -9 -8 -7 -7 -7 -8 -8 -9 -9 -10 -12 -12 -13 -13 -13 -12 -12 -14 -16 -16 -15 -14 -12 -9 -9 -12 -14 -14 -10 -6 -5 -4 -7 -11 -14 -16 -17 -15 -11 -7 -4 -3 -5 -8 -10 -11 -11 -9 -6 -5 -8 -10 -11 -11 -11 -12 -11 -10 -10 -10 -11 -10 -14 -17 -19 -20 -20 -21 -21 -22 -23 -23 -23 -23 -23 -22 -18 -17 -20 -21 -20 -16 -17 -19 -22 -23 -23 -24 -25 -28 -30 -30 -30 -30 -29 -29 -27 -25 -25 -25 -24 -23 -22 -20 -19 -19 -18 -17 -16 -15 -13 -10 -5 -1 2 1 -8 -5 -0 2 2 -0 -1 0 2 4 3 2 2 1 -1 -2 -2 -3 -3 -1 7 10 7 6 11 15 15 14 -11 -12 -11 -10 -9 -9 -10 -11 -11 -11 -12 -15 -19 -22 -21 -18 -17 -19 -18 -16 -15 -14 -12 -10 -10 -12 -14 -16 -17 -16 -13 -10 -8 -8 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -4 -4 -4 -3 -3 -3 -4 -4 -5 -5 -5 -5 -6 -7 -6 -5 -5 -6 -8 -9 -8 -7 -5 -4 -3 -3 -4 -4 -4 -4 -3 -3 -4 -6 -8 -10 -10 -9 -8 -7 -6 -6 -7 -8 -11 -13 -16 -20 -25 -31 -34 -32 -29 -25 -24 -24 -20 -17 -15 -16 -15 -13 -12 -13 -14 -14 -15 -15 -15 -14 -14 -14 -13 -13 -13 -14 -14 -15 -15 -16 -16 -15 -13 -11 -9 -6 -4 -3 -2 -2 -2 -3 -4 -6 -8 -10 -12 -14 -17 -19 -18 -14 -9 -5 -5 -6 -8 -12 -17 -21 -25 -26 -26 -24 -20 -18 -17 -15 -12 -9 -10 -10 -9 -8 -7 -7 -8 -8 -7 -5 -4 -3 -3 -3 -3 -3 -4 -5 -6 -6 -5 -2 1 4 5 8 10 9 6 2 -1 -2 -5 -9 -11 -10 -9 -8 -8 -9 -12 -17 -22 -25 -24 -19 -15 -14 -14 -11 -8 -7 -7 -8 -7 -7 -7 -8 -10 -12 -14 -13 -11 -10 -11 -12 -13 -13 -12 -9 -4 -2 -3 -5 -7 -9 -10 -11 -12 -11 -9 -8 -8 -9 -11 -13 -13 -12 -11 -10 -9 -9 -9 -10 -10 -10 -10 -9 -10 -11 -13 -12 -10 -9 -9 -9 -8 -7 -6 -6 -8 -10 -11 -13 -16 -16 -16 -15 -14 -12 -12 -14 -17 -18 -17 -16 -13 -11 -10 -10 -11 -13 -11 -8 -6 -5 -6 -9 -14 -18 -20 -17 -11 -6 -5 -3 -3 -4 -7 -9 -11 -10 -8 -5 -5 -8 -11 -11 -11 -11 -11 -10 -10 -12 -15 -14 -16 -18 -21 -21 -22 -22 -23 -23 -25 -25 -24 -24 -23 -23 -21 -20 -22 -22 -21 -19 -21 -23 -25 -25 -25 -25 -26 -27 -28 -28 -30 -30 -29 -29 -27 -26 -25 -25 -24 -24 -21 -19 -19 -21 -19 -16 -14 -13 -13 -12 -6 0 4 6 -3 -6 -4 -1 1 3 2 1 1 2 2 2 1 0 -1 -1 -1 -2 -2 -1 -2 8 10 7 5 11 14 15 -11 -11 -11 -11 -10 -10 -10 -12 -13 -13 -15 -18 -21 -25 -25 -23 -21 -21 -19 -19 -18 -17 -13 -9 -9 -10 -12 -16 -19 -20 -18 -14 -10 -9 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -5 -6 -6 -5 -4 -3 -4 -4 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -8 -9 -8 -6 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -6 -9 -10 -10 -9 -8 -7 -6 -6 -6 -8 -10 -13 -15 -18 -22 -27 -33 -35 -33 -29 -26 -26 -24 -20 -16 -16 -17 -16 -14 -13 -13 -14 -14 -15 -15 -14 -15 -15 -15 -14 -14 -14 -14 -15 -16 -17 -18 -17 -15 -13 -11 -9 -7 -5 -3 -1 -1 -1 -2 -3 -3 -4 -6 -10 -15 -19 -18 -15 -10 -6 -4 -5 -7 -9 -12 -14 -16 -17 -19 -20 -20 -19 -17 -15 -12 -10 -10 -11 -11 -9 -7 -6 -6 -7 -8 -8 -6 -3 -2 -2 -3 -3 -3 -5 -7 -10 -11 -8 -4 -0 2 4 6 7 6 2 0 0 -1 -4 -8 -9 -8 -8 -8 -10 -11 -14 -17 -20 -22 -21 -18 -16 -15 -12 -9 -7 -8 -8 -9 -9 -8 -7 -7 -8 -11 -12 -14 -14 -14 -14 -13 -14 -16 -17 -14 -11 -9 -8 -7 -8 -9 -10 -11 -12 -12 -10 -9 -8 -9 -10 -10 -11 -11 -10 -9 -9 -9 -10 -11 -11 -11 -11 -10 -9 -11 -12 -11 -9 -8 -8 -8 -8 -8 -8 -10 -13 -15 -17 -17 -17 -17 -17 -16 -13 -11 -13 -16 -19 -18 -16 -11 -9 -8 -9 -10 -13 -12 -10 -8 -7 -6 -8 -12 -17 -20 -17 -12 -8 -6 -5 -3 -2 -4 -6 -9 -10 -9 -8 -6 -6 -10 -11 -11 -11 -11 -10 -10 -12 -16 -16 -17 -20 -22 -24 -24 -23 -22 -22 -24 -24 -23 -23 -24 -23 -23 -21 -20 -19 -19 -20 -23 -25 -26 -26 -26 -26 -27 -27 -26 -26 -29 -30 -30 -29 -29 -28 -27 -26 -24 -23 -20 -18 -18 -20 -18 -16 -13 -11 -12 -11 -5 1 4 6 1 -5 -7 -4 -2 0 1 2 1 1 1 1 1 1 -0 -1 -1 -0 -0 -0 -1 4 9 13 6 4 10 14 -12 -12 -13 -12 -10 -10 -12 -13 -14 -16 -17 -19 -21 -23 -24 -23 -22 -21 -21 -20 -19 -16 -11 -7 -7 -8 -11 -15 -20 -22 -21 -17 -12 -11 -10 -9 -8 -8 -8 -8 -8 -8 -9 -8 -7 -6 -7 -7 -5 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -7 -7 -7 -6 -6 -6 -7 -6 -5 -4 -3 -2 -2 -2 -3 -6 -9 -10 -10 -9 -8 -6 -4 -4 -5 -7 -9 -12 -14 -16 -18 -23 -30 -35 -37 -34 -28 -25 -24 -22 -18 -15 -17 -17 -16 -14 -13 -14 -14 -14 -14 -14 -15 -16 -16 -16 -15 -15 -15 -15 -16 -17 -18 -18 -16 -14 -13 -12 -10 -8 -5 -2 -2 -2 -1 0 2 1 -1 -5 -10 -14 -15 -14 -11 -8 -5 -5 -6 -8 -8 -7 -7 -8 -9 -11 -14 -15 -15 -14 -12 -11 -11 -11 -11 -10 -7 -5 -4 -5 -7 -8 -7 -4 -1 1 0 -0 -1 -2 -5 -10 -15 -14 -11 -6 -3 -2 -1 1 3 4 3 3 3 1 -4 -7 -8 -8 -9 -10 -12 -13 -14 -15 -18 -21 -19 -17 -15 -13 -10 -9 -8 -8 -9 -10 -9 -9 -8 -7 -7 -9 -12 -14 -15 -15 -15 -15 -17 -19 -21 -19 -16 -13 -12 -12 -11 -10 -11 -12 -12 -12 -11 -10 -8 -8 -8 -9 -9 -10 -10 -9 -8 -9 -11 -12 -12 -11 -10 -9 -9 -10 -11 -11 -10 -10 -10 -12 -14 -15 -14 -14 -16 -18 -18 -17 -17 -17 -16 -15 -12 -12 -14 -16 -16 -15 -9 -6 -5 -6 -8 -10 -11 -11 -9 -9 -8 -8 -10 -14 -16 -13 -10 -9 -8 -6 -4 -2 -1 -3 -6 -8 -9 -11 -12 -8 -9 -11 -12 -11 -11 -10 -12 -14 -18 -18 -18 -21 -24 -25 -24 -22 -21 -21 -22 -22 -22 -23 -24 -24 -20 -16 -14 -15 -19 -22 -25 -26 -26 -26 -25 -25 -26 -26 -25 -24 -26 -29 -31 -30 -30 -29 -28 -27 -25 -22 -20 -19 -18 -18 -17 -14 -12 -11 -10 -9 -6 -2 0 2 -0 -6 -9 -7 -4 -1 1 2 1 1 0 1 1 1 -0 -1 -0 0 0 0 0 3 8 13 14 4 5 11 -12 -13 -14 -13 -11 -11 -12 -14 -15 -17 -19 -20 -22 -22 -23 -22 -21 -21 -21 -20 -16 -11 -6 -5 -6 -9 -13 -17 -20 -21 -20 -17 -14 -12 -10 -8 -8 -8 -8 -8 -8 -8 -10 -11 -10 -8 -6 -5 -4 -2 -2 -2 -2 -3 -3 -3 -2 -2 -3 -4 -4 -4 -4 -5 -6 -6 -7 -8 -8 -7 -6 -4 -3 -2 -1 -2 -3 -4 -6 -8 -9 -10 -9 -8 -6 -4 -4 -6 -9 -11 -13 -15 -17 -20 -26 -33 -37 -37 -31 -25 -23 -22 -21 -17 -16 -17 -17 -15 -13 -14 -14 -14 -13 -13 -14 -15 -15 -15 -16 -16 -16 -16 -17 -17 -18 -17 -15 -13 -13 -14 -14 -12 -8 -5 -4 -4 -3 -1 3 5 4 1 -3 -7 -10 -11 -10 -8 -6 -6 -8 -8 -7 -5 -3 -2 -1 -2 -4 -7 -9 -10 -10 -11 -11 -11 -10 -9 -6 -3 -2 -2 -4 -6 -6 -4 -1 2 4 3 2 1 -0 -4 -12 -15 -14 -11 -8 -7 -7 -6 -2 2 4 6 7 6 1 -4 -8 -9 -10 -10 -12 -14 -13 -13 -14 -18 -19 -18 -16 -15 -13 -10 -9 -8 -8 -9 -10 -11 -10 -9 -7 -7 -8 -11 -13 -15 -16 -16 -16 -17 -19 -21 -20 -17 -17 -17 -15 -15 -15 -15 -13 -13 -13 -12 -11 -10 -10 -10 -10 -9 -10 -12 -11 -9 -10 -12 -12 -12 -12 -10 -9 -10 -12 -15 -14 -14 -15 -17 -18 -19 -18 -17 -17 -19 -19 -18 -17 -17 -16 -16 -14 -12 -12 -13 -12 -12 -9 -5 -3 -4 -6 -8 -10 -11 -10 -10 -10 -9 -10 -11 -11 -10 -10 -11 -10 -9 -6 -3 -1 -1 -4 -6 -8 -12 -17 -13 -12 -12 -14 -16 -14 -13 -15 -18 -21 -21 -21 -22 -24 -24 -22 -21 -20 -21 -22 -22 -22 -23 -24 -23 -19 -15 -15 -17 -22 -24 -25 -25 -25 -26 -26 -26 -26 -27 -26 -24 -25 -27 -29 -30 -30 -30 -29 -28 -27 -24 -22 -20 -19 -17 -15 -13 -12 -12 -13 -13 -11 -7 -4 -3 -4 -7 -10 -10 -7 -3 -0 2 2 0 -0 -0 0 1 0 -0 0 1 1 1 1 3 7 11 13 9 5 4 -13 -13 -14 -13 -11 -11 -12 -13 -14 -16 -19 -22 -24 -26 -25 -24 -22 -21 -19 -17 -13 -8 -4 -4 -6 -10 -15 -19 -20 -19 -18 -15 -12 -10 -9 -9 -9 -10 -12 -12 -12 -10 -8 -8 -8 -8 -8 -7 -5 -4 -3 -2 -2 -2 -2 -1 -1 -1 -3 -3 -4 -5 -5 -5 -5 -6 -7 -8 -8 -8 -7 -5 -3 -2 -2 -2 -3 -3 -4 -6 -8 -10 -11 -10 -8 -6 -5 -6 -8 -10 -12 -14 -16 -19 -23 -30 -36 -38 -33 -25 -22 -22 -23 -21 -18 -17 -17 -16 -14 -13 -13 -13 -13 -13 -13 -13 -13 -14 -15 -16 -16 -17 -17 -18 -19 -18 -16 -14 -13 -15 -17 -16 -13 -9 -7 -7 -7 -5 -0 3 4 4 2 -0 -5 -8 -8 -7 -6 -8 -10 -11 -10 -8 -6 -3 -1 1 2 1 -0 -2 -4 -8 -9 -10 -10 -8 -6 -2 -0 1 -0 -2 -4 -3 -1 2 5 5 3 1 1 1 -4 -8 -10 -11 -10 -9 -10 -10 -9 -6 -2 4 8 10 6 -1 -7 -11 -13 -12 -12 -14 -15 -13 -11 -13 -16 -17 -17 -18 -16 -12 -9 -8 -7 -8 -10 -11 -12 -12 -10 -8 -7 -7 -9 -13 -15 -16 -17 -16 -15 -20 -22 -18 -17 -18 -19 -20 -21 -20 -17 -16 -17 -17 -17 -17 -17 -16 -16 -12 -14 -17 -17 -13 -13 -14 -15 -16 -16 -15 -13 -13 -15 -19 -20 -20 -20 -20 -20 -19 -19 -19 -19 -19 -20 -20 -19 -18 -17 -16 -16 -14 -11 -9 -9 -9 -8 -7 -6 -6 -6 -8 -10 -11 -10 -10 -10 -11 -11 -11 -12 -11 -12 -15 -15 -12 -9 -6 -3 -2 -2 -4 -6 -10 -17 -17 -16 -17 -19 -22 -21 -19 -18 -21 -24 -25 -25 -24 -24 -23 -22 -20 -20 -21 -21 -20 -20 -22 -23 -24 -22 -21 -20 -20 -23 -24 -25 -25 -26 -27 -27 -27 -28 -28 -27 -25 -26 -27 -28 -30 -32 -33 -32 -32 -31 -28 -24 -21 -20 -17 -15 -13 -13 -14 -14 -15 -14 -11 -8 -6 -7 -9 -11 -12 -9 -5 -2 1 2 1 -0 -1 -1 0 0 0 1 1 1 1 1 3 5 9 10 10 9 6 -13 -13 -13 -13 -12 -11 -11 -11 -13 -15 -18 -22 -28 -31 -30 -27 -24 -20 -15 -11 -8 -7 -6 -7 -7 -10 -13 -17 -16 -14 -13 -11 -9 -8 -8 -8 -10 -13 -17 -19 -18 -15 -12 -9 -8 -9 -9 -9 -7 -6 -4 -3 -2 -2 -2 -1 -1 -1 -3 -4 -5 -5 -5 -4 -4 -5 -6 -7 -7 -7 -7 -6 -5 -3 -3 -3 -3 -3 -3 -5 -7 -9 -10 -11 -10 -8 -6 -5 -7 -8 -10 -12 -15 -18 -21 -27 -34 -38 -36 -27 -22 -21 -23 -24 -22 -19 -18 -18 -17 -15 -13 -13 -13 -13 -12 -11 -12 -13 -14 -16 -16 -16 -17 -19 -20 -20 -19 -17 -15 -15 -16 -17 -18 -16 -12 -10 -8 -8 -5 -1 0 0 1 1 -1 -3 -5 -6 -7 -9 -12 -13 -13 -11 -10 -9 -7 -4 -1 1 3 4 3 -0 -4 -7 -8 -8 -7 -3 -0 2 2 0 -2 -2 -2 -1 3 5 3 -0 -2 -0 -1 -3 -4 -6 -7 -8 -9 -9 -10 -10 -7 -3 2 4 3 -1 -7 -13 -16 -15 -12 -13 -14 -14 -11 -10 -11 -14 -17 -20 -19 -15 -11 -8 -7 -7 -9 -11 -13 -14 -13 -11 -9 -7 -7 -9 -12 -16 -19 -18 -12 -15 -21 -22 -18 -17 -18 -19 -20 -21 -22 -22 -22 -22 -21 -21 -22 -22 -21 -19 -20 -23 -24 -21 -20 -20 -21 -22 -23 -23 -21 -20 -19 -20 -21 -21 -21 -21 -21 -20 -20 -20 -20 -20 -21 -21 -21 -20 -19 -17 -17 -16 -14 -12 -7 -7 -8 -10 -11 -10 -8 -10 -13 -13 -11 -10 -11 -11 -11 -12 -13 -14 -15 -17 -17 -16 -13 -10 -8 -5 -3 -3 -4 -8 -15 -19 -20 -21 -23 -26 -25 -23 -22 -22 -23 -23 -23 -22 -22 -22 -23 -23 -22 -21 -18 -17 -17 -18 -21 -22 -23 -23 -22 -22 -23 -24 -25 -26 -27 -27 -28 -28 -28 -28 -27 -27 -28 -29 -30 -33 -34 -35 -35 -34 -32 -29 -26 -23 -21 -18 -16 -15 -15 -16 -16 -16 -15 -13 -11 -11 -11 -12 -12 -13 -11 -8 -4 -0 1 1 0 -0 -1 -0 0 1 2 2 2 2 2 2 4 6 7 8 7 4 -13 -13 -13 -13 -12 -10 -9 -9 -12 -14 -18 -22 -28 -32 -30 -26 -20 -15 -11 -9 -8 -10 -13 -15 -13 -12 -12 -14 -14 -12 -10 -9 -8 -8 -8 -9 -10 -13 -17 -20 -19 -16 -14 -13 -11 -10 -10 -10 -9 -7 -5 -3 -3 -2 -2 -2 -2 -3 -4 -5 -6 -6 -6 -4 -3 -4 -5 -5 -6 -7 -7 -6 -6 -5 -4 -3 -3 -3 -3 -4 -6 -7 -9 -10 -11 -10 -9 -7 -6 -7 -9 -11 -13 -16 -20 -25 -31 -36 -37 -30 -24 -21 -21 -23 -23 -22 -20 -19 -19 -17 -14 -13 -12 -12 -12 -11 -10 -11 -12 -14 -15 -16 -16 -18 -21 -22 -21 -20 -19 -17 -16 -17 -19 -20 -18 -14 -11 -8 -7 -5 -3 -3 -2 -1 -0 -0 -2 -4 -6 -9 -11 -12 -12 -11 -11 -11 -11 -11 -10 -8 -3 1 4 4 2 -1 -4 -8 -10 -7 -3 -0 1 0 -1 -2 -3 -3 -1 2 2 -2 -5 -7 -6 -4 -3 -2 -4 -6 -7 -8 -9 -10 -9 -6 -2 2 4 1 -4 -10 -15 -17 -16 -14 -14 -14 -11 -9 -9 -12 -17 -21 -21 -17 -12 -9 -8 -7 -8 -10 -13 -15 -15 -14 -11 -9 -8 -8 -9 -13 -18 -21 -15 -15 -18 -19 -20 -18 -18 -18 -19 -20 -22 -23 -24 -24 -22 -21 -22 -23 -24 -25 -26 -27 -28 -28 -26 -25 -24 -24 -25 -25 -24 -23 -21 -20 -21 -21 -21 -21 -21 -21 -20 -20 -21 -21 -22 -23 -23 -21 -20 -18 -17 -16 -16 -14 -9 -9 -11 -12 -12 -11 -12 -14 -16 -16 -12 -11 -11 -12 -12 -12 -14 -15 -17 -18 -19 -18 -17 -16 -14 -10 -8 -6 -5 -7 -12 -18 -22 -23 -24 -26 -26 -25 -24 -23 -22 -21 -20 -19 -20 -21 -23 -24 -24 -23 -18 -15 -14 -15 -18 -21 -24 -24 -24 -23 -22 -23 -26 -27 -28 -26 -26 -26 -26 -26 -27 -28 -29 -31 -32 -34 -35 -35 -36 -35 -33 -30 -28 -24 -21 -19 -18 -18 -19 -19 -19 -18 -17 -15 -13 -13 -14 -15 -14 -14 -14 -11 -6 -2 0 0 0 -0 -1 -1 0 2 3 3 3 3 2 2 3 4 5 5 3 2 -12 -13 -13 -12 -10 -8 -7 -8 -12 -14 -17 -21 -26 -29 -29 -25 -20 -15 -14 -14 -13 -13 -14 -16 -15 -13 -12 -11 -11 -10 -9 -8 -8 -8 -9 -9 -10 -12 -14 -17 -18 -18 -18 -16 -13 -11 -10 -10 -9 -8 -6 -4 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -5 -4 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -4 -5 -6 -8 -10 -11 -12 -11 -10 -7 -6 -8 -10 -11 -15 -19 -24 -29 -33 -36 -33 -28 -23 -20 -20 -22 -22 -21 -19 -19 -19 -17 -14 -13 -12 -13 -12 -10 -9 -9 -11 -13 -14 -15 -16 -19 -21 -23 -24 -24 -22 -19 -17 -18 -21 -21 -18 -14 -11 -9 -7 -5 -4 -3 -2 -0 0 -1 -2 -5 -7 -8 -9 -9 -10 -9 -9 -10 -11 -13 -14 -12 -9 -4 -1 1 1 -1 -5 -10 -10 -7 -3 -2 -1 -1 -3 -4 -5 -4 -1 0 -2 -6 -12 -15 -12 -7 -2 -1 -4 -5 -6 -7 -8 -8 -6 -4 -1 1 1 -3 -8 -14 -18 -18 -18 -16 -13 -9 -7 -8 -10 -14 -20 -22 -19 -15 -11 -10 -9 -8 -9 -12 -14 -15 -14 -12 -11 -11 -9 -9 -10 -14 -18 -18 -18 -17 -16 -19 -19 -19 -19 -20 -21 -22 -24 -27 -28 -26 -23 -23 -23 -24 -26 -27 -27 -28 -31 -28 -25 -25 -25 -25 -26 -26 -25 -23 -21 -20 -20 -20 -21 -20 -21 -21 -21 -21 -22 -21 -23 -22 -20 -18 -15 -14 -15 -17 -16 -13 -13 -13 -14 -13 -13 -13 -15 -17 -17 -13 -12 -12 -14 -14 -14 -15 -16 -18 -20 -20 -20 -19 -18 -16 -15 -14 -12 -10 -13 -16 -20 -21 -22 -24 -25 -26 -25 -23 -22 -20 -19 -18 -19 -21 -21 -23 -24 -26 -25 -20 -15 -13 -15 -18 -21 -25 -26 -25 -24 -21 -22 -25 -28 -28 -28 -28 -27 -27 -26 -27 -29 -30 -31 -32 -34 -34 -35 -36 -36 -34 -32 -29 -26 -23 -21 -21 -21 -23 -23 -23 -22 -20 -18 -13 -11 -11 -13 -14 -14 -14 -13 -10 -4 -1 -0 -0 -1 -1 -1 -1 0 1 2 3 4 4 2 3 3 3 3 2 1 -13 -13 -10 -8 -5 -5 -6 -8 -11 -13 -16 -20 -24 -27 -27 -23 -19 -15 -15 -15 -14 -13 -12 -13 -13 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -11 -11 -12 -14 -16 -18 -16 -13 -10 -10 -10 -10 -8 -7 -5 -4 -4 -3 -4 -4 -5 -5 -5 -5 -5 -5 -3 -3 -3 -4 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -3 -3 -4 -4 -6 -7 -9 -11 -12 -13 -12 -9 -7 -7 -8 -9 -12 -17 -22 -27 -31 -35 -35 -31 -27 -22 -19 -20 -21 -20 -18 -17 -19 -20 -18 -15 -14 -14 -14 -12 -9 -8 -9 -11 -12 -13 -13 -15 -19 -22 -26 -29 -27 -23 -19 -17 -18 -19 -19 -17 -14 -11 -8 -6 -4 -4 -1 0 0 -1 -3 -4 -6 -6 -6 -6 -7 -7 -7 -7 -9 -12 -15 -16 -14 -10 -7 -3 -1 -1 -2 -5 -7 -7 -5 -2 -1 -1 -1 -2 -4 -4 -3 -2 -3 -7 -14 -19 -19 -14 -6 -1 -3 -4 -5 -5 -6 -6 -5 -4 -4 -3 -2 -2 -5 -10 -16 -20 -21 -20 -16 -10 -6 -5 -8 -11 -16 -19 -19 -16 -14 -13 -11 -10 -10 -11 -13 -14 -13 -12 -12 -13 -13 -11 -11 -12 -15 -18 -20 -19 -16 -17 -20 -20 -19 -20 -21 -22 -24 -27 -27 -27 -25 -25 -25 -25 -27 -26 -25 -25 -29 -26 -24 -23 -24 -26 -28 -28 -26 -24 -22 -21 -20 -20 -20 -20 -21 -21 -22 -22 -20 -17 -19 -19 -16 -14 -12 -11 -14 -18 -18 -16 -16 -15 -14 -14 -14 -15 -16 -17 -16 -14 -14 -14 -15 -16 -16 -17 -18 -19 -20 -21 -21 -21 -20 -17 -17 -17 -15 -14 -14 -16 -18 -19 -21 -24 -25 -24 -23 -21 -19 -19 -18 -19 -20 -23 -24 -24 -26 -27 -25 -20 -15 -13 -14 -17 -22 -26 -27 -25 -25 -23 -23 -24 -27 -29 -29 -29 -29 -29 -28 -29 -30 -30 -31 -31 -32 -33 -34 -35 -35 -33 -30 -29 -28 -26 -24 -24 -24 -25 -25 -25 -25 -24 -21 -15 -11 -11 -14 -15 -15 -15 -15 -13 -8 -4 -1 -1 -1 -1 -2 -2 -1 -1 -0 1 2 4 5 4 3 2 2 2 2 -11 -9 -7 -4 -3 -4 -5 -8 -11 -14 -16 -19 -22 -24 -24 -22 -19 -17 -16 -15 -13 -12 -11 -11 -10 -9 -8 -7 -7 -8 -9 -9 -10 -10 -10 -10 -10 -9 -9 -8 -9 -11 -13 -13 -11 -9 -9 -9 -9 -8 -7 -6 -5 -4 -4 -4 -4 -6 -6 -5 -5 -5 -4 -1 -1 -2 -3 -4 -5 -6 -6 -5 -5 -5 -5 -4 -4 -3 -3 -4 -4 -5 -7 -8 -10 -11 -13 -14 -13 -11 -8 -6 -6 -7 -11 -17 -23 -29 -33 -34 -33 -30 -25 -21 -20 -20 -20 -18 -17 -18 -20 -21 -20 -17 -16 -15 -13 -11 -9 -8 -9 -10 -12 -13 -13 -15 -19 -25 -30 -30 -27 -22 -18 -16 -16 -16 -16 -15 -11 -7 -4 -3 -2 -0 2 1 -1 -3 -4 -5 -5 -5 -3 -4 -4 -4 -4 -6 -9 -13 -16 -16 -14 -10 -7 -5 -3 -2 -3 -5 -5 -5 -3 -1 0 1 0 -0 -2 -3 -5 -7 -11 -16 -19 -21 -19 -12 -4 -3 -4 -6 -5 -5 -4 -3 -2 -3 -6 -6 -4 -4 -6 -12 -18 -21 -22 -22 -17 -9 -5 -5 -8 -12 -16 -17 -17 -17 -16 -16 -14 -11 -10 -12 -13 -12 -11 -12 -14 -15 -15 -14 -13 -15 -17 -19 -19 -17 -16 -19 -21 -21 -21 -21 -22 -23 -23 -22 -22 -23 -25 -28 -27 -27 -25 -23 -23 -24 -25 -23 -21 -22 -25 -29 -30 -28 -25 -22 -23 -22 -20 -20 -20 -21 -21 -22 -22 -22 -18 -16 -15 -14 -14 -14 -14 -15 -19 -19 -18 -17 -16 -15 -15 -15 -16 -16 -17 -16 -15 -16 -17 -16 -16 -17 -18 -19 -20 -20 -20 -20 -20 -19 -18 -17 -17 -17 -16 -15 -16 -17 -18 -19 -21 -21 -20 -19 -19 -19 -19 -20 -20 -22 -25 -26 -27 -27 -26 -23 -18 -14 -14 -15 -18 -22 -24 -23 -21 -26 -27 -25 -23 -25 -28 -29 -30 -30 -31 -30 -30 -30 -30 -30 -29 -29 -30 -32 -34 -33 -28 -24 -25 -29 -28 -27 -27 -27 -27 -26 -26 -26 -25 -23 -19 -16 -15 -17 -17 -17 -17 -15 -14 -11 -7 -4 -2 -1 -2 -2 -2 -2 -2 -2 -2 0 5 11 12 9 6 3 3 2 -10 -7 -5 -3 -3 -4 -6 -8 -11 -14 -16 -18 -19 -21 -20 -20 -19 -17 -15 -14 -12 -11 -11 -10 -9 -7 -6 -6 -6 -7 -8 -8 -9 -11 -12 -11 -9 -8 -7 -8 -9 -10 -10 -10 -9 -8 -8 -8 -8 -8 -7 -6 -5 -5 -5 -5 -6 -6 -6 -5 -4 -4 -2 0 0 -1 -2 -3 -4 -5 -6 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -7 -9 -10 -12 -14 -15 -14 -13 -11 -8 -5 -5 -9 -15 -22 -29 -32 -33 -31 -28 -22 -19 -19 -20 -19 -17 -17 -18 -20 -20 -20 -19 -17 -14 -12 -10 -9 -9 -10 -12 -14 -14 -13 -15 -21 -28 -30 -28 -25 -22 -17 -14 -13 -13 -13 -11 -6 -3 -1 -0 1 3 3 0 -3 -5 -6 -7 -5 -3 -2 -2 -2 -2 -3 -5 -9 -13 -15 -14 -10 -8 -7 -6 -5 -4 -3 -3 -4 -3 -2 -0 1 2 3 2 -1 -5 -11 -18 -21 -20 -19 -18 -17 -9 -5 -5 -7 -6 -5 -3 -1 0 -0 -6 -8 -8 -6 -5 -8 -13 -18 -21 -24 -24 -17 -11 -6 -6 -8 -10 -13 -16 -19 -20 -19 -16 -12 -10 -11 -11 -11 -10 -11 -13 -15 -16 -16 -15 -16 -17 -17 -18 -18 -17 -18 -20 -22 -22 -22 -23 -23 -21 -17 -17 -20 -23 -26 -28 -28 -28 -28 -28 -25 -23 -22 -21 -21 -25 -29 -30 -28 -26 -23 -26 -24 -21 -20 -20 -21 -22 -22 -23 -24 -22 -17 -13 -12 -13 -17 -19 -20 -20 -20 -20 -19 -18 -17 -17 -17 -17 -17 -16 -15 -16 -18 -19 -18 -17 -16 -17 -18 -19 -19 -18 -17 -17 -17 -17 -17 -17 -17 -17 -16 -16 -17 -17 -18 -17 -17 -17 -18 -18 -21 -24 -24 -23 -23 -26 -27 -28 -27 -25 -20 -16 -14 -14 -16 -19 -21 -20 -16 -18 -25 -28 -26 -23 -24 -27 -30 -31 -31 -31 -31 -31 -31 -31 -30 -29 -28 -28 -30 -32 -30 -23 -18 -20 -28 -29 -29 -29 -30 -30 -28 -27 -26 -26 -24 -21 -20 -20 -20 -19 -19 -18 -16 -14 -12 -9 -6 -3 -2 -2 -2 -2 -3 -3 -4 -4 -1 6 12 15 14 10 4 4 3 -8 -6 -4 -3 -3 -4 -6 -8 -11 -13 -15 -16 -16 -17 -17 -17 -17 -16 -14 -13 -12 -12 -12 -10 -9 -8 -6 -6 -7 -7 -8 -8 -9 -11 -13 -14 -12 -10 -9 -11 -11 -10 -9 -9 -9 -8 -8 -7 -7 -7 -7 -6 -6 -7 -7 -6 -6 -5 -4 -3 -3 -2 -0 1 1 1 -0 -1 -3 -4 -4 -4 -4 -3 -4 -5 -6 -7 -8 -7 -6 -4 -4 -5 -6 -8 -10 -12 -14 -16 -16 -15 -12 -9 -5 -5 -7 -12 -19 -25 -28 -29 -27 -24 -21 -20 -19 -18 -16 -15 -15 -16 -19 -20 -19 -18 -15 -13 -11 -10 -10 -10 -12 -13 -15 -15 -16 -19 -25 -28 -28 -27 -25 -20 -15 -12 -11 -12 -12 -8 -4 -1 0 2 3 3 2 -0 -3 -7 -9 -8 -6 -4 -2 -2 -1 -1 -2 -6 -10 -13 -13 -10 -7 -7 -7 -7 -5 -3 -3 -3 -3 -3 -2 0 3 5 5 3 -3 -11 -21 -24 -22 -20 -18 -17 -12 -8 -7 -8 -9 -7 -5 -2 1 3 -3 -7 -9 -7 -4 -5 -9 -13 -16 -22 -25 -23 -18 -12 -8 -6 -6 -9 -15 -21 -22 -20 -16 -13 -12 -12 -11 -10 -10 -11 -13 -15 -16 -17 -17 -17 -16 -15 -14 -16 -16 -17 -19 -23 -23 -22 -24 -25 -23 -18 -17 -19 -22 -24 -28 -30 -29 -29 -30 -28 -23 -21 -22 -25 -30 -31 -30 -28 -29 -29 -28 -26 -23 -21 -21 -21 -22 -23 -24 -25 -23 -18 -13 -12 -14 -15 -18 -20 -21 -21 -21 -21 -20 -20 -19 -19 -19 -18 -16 -16 -17 -19 -20 -20 -19 -17 -17 -17 -17 -18 -17 -17 -16 -16 -16 -16 -17 -17 -17 -17 -17 -16 -16 -16 -15 -15 -16 -17 -19 -24 -26 -26 -26 -25 -26 -27 -27 -26 -23 -19 -16 -14 -15 -16 -19 -22 -21 -17 -18 -24 -27 -26 -23 -25 -27 -30 -32 -31 -30 -30 -31 -32 -32 -31 -30 -28 -28 -29 -31 -30 -23 -17 -19 -27 -29 -29 -30 -31 -30 -29 -28 -27 -27 -26 -23 -22 -23 -23 -22 -21 -20 -18 -15 -12 -9 -7 -5 -4 -2 -2 -2 -2 -3 -4 -4 -1 5 9 13 14 13 6 4 4 -8 -6 -5 -4 -4 -5 -6 -8 -10 -12 -13 -13 -13 -13 -14 -14 -14 -13 -13 -12 -12 -12 -12 -12 -12 -11 -9 -8 -8 -9 -9 -9 -10 -12 -13 -14 -15 -16 -18 -17 -14 -11 -9 -11 -10 -10 -8 -7 -6 -6 -5 -5 -5 -7 -7 -6 -6 -4 -3 -2 -2 -1 0 1 1 1 1 -0 -2 -3 -4 -4 -3 -3 -4 -5 -7 -8 -9 -9 -8 -6 -5 -4 -5 -6 -7 -10 -13 -15 -16 -17 -17 -14 -10 -7 -6 -7 -11 -16 -20 -23 -23 -22 -21 -21 -20 -19 -16 -13 -12 -12 -14 -16 -17 -17 -16 -13 -11 -11 -11 -11 -12 -13 -14 -15 -17 -19 -24 -26 -28 -29 -27 -23 -18 -14 -11 -11 -12 -10 -6 -2 -1 1 2 3 2 1 -2 -6 -9 -11 -10 -7 -4 -2 -1 -1 -1 -3 -7 -10 -11 -9 -7 -6 -7 -9 -7 -5 -3 -3 -3 -4 -4 -2 1 5 6 5 -0 -8 -18 -23 -23 -21 -19 -18 -14 -10 -8 -9 -12 -11 -8 -4 1 2 -0 -4 -5 -4 -1 -1 -4 -7 -12 -17 -20 -21 -20 -18 -13 -8 -6 -7 -12 -20 -22 -19 -15 -13 -13 -13 -12 -11 -10 -11 -13 -15 -16 -18 -18 -19 -19 -17 -14 -13 -14 -15 -18 -23 -23 -22 -24 -26 -24 -20 -20 -20 -21 -24 -29 -32 -33 -33 -33 -30 -24 -21 -23 -28 -32 -32 -29 -28 -32 -33 -32 -31 -28 -25 -23 -22 -23 -24 -25 -25 -22 -18 -15 -14 -18 -19 -20 -21 -21 -22 -22 -22 -22 -22 -21 -21 -21 -20 -18 -18 -19 -20 -21 -21 -20 -19 -18 -17 -17 -17 -18 -17 -16 -16 -15 -16 -16 -17 -17 -17 -16 -16 -15 -15 -14 -15 -16 -18 -20 -23 -22 -23 -27 -26 -27 -27 -26 -23 -20 -17 -15 -14 -15 -17 -20 -22 -23 -22 -22 -24 -26 -27 -25 -26 -28 -30 -31 -29 -29 -29 -30 -32 -31 -31 -30 -29 -27 -26 -29 -28 -25 -21 -22 -28 -30 -31 -30 -31 -31 -30 -30 -29 -28 -27 -26 -26 -26 -26 -25 -23 -22 -20 -18 -13 -9 -7 -7 -7 -5 -3 -2 -1 1 0 -1 -1 2 5 9 12 13 10 3 2 -8 -7 -6 -5 -4 -5 -6 -7 -9 -12 -13 -12 -11 -10 -10 -10 -12 -13 -13 -12 -12 -11 -10 -10 -11 -11 -11 -11 -12 -13 -12 -12 -12 -13 -15 -18 -20 -21 -20 -16 -13 -11 -11 -12 -12 -11 -9 -7 -5 -5 -5 -5 -5 -6 -7 -6 -5 -3 -1 -1 -0 1 1 1 0 0 0 -1 -2 -3 -3 -3 -3 -3 -4 -5 -7 -8 -9 -10 -9 -8 -6 -5 -5 -5 -5 -7 -10 -12 -14 -17 -18 -18 -16 -14 -11 -9 -9 -11 -14 -16 -17 -18 -18 -19 -19 -19 -17 -14 -12 -11 -11 -11 -13 -15 -15 -13 -10 -10 -10 -12 -13 -13 -14 -15 -17 -20 -23 -25 -26 -27 -26 -22 -19 -16 -13 -11 -11 -10 -6 -1 1 1 1 1 1 0 -1 -3 -7 -10 -13 -11 -7 -4 -2 -2 -2 -2 -4 -7 -10 -10 -8 -6 -7 -9 -8 -6 -4 -3 -3 -4 -5 -5 -2 2 5 5 2 -4 -12 -19 -22 -23 -23 -21 -18 -13 -9 -8 -11 -13 -12 -7 -2 0 -1 -1 -2 -2 -0 2 1 -3 -8 -14 -17 -19 -20 -19 -16 -13 -10 -10 -11 -15 -18 -17 -14 -13 -14 -13 -13 -12 -12 -12 -13 -15 -18 -19 -20 -20 -20 -20 -19 -16 -15 -15 -18 -23 -25 -25 -25 -24 -21 -19 -20 -20 -22 -24 -27 -31 -33 -35 -36 -32 -25 -21 -23 -29 -31 -31 -31 -31 -36 -36 -37 -36 -34 -33 -28 -25 -24 -25 -27 -25 -23 -21 -20 -19 -21 -22 -22 -22 -22 -22 -22 -22 -23 -23 -22 -23 -23 -23 -22 -21 -21 -22 -22 -21 -21 -21 -20 -18 -18 -17 -17 -17 -17 -16 -15 -16 -17 -17 -17 -16 -16 -16 -15 -14 -14 -15 -17 -19 -22 -22 -22 -23 -26 -26 -26 -26 -25 -20 -17 -15 -14 -14 -15 -17 -20 -23 -25 -24 -23 -24 -24 -25 -25 -28 -31 -32 -30 -28 -28 -28 -28 -29 -30 -30 -29 -28 -27 -27 -27 -28 -28 -28 -29 -31 -32 -32 -31 -30 -30 -31 -31 -30 -28 -28 -27 -27 -27 -26 -26 -25 -24 -22 -20 -16 -11 -8 -8 -9 -7 -5 -2 -0 2 3 3 3 2 3 5 8 11 11 3 1 -8 -8 -7 -6 -6 -6 -6 -7 -9 -11 -11 -11 -9 -8 -8 -10 -12 -13 -14 -13 -11 -10 -10 -11 -13 -14 -15 -16 -17 -19 -19 -19 -18 -18 -17 -16 -16 -16 -16 -12 -9 -9 -11 -12 -11 -9 -7 -6 -4 -4 -4 -5 -5 -6 -7 -6 -4 -2 -0 0 1 2 2 1 0 -0 -1 -1 -2 -2 -2 -2 -3 -4 -5 -6 -7 -8 -9 -9 -9 -8 -8 -7 -6 -5 -4 -4 -6 -9 -11 -14 -16 -18 -19 -19 -18 -16 -13 -12 -12 -13 -13 -13 -13 -14 -16 -18 -18 -17 -16 -14 -13 -10 -10 -12 -13 -12 -8 -7 -8 -10 -13 -15 -15 -15 -16 -18 -20 -21 -22 -23 -23 -20 -19 -17 -16 -13 -13 -12 -8 -2 2 3 3 2 0 -1 -1 -2 -4 -7 -11 -12 -10 -7 -4 -3 -2 -1 -1 -2 -6 -9 -9 -8 -7 -8 -9 -8 -6 -3 -3 -3 -4 -5 -5 -3 1 3 2 -1 -8 -15 -21 -24 -26 -26 -24 -19 -12 -8 -9 -12 -11 -8 -5 -3 -2 -1 -1 -2 -1 2 3 1 -5 -10 -14 -16 -17 -16 -15 -15 -15 -14 -12 -12 -13 -13 -12 -12 -14 -14 -14 -14 -13 -13 -14 -16 -18 -19 -19 -20 -21 -21 -21 -20 -19 -19 -20 -24 -28 -29 -27 -24 -21 -19 -19 -20 -22 -24 -24 -25 -29 -33 -36 -33 -25 -21 -23 -28 -29 -30 -32 -35 -37 -38 -38 -37 -36 -38 -35 -30 -27 -26 -28 -27 -27 -27 -27 -25 -24 -24 -23 -23 -23 -23 -22 -23 -24 -24 -23 -24 -25 -26 -25 -25 -24 -23 -23 -22 -22 -21 -21 -20 -18 -17 -17 -17 -17 -17 -17 -17 -18 -17 -17 -17 -17 -17 -15 -14 -14 -16 -19 -20 -21 -24 -26 -27 -27 -26 -25 -25 -23 -19 -15 -14 -14 -14 -15 -17 -20 -22 -24 -23 -22 -22 -22 -21 -23 -26 -30 -33 -31 -29 -29 -28 -26 -27 -29 -29 -28 -27 -27 -28 -27 -26 -26 -28 -30 -32 -33 -32 -31 -29 -29 -30 -31 -30 -29 -28 -28 -28 -27 -26 -27 -27 -26 -24 -22 -19 -15 -11 -9 -10 -9 -8 -6 -3 -1 1 3 4 4 3 3 5 8 9 6 3 -9 -8 -8 -7 -6 -6 -7 -9 -9 -8 -7 -7 -8 -8 -9 -11 -12 -13 -12 -11 -11 -11 -12 -15 -18 -19 -18 -17 -18 -18 -18 -17 -17 -15 -13 -11 -9 -9 -10 -8 -7 -8 -9 -9 -8 -7 -6 -5 -4 -4 -4 -4 -5 -6 -7 -6 -4 -2 -1 -0 1 2 2 2 1 0 -0 -1 -1 -1 -1 -2 -2 -4 -6 -7 -8 -9 -9 -9 -9 -8 -8 -7 -6 -6 -5 -4 -5 -7 -8 -10 -12 -15 -19 -22 -24 -24 -20 -17 -15 -14 -13 -12 -11 -11 -13 -14 -16 -17 -17 -18 -17 -14 -12 -11 -11 -11 -8 -5 -5 -8 -11 -15 -16 -16 -16 -17 -18 -19 -19 -19 -19 -17 -16 -16 -17 -16 -16 -15 -11 -6 1 4 5 4 2 -1 -1 -2 -2 -4 -7 -9 -10 -10 -8 -6 -4 -2 0 2 0 -3 -6 -7 -8 -8 -10 -10 -8 -6 -3 -3 -4 -4 -5 -5 -4 -2 1 -0 -5 -12 -18 -23 -26 -30 -31 -27 -18 -10 -8 -9 -8 -7 -5 -6 -4 -3 -2 -2 -2 0 2 2 -1 -5 -8 -10 -13 -14 -15 -16 -17 -17 -15 -13 -12 -11 -11 -12 -13 -14 -14 -14 -14 -15 -16 -17 -18 -18 -16 -17 -19 -23 -25 -24 -23 -21 -20 -22 -27 -29 -27 -23 -20 -20 -20 -20 -21 -21 -19 -18 -21 -27 -32 -30 -25 -23 -26 -28 -29 -30 -32 -34 -34 -35 -36 -36 -35 -38 -38 -35 -31 -28 -28 -29 -30 -30 -30 -28 -27 -25 -24 -24 -25 -24 -23 -24 -25 -25 -25 -25 -27 -28 -27 -26 -25 -24 -24 -22 -22 -21 -21 -21 -19 -17 -16 -17 -18 -18 -18 -19 -19 -17 -17 -17 -17 -16 -15 -14 -14 -16 -18 -20 -19 -24 -30 -31 -29 -27 -26 -24 -21 -17 -15 -14 -14 -14 -14 -15 -17 -20 -21 -20 -20 -21 -20 -18 -20 -23 -27 -30 -31 -30 -29 -28 -26 -27 -29 -29 -28 -27 -28 -28 -28 -26 -25 -25 -27 -30 -32 -32 -31 -30 -29 -29 -29 -29 -29 -28 -28 -29 -28 -28 -27 -27 -25 -25 -25 -24 -21 -16 -12 -11 -11 -11 -10 -9 -6 -3 0 4 5 5 4 4 5 7 8 7 -9 -8 -7 -7 -7 -7 -7 -8 -8 -7 -6 -6 -7 -9 -10 -11 -12 -12 -11 -11 -11 -12 -15 -20 -23 -23 -20 -17 -15 -15 -14 -14 -13 -11 -10 -8 -6 -5 -7 -7 -8 -9 -10 -7 -5 -5 -5 -5 -4 -3 -4 -4 -5 -5 -6 -5 -4 -2 -2 -1 -0 1 2 2 2 2 1 1 2 1 1 0 -1 -3 -6 -8 -10 -11 -11 -11 -10 -9 -8 -6 -6 -7 -6 -6 -5 -6 -6 -7 -8 -11 -15 -20 -25 -29 -26 -22 -19 -17 -17 -16 -14 -12 -11 -10 -11 -13 -15 -18 -20 -19 -16 -13 -11 -10 -8 -5 -4 -5 -8 -12 -15 -16 -16 -16 -18 -19 -19 -17 -16 -13 -12 -13 -15 -17 -18 -18 -15 -10 -3 2 5 6 5 2 -0 -1 -2 -2 -3 -5 -8 -9 -9 -9 -8 -7 -3 1 3 2 -0 -2 -4 -6 -8 -10 -11 -9 -6 -4 -4 -4 -4 -5 -7 -6 -4 -2 -3 -8 -14 -20 -26 -33 -37 -34 -25 -14 -9 -7 -6 -4 -4 -6 -6 -5 -3 -2 -3 -2 -1 -0 -1 -2 -4 -7 -11 -14 -15 -18 -21 -21 -19 -16 -13 -11 -11 -12 -13 -15 -15 -16 -16 -17 -18 -19 -21 -20 -16 -16 -19 -23 -25 -25 -23 -21 -20 -20 -23 -25 -25 -22 -20 -19 -19 -20 -21 -21 -19 -18 -18 -21 -26 -26 -24 -25 -30 -29 -29 -29 -30 -31 -31 -32 -33 -34 -35 -38 -37 -36 -34 -32 -30 -30 -31 -32 -31 -29 -28 -26 -25 -24 -26 -26 -25 -25 -25 -26 -27 -27 -28 -29 -29 -28 -26 -24 -23 -22 -22 -21 -21 -21 -20 -18 -17 -16 -17 -18 -19 -19 -18 -17 -16 -16 -16 -15 -14 -14 -15 -16 -18 -20 -20 -24 -28 -29 -28 -28 -28 -26 -21 -17 -16 -16 -16 -15 -14 -14 -15 -15 -16 -17 -19 -20 -20 -17 -18 -20 -23 -27 -29 -27 -26 -25 -25 -26 -28 -29 -29 -28 -29 -29 -28 -28 -25 -22 -23 -25 -28 -30 -31 -32 -31 -30 -27 -26 -26 -27 -28 -28 -29 -29 -28 -27 -26 -25 -25 -25 -24 -21 -17 -14 -12 -12 -13 -13 -12 -9 -5 2 4 5 6 6 6 6 7 8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -9 -10 -10 -10 -10 -10 -11 -14 -17 -21 -24 -23 -20 -16 -15 -14 -14 -13 -13 -11 -10 -9 -7 -5 -6 -7 -9 -12 -12 -9 -5 -4 -5 -5 -4 -3 -4 -4 -5 -5 -5 -5 -4 -3 -1 -0 0 1 1 1 2 2 2 2 3 3 2 2 0 -2 -5 -8 -10 -12 -13 -13 -13 -11 -10 -8 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -10 -14 -20 -27 -30 -27 -24 -22 -22 -20 -17 -14 -11 -9 -8 -9 -10 -13 -17 -20 -20 -18 -14 -11 -9 -6 -4 -2 -4 -8 -12 -15 -16 -17 -19 -20 -20 -17 -15 -13 -11 -10 -11 -14 -17 -17 -16 -13 -9 -4 2 6 7 5 3 1 -0 -1 -1 -2 -4 -7 -8 -9 -10 -12 -10 -5 1 3 3 2 0 -2 -5 -8 -10 -10 -8 -6 -5 -5 -5 -5 -5 -6 -7 -7 -8 -9 -12 -18 -26 -36 -40 -37 -28 -19 -12 -8 -4 -2 -1 -4 -6 -5 -4 -3 -3 -3 -3 -4 -4 -3 -2 -4 -7 -10 -13 -17 -21 -24 -22 -19 -16 -14 -12 -12 -14 -16 -17 -18 -18 -18 -19 -20 -22 -25 -24 -22 -21 -22 -24 -23 -22 -21 -20 -20 -21 -22 -23 -22 -20 -20 -19 -20 -21 -22 -22 -23 -24 -24 -25 -25 -25 -26 -31 -29 -28 -29 -30 -30 -31 -32 -32 -33 -35 -37 -36 -36 -37 -36 -34 -32 -31 -31 -31 -30 -28 -26 -25 -25 -27 -27 -27 -26 -26 -27 -28 -27 -27 -28 -29 -28 -26 -24 -22 -22 -22 -21 -21 -21 -21 -20 -19 -17 -16 -17 -18 -18 -17 -16 -16 -16 -16 -15 -14 -15 -15 -16 -18 -22 -24 -26 -27 -26 -26 -28 -30 -29 -25 -20 -18 -18 -18 -18 -17 -16 -16 -15 -16 -18 -21 -21 -19 -16 -17 -18 -21 -24 -25 -23 -22 -22 -23 -26 -29 -31 -32 -32 -32 -31 -30 -30 -28 -23 -20 -20 -23 -27 -30 -33 -33 -32 -29 -23 -22 -22 -25 -27 -29 -30 -30 -29 -27 -25 -24 -24 -23 -22 -21 -18 -15 -12 -13 -14 -14 -13 -11 1 3 5 6 8 9 9 8 7 -8 -8 -8 -8 -8 -7 -6 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -9 -10 -11 -13 -16 -18 -20 -20 -18 -17 -17 -17 -16 -14 -13 -11 -12 -11 -10 -8 -8 -10 -11 -12 -11 -9 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -3 -1 -0 0 1 1 0 0 1 1 1 1 2 3 3 2 1 0 -2 -5 -8 -10 -13 -14 -14 -14 -12 -10 -8 -7 -6 -6 -6 -7 -7 -7 -7 -7 -8 -10 -15 -22 -28 -29 -28 -27 -26 -24 -21 -16 -13 -10 -7 -6 -6 -8 -10 -14 -17 -17 -16 -13 -12 -9 -6 -3 -2 -4 -8 -11 -14 -16 -19 -21 -20 -18 -17 -16 -14 -11 -8 -9 -12 -12 -12 -11 -10 -9 -4 1 6 7 6 4 2 0 -0 -1 -2 -4 -6 -7 -10 -14 -16 -14 -6 -0 3 4 4 2 -1 -5 -7 -10 -9 -8 -7 -7 -6 -4 -3 -3 -5 -8 -12 -12 -12 -16 -24 -35 -40 -37 -29 -21 -15 -10 -5 -2 -1 -2 -4 -4 -4 -3 -4 -4 -5 -7 -7 -5 -3 -3 -4 -5 -8 -13 -19 -24 -26 -24 -21 -18 -15 -13 -14 -16 -18 -19 -20 -19 -19 -20 -22 -25 -26 -25 -23 -22 -22 -22 -22 -22 -22 -21 -22 -23 -23 -23 -22 -21 -21 -20 -21 -22 -23 -24 -25 -26 -27 -27 -28 -29 -31 -29 -28 -28 -29 -31 -31 -32 -32 -33 -36 -36 -36 -36 -38 -39 -38 -35 -33 -31 -30 -30 -30 -29 -28 -27 -27 -27 -28 -29 -28 -28 -27 -26 -25 -26 -27 -27 -26 -25 -23 -22 -21 -21 -21 -20 -21 -21 -21 -19 -17 -17 -18 -18 -18 -17 -16 -15 -15 -15 -15 -15 -16 -17 -19 -21 -24 -26 -27 -25 -26 -28 -30 -31 -29 -25 -22 -20 -20 -20 -19 -19 -18 -18 -17 -19 -21 -21 -18 -15 -15 -17 -19 -21 -22 -22 -21 -21 -23 -27 -29 -29 -30 -31 -32 -32 -32 -32 -30 -27 -22 -18 -18 -23 -28 -32 -34 -34 -32 -26 -20 -16 -16 -20 -26 -31 -33 -31 -26 -23 -22 -22 -22 -21 -20 -18 -16 -12 -11 -12 -13 -13 -13 -2 3 6 6 7 9 10 11 10 -8 -8 -8 -8 -9 -7 -5 -4 -4 -5 -5 -5 -5 -6 -7 -7 -8 -8 -9 -10 -11 -12 -13 -14 -15 -15 -15 -15 -16 -16 -15 -13 -11 -10 -10 -12 -14 -16 -15 -13 -12 -11 -10 -6 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -1 -0 0 0 1 1 2 2 2 2 1 1 2 3 3 2 1 -0 -1 -2 -4 -7 -10 -12 -13 -13 -13 -11 -10 -9 -7 -6 -6 -7 -8 -9 -9 -9 -9 -10 -12 -17 -24 -28 -30 -30 -30 -29 -25 -19 -14 -11 -8 -6 -5 -5 -6 -7 -10 -11 -11 -9 -10 -10 -9 -7 -4 -2 -3 -6 -10 -14 -16 -17 -16 -15 -14 -16 -17 -16 -12 -9 -9 -8 -6 -5 -6 -9 -8 -4 2 4 5 5 4 3 1 -0 -2 -3 -5 -6 -9 -13 -18 -20 -15 -8 -2 2 4 4 2 -1 -5 -7 -8 -8 -8 -8 -8 -6 -3 -1 -2 -6 -12 -14 -15 -17 -23 -31 -36 -36 -30 -22 -15 -10 -6 -3 -1 -1 -1 -1 -2 -3 -4 -5 -6 -7 -8 -7 -6 -5 -5 -4 -5 -8 -13 -19 -25 -27 -26 -23 -19 -16 -15 -16 -17 -18 -19 -19 -18 -19 -20 -24 -26 -26 -25 -23 -22 -22 -22 -23 -25 -24 -24 -25 -25 -24 -23 -22 -22 -22 -22 -22 -23 -24 -25 -26 -28 -30 -31 -29 -28 -27 -27 -28 -29 -30 -31 -31 -32 -33 -35 -35 -35 -35 -37 -41 -40 -38 -35 -32 -29 -29 -31 -32 -31 -30 -29 -28 -28 -29 -29 -26 -26 -25 -24 -24 -25 -25 -26 -26 -24 -22 -21 -21 -20 -20 -21 -21 -22 -21 -18 -16 -16 -17 -18 -17 -16 -15 -16 -16 -16 -17 -18 -19 -22 -22 -23 -24 -26 -27 -28 -28 -29 -31 -31 -30 -27 -23 -22 -22 -21 -21 -21 -20 -18 -17 -18 -18 -17 -15 -14 -16 -17 -19 -21 -22 -22 -22 -24 -26 -26 -26 -27 -28 -29 -30 -31 -31 -30 -30 -27 -21 -14 -18 -24 -29 -33 -35 -36 -33 -26 -17 -11 -14 -21 -28 -32 -31 -25 -21 -19 -19 -21 -20 -19 -18 -16 -14 -10 -9 -9 -8 -9 -7 1 8 8 7 8 9 11 12 -9 -8 -8 -8 -8 -6 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -8 -9 -10 -10 -11 -11 -11 -12 -12 -13 -13 -14 -13 -13 -12 -11 -10 -10 -11 -13 -16 -18 -16 -14 -12 -10 -7 -5 -4 -4 -5 -5 -4 -4 -3 -3 -3 -2 -2 -2 -1 -0 -0 1 1 2 2 2 2 2 1 1 1 2 2 1 1 -0 -0 -1 -2 -4 -7 -9 -10 -11 -11 -11 -10 -10 -9 -8 -8 -8 -9 -10 -10 -10 -11 -11 -12 -14 -20 -24 -29 -32 -33 -33 -29 -22 -16 -12 -9 -6 -4 -5 -5 -5 -6 -6 -5 -3 -3 -6 -9 -11 -10 -6 -3 -3 -5 -10 -14 -15 -14 -12 -11 -12 -15 -17 -17 -16 -14 -13 -10 -6 -4 -6 -6 -4 -1 1 2 4 4 3 2 1 -1 -3 -5 -6 -9 -12 -16 -19 -19 -14 -8 -3 1 3 2 1 -2 -4 -6 -6 -6 -7 -8 -8 -5 -3 -2 -4 -9 -13 -16 -20 -23 -25 -28 -29 -28 -23 -18 -12 -7 -3 -2 -1 -1 -0 0 -1 -3 -4 -5 -6 -8 -9 -9 -8 -8 -8 -7 -6 -7 -11 -17 -23 -25 -25 -22 -19 -17 -17 -18 -19 -19 -19 -18 -18 -19 -21 -23 -25 -25 -23 -22 -21 -22 -24 -27 -28 -28 -28 -28 -26 -24 -23 -23 -23 -23 -23 -24 -25 -25 -26 -28 -31 -32 -29 -27 -27 -27 -28 -29 -30 -31 -31 -31 -31 -31 -31 -31 -33 -37 -41 -41 -40 -37 -34 -30 -29 -30 -32 -31 -30 -30 -28 -25 -24 -25 -24 -24 -24 -24 -24 -23 -24 -24 -25 -24 -23 -22 -21 -20 -20 -21 -21 -22 -21 -19 -16 -16 -16 -17 -17 -17 -16 -16 -17 -17 -18 -19 -21 -24 -23 -24 -25 -26 -28 -30 -30 -28 -28 -30 -31 -30 -28 -26 -24 -22 -22 -23 -23 -19 -17 -16 -16 -17 -17 -16 -15 -16 -17 -20 -22 -23 -24 -25 -25 -24 -23 -24 -25 -27 -28 -29 -30 -30 -30 -30 -28 -16 -13 -17 -23 -31 -36 -39 -39 -33 -24 -12 -8 -12 -19 -26 -28 -24 -19 -16 -15 -17 -18 -18 -17 -16 -15 -12 -9 -7 -6 -6 -7 -3 4 11 8 7 7 8 10 -9 -9 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -8 -9 -10 -11 -11 -11 -11 -11 -11 -12 -13 -13 -12 -12 -12 -13 -13 -11 -11 -13 -15 -15 -15 -14 -11 -9 -7 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -2 -1 -1 0 1 1 2 2 2 2 2 2 1 1 1 1 1 0 -0 -0 -0 -0 -1 -2 -5 -6 -7 -7 -9 -9 -10 -9 -9 -9 -9 -8 -9 -9 -9 -9 -9 -10 -10 -12 -16 -21 -26 -30 -33 -34 -31 -25 -19 -15 -11 -7 -5 -4 -5 -5 -5 -4 -3 1 3 2 -2 -8 -12 -11 -8 -4 -2 -5 -9 -12 -13 -13 -12 -10 -9 -11 -14 -18 -18 -18 -15 -11 -7 -6 -5 -3 0 1 1 2 4 4 3 2 0 -2 -6 -10 -12 -13 -12 -13 -16 -15 -12 -8 -4 -1 1 1 -1 -3 -4 -3 -3 -4 -6 -6 -6 -5 -4 -4 -6 -10 -16 -23 -25 -21 -19 -20 -22 -21 -19 -15 -9 -4 -3 -2 -2 -1 0 0 -1 -2 -3 -4 -6 -8 -9 -9 -8 -10 -11 -10 -8 -6 -8 -12 -17 -22 -24 -23 -22 -21 -21 -21 -21 -21 -20 -18 -18 -20 -22 -24 -25 -23 -23 -23 -23 -25 -28 -32 -34 -34 -33 -28 -24 -23 -22 -22 -23 -23 -25 -26 -28 -27 -28 -31 -32 -30 -28 -28 -28 -28 -29 -30 -31 -31 -31 -31 -31 -30 -30 -32 -36 -41 -41 -39 -38 -37 -33 -31 -30 -30 -28 -28 -30 -29 -26 -24 -23 -23 -23 -24 -24 -24 -24 -23 -23 -23 -24 -23 -22 -20 -20 -19 -20 -20 -21 -21 -19 -17 -16 -16 -17 -18 -19 -18 -16 -17 -18 -19 -20 -23 -25 -25 -26 -27 -28 -29 -30 -29 -28 -27 -28 -28 -29 -30 -28 -25 -24 -23 -24 -23 -19 -17 -16 -16 -17 -18 -17 -16 -17 -18 -19 -20 -22 -24 -26 -25 -24 -23 -23 -24 -26 -27 -27 -28 -29 -27 -27 -28 -29 -14 -12 -17 -27 -35 -40 -42 -40 -33 -19 -8 -4 -7 -15 -22 -22 -19 -16 -13 -14 -16 -16 -17 -16 -15 -13 -11 -10 -8 -7 -6 -7 -5 7 8 6 5 6 6 -9 -9 -8 -7 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -8 -9 -10 -10 -10 -10 -10 -11 -12 -14 -14 -14 -14 -14 -14 -13 -12 -11 -12 -12 -12 -12 -12 -10 -9 -8 -8 -7 -7 -7 -7 -6 -5 -5 -5 -4 -3 -2 -2 -1 0 2 2 2 2 2 3 2 2 2 1 1 1 0 -0 -0 -1 -1 -1 -2 -3 -5 -5 -4 -5 -6 -7 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -7 -7 -7 -9 -14 -18 -21 -25 -29 -31 -30 -28 -23 -18 -15 -10 -7 -5 -5 -5 -6 -6 -5 -1 4 7 6 1 -7 -11 -10 -7 -3 -3 -6 -9 -12 -14 -16 -12 -8 -5 -7 -12 -15 -18 -18 -16 -11 -9 -7 -5 -1 1 1 2 4 5 4 3 1 -3 -7 -13 -17 -15 -10 -6 -7 -8 -8 -7 -5 -3 -1 -0 -1 -3 -3 -2 -2 -2 -2 -2 -4 -6 -8 -6 -6 -10 -17 -26 -30 -23 -16 -13 -14 -16 -18 -17 -13 -7 -4 -3 -3 -2 -1 -1 -1 -2 -2 -2 -4 -6 -8 -9 -9 -12 -17 -19 -17 -12 -9 -7 -9 -15 -22 -25 -26 -26 -26 -25 -25 -24 -22 -19 -18 -21 -23 -24 -25 -23 -24 -24 -25 -27 -31 -35 -39 -41 -39 -32 -26 -24 -22 -22 -23 -24 -27 -30 -32 -30 -29 -31 -33 -31 -31 -30 -30 -30 -30 -30 -30 -31 -30 -31 -32 -32 -32 -34 -37 -39 -37 -35 -36 -39 -36 -33 -31 -29 -28 -27 -29 -30 -29 -27 -27 -26 -25 -25 -25 -25 -25 -24 -23 -23 -24 -24 -23 -20 -20 -19 -18 -19 -20 -21 -20 -18 -18 -18 -19 -19 -19 -17 -16 -17 -18 -20 -22 -24 -27 -28 -29 -30 -30 -30 -30 -30 -29 -28 -28 -27 -26 -26 -26 -25 -25 -24 -24 -22 -19 -18 -18 -18 -18 -18 -18 -17 -18 -21 -22 -22 -23 -26 -28 -28 -26 -23 -23 -23 -24 -26 -27 -27 -27 -26 -24 -23 -28 -24 -16 -11 -19 -29 -36 -42 -44 -41 -30 -15 -4 1 -5 -15 -20 -21 -20 -17 -15 -15 -15 -16 -16 -15 -14 -13 -12 -11 -10 -10 -11 -13 -15 -3 3 5 5 5 -9 -8 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -9 -10 -10 -10 -11 -12 -14 -16 -17 -17 -16 -15 -14 -13 -12 -12 -11 -10 -10 -10 -10 -9 -8 -7 -7 -7 -7 -8 -8 -8 -6 -6 -6 -5 -4 -3 -2 -1 0 2 3 3 3 3 3 3 3 2 2 2 1 1 1 0 -1 -3 -3 -4 -5 -6 -5 -4 -3 -4 -6 -8 -7 -6 -5 -7 -9 -11 -11 -11 -10 -8 -4 -2 -3 -9 -13 -17 -20 -23 -26 -28 -28 -26 -22 -18 -14 -10 -7 -4 -4 -5 -7 -8 -7 -2 4 7 7 2 -4 -7 -7 -5 -4 -6 -8 -11 -14 -17 -17 -12 -7 -4 -5 -9 -13 -16 -18 -14 -11 -9 -7 -4 -2 -0 2 4 6 6 4 1 -3 -8 -14 -18 -19 -14 -5 1 2 1 -1 -1 0 1 1 1 -1 -3 -4 -3 -1 2 3 -1 -6 -9 -8 -8 -11 -18 -27 -35 -29 -20 -12 -9 -11 -15 -17 -16 -10 -6 -4 -4 -3 -3 -3 -4 -3 -2 -1 -0 -1 -4 -6 -10 -15 -20 -24 -25 -21 -13 -7 -5 -7 -13 -19 -24 -28 -29 -27 -27 -26 -24 -21 -20 -22 -24 -25 -25 -24 -25 -26 -28 -30 -32 -36 -41 -44 -44 -36 -30 -26 -24 -23 -23 -25 -29 -34 -39 -34 -30 -30 -32 -31 -32 -32 -33 -33 -32 -31 -30 -30 -30 -30 -31 -32 -33 -35 -37 -35 -32 -32 -34 -38 -37 -35 -33 -31 -30 -28 -29 -31 -30 -30 -31 -30 -27 -26 -26 -27 -27 -25 -23 -23 -23 -24 -23 -21 -20 -19 -18 -17 -18 -20 -20 -19 -18 -19 -20 -20 -18 -16 -16 -17 -19 -21 -22 -25 -29 -32 -32 -32 -31 -32 -32 -31 -30 -30 -29 -27 -26 -24 -25 -25 -24 -23 -22 -20 -19 -18 -19 -19 -19 -19 -19 -19 -21 -23 -24 -24 -24 -27 -29 -30 -29 -27 -24 -23 -24 -25 -26 -26 -26 -24 -22 -20 -20 -21 -19 -15 -9 -18 -29 -38 -43 -45 -40 -29 -14 -1 0 -8 -15 -19 -21 -21 -19 -17 -15 -15 -15 -15 -16 -15 -15 -14 -14 -14 -14 -16 -16 -13 -7 3 5 6 -9 -8 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -10 -10 -11 -12 -13 -16 -18 -19 -19 -18 -16 -14 -13 -13 -12 -12 -11 -10 -9 -8 -7 -6 -6 -6 -7 -7 -9 -11 -11 -11 -9 -9 -8 -7 -6 -4 -3 -2 -0 1 2 2 3 3 3 3 2 2 1 1 1 2 2 1 -0 -1 -2 -3 -4 -6 -6 -5 -4 -4 -5 -8 -8 -6 -4 -4 -8 -12 -14 -15 -15 -12 -7 -2 1 -1 -6 -10 -13 -17 -20 -23 -26 -26 -23 -19 -16 -13 -10 -5 -4 -4 -5 -7 -10 -9 -4 0 4 5 2 -0 -2 -2 -3 -5 -7 -9 -11 -14 -18 -18 -15 -10 -4 -3 -7 -13 -16 -14 -11 -9 -8 -6 -4 -3 -0 2 5 5 4 1 -3 -9 -13 -18 -21 -21 -14 -4 3 5 5 5 4 4 3 2 2 -1 -3 -4 -2 2 5 3 -2 -8 -10 -11 -13 -18 -27 -37 -34 -24 -15 -9 -9 -12 -15 -15 -11 -7 -5 -5 -5 -5 -6 -6 -6 -4 -1 1 1 -1 -4 -10 -15 -20 -25 -28 -27 -22 -15 -8 -5 -7 -11 -16 -22 -27 -27 -26 -27 -26 -24 -21 -22 -24 -26 -27 -26 -27 -28 -30 -32 -32 -36 -41 -45 -45 -39 -34 -30 -28 -27 -27 -27 -31 -36 -42 -37 -31 -29 -30 -30 -31 -33 -35 -35 -34 -33 -31 -30 -29 -29 -30 -31 -33 -35 -36 -34 -31 -30 -32 -35 -36 -36 -34 -32 -32 -30 -30 -31 -30 -32 -32 -30 -27 -24 -25 -27 -28 -27 -25 -23 -23 -23 -22 -21 -20 -19 -18 -17 -17 -19 -20 -19 -17 -18 -19 -19 -17 -15 -16 -17 -21 -24 -25 -26 -30 -33 -34 -33 -33 -33 -33 -32 -30 -30 -30 -28 -27 -26 -26 -25 -23 -21 -19 -18 -17 -17 -18 -19 -20 -21 -21 -21 -22 -24 -24 -25 -25 -26 -28 -29 -30 -30 -27 -25 -24 -23 -24 -25 -25 -23 -20 -19 -17 -16 -16 -17 -15 -13 -18 -27 -37 -43 -44 -41 -31 -15 -6 -7 -10 -14 -17 -20 -21 -20 -17 -15 -15 -15 -17 -18 -19 -18 -18 -17 -16 -17 -18 -18 -12 -2 3 5 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -5 -6 -7 -8 -9 -10 -11 -12 -13 -15 -18 -21 -22 -21 -19 -16 -13 -12 -12 -12 -11 -10 -10 -9 -7 -5 -4 -4 -5 -7 -8 -10 -13 -15 -15 -16 -16 -15 -13 -9 -7 -5 -3 -1 -0 0 1 2 3 3 3 3 2 1 -0 0 1 2 2 1 0 -1 -2 -3 -4 -5 -5 -4 -3 -2 -5 -7 -7 -5 -3 -6 -10 -13 -16 -18 -17 -13 -7 -2 2 1 -2 -6 -10 -15 -17 -20 -22 -21 -17 -15 -14 -13 -9 -5 -2 -1 -3 -7 -10 -9 -7 -5 -3 -2 0 1 1 0 -3 -6 -7 -7 -8 -12 -17 -20 -18 -9 -4 -5 -11 -17 -16 -13 -9 -6 -6 -5 -4 -2 -1 2 3 3 1 -3 -8 -12 -15 -20 -23 -23 -16 -8 -1 3 6 6 5 4 4 4 1 -1 -2 -1 2 4 4 0 -4 -8 -11 -14 -18 -26 -35 -34 -26 -17 -10 -10 -12 -14 -13 -10 -7 -6 -6 -6 -6 -8 -8 -8 -6 -3 -1 -0 -1 -4 -9 -13 -18 -22 -27 -29 -27 -23 -18 -12 -7 -5 -7 -13 -19 -22 -23 -26 -28 -28 -25 -24 -24 -26 -28 -28 -29 -31 -32 -32 -32 -36 -41 -44 -43 -40 -37 -34 -32 -32 -31 -30 -31 -35 -41 -36 -30 -28 -28 -29 -30 -33 -35 -36 -37 -36 -34 -31 -30 -30 -31 -32 -32 -33 -34 -33 -31 -29 -29 -32 -35 -36 -36 -34 -32 -30 -30 -30 -30 -32 -29 -25 -24 -22 -23 -26 -28 -29 -26 -24 -23 -22 -21 -21 -20 -19 -18 -17 -17 -17 -18 -18 -16 -16 -17 -17 -16 -15 -16 -17 -21 -25 -26 -28 -31 -33 -33 -33 -33 -34 -33 -32 -30 -29 -29 -28 -27 -27 -26 -24 -22 -19 -17 -16 -15 -15 -16 -18 -19 -22 -24 -24 -23 -23 -24 -24 -25 -25 -27 -29 -31 -30 -29 -28 -26 -23 -21 -24 -25 -22 -18 -17 -16 -14 -13 -14 -19 -17 -16 -18 -25 -34 -40 -43 -42 -36 -22 -15 -11 -9 -11 -16 -19 -20 -20 -18 -17 -18 -20 -22 -23 -22 -21 -19 -18 -18 -19 -20 -18 -7 2 6 -9 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -9 -11 -12 -13 -14 -16 -18 -21 -23 -24 -22 -18 -12 -10 -9 -10 -9 -8 -8 -8 -7 -4 -2 -3 -6 -8 -8 -10 -13 -16 -18 -20 -24 -25 -22 -16 -11 -8 -5 -2 -1 -1 0 2 3 4 4 3 3 2 0 -0 -0 0 1 1 1 0 -0 -2 -3 -4 -4 -4 -3 -2 -3 -5 -7 -7 -5 -5 -7 -10 -13 -16 -18 -17 -13 -8 -2 1 2 0 -4 -8 -10 -13 -15 -16 -14 -12 -12 -12 -11 -7 -3 -1 -0 -2 -5 -7 -8 -8 -8 -9 -8 -5 -1 3 1 -4 -7 -7 -4 -5 -9 -15 -19 -13 -6 -5 -10 -19 -23 -18 -11 -6 -4 -4 -3 -2 -1 -1 -0 0 0 -2 -6 -10 -13 -16 -20 -24 -24 -21 -14 -5 2 4 4 3 4 4 2 1 0 1 2 3 3 1 -1 -5 -10 -14 -19 -24 -30 -30 -25 -17 -10 -9 -11 -14 -14 -10 -7 -6 -6 -6 -7 -8 -9 -10 -10 -8 -5 -4 -4 -6 -7 -10 -14 -19 -23 -26 -28 -28 -25 -19 -11 -6 -4 -6 -11 -15 -18 -22 -25 -28 -28 -27 -27 -28 -30 -31 -32 -33 -32 -30 -30 -36 -41 -43 -41 -40 -37 -35 -34 -35 -34 -32 -32 -34 -39 -35 -30 -28 -30 -30 -29 -29 -30 -32 -37 -39 -37 -35 -32 -31 -32 -32 -31 -30 -31 -30 -29 -28 -27 -29 -32 -34 -36 -35 -31 -30 -30 -31 -32 -36 -31 -24 -21 -21 -22 -24 -27 -29 -27 -25 -24 -22 -20 -20 -20 -19 -18 -17 -16 -15 -16 -16 -16 -15 -16 -17 -16 -15 -16 -17 -20 -24 -27 -30 -32 -32 -30 -31 -32 -32 -31 -30 -29 -27 -27 -27 -27 -27 -26 -24 -22 -19 -18 -17 -15 -15 -17 -18 -19 -22 -25 -25 -22 -22 -23 -24 -24 -25 -26 -29 -30 -29 -29 -29 -28 -24 -21 -22 -23 -22 -17 -15 -15 -13 -12 -12 -18 -19 -17 -17 -18 -24 -31 -36 -40 -40 -36 -27 -17 -10 -8 -10 -15 -20 -24 -24 -24 -23 -23 -23 -23 -23 -22 -21 -20 -19 -20 -21 -22 -17 -1 7 -8 -8 -8 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -8 -9 -10 -11 -12 -12 -13 -14 -17 -20 -22 -22 -17 -11 -9 -8 -7 -7 -6 -7 -6 -5 -4 -4 -6 -7 -8 -8 -10 -13 -16 -20 -24 -27 -27 -23 -16 -10 -8 -7 -5 -3 -3 -1 -0 1 2 3 4 3 2 1 0 -0 -0 -0 0 0 0 -0 -2 -3 -4 -4 -3 -2 -2 -2 -3 -5 -7 -6 -4 -5 -7 -11 -13 -16 -17 -17 -14 -8 -3 0 2 0 -3 -5 -7 -8 -10 -9 -8 -8 -9 -10 -8 -6 -3 -1 -0 -2 -3 -5 -6 -8 -10 -12 -13 -9 -1 3 2 -3 -8 -6 -2 -3 -7 -15 -17 -12 -8 -8 -14 -22 -22 -17 -10 -6 -4 -2 -1 -1 -1 -2 -2 -2 -3 -6 -9 -11 -12 -15 -19 -24 -26 -23 -16 -5 1 2 2 1 1 1 2 2 3 4 4 3 2 -0 -3 -8 -14 -20 -24 -26 -25 -21 -16 -11 -9 -11 -13 -14 -10 -5 -4 -5 -7 -9 -10 -10 -11 -12 -12 -10 -8 -7 -7 -7 -8 -11 -15 -18 -23 -27 -29 -27 -23 -16 -11 -8 -6 -6 -8 -11 -15 -20 -26 -28 -29 -29 -30 -30 -31 -31 -31 -30 -27 -27 -33 -39 -42 -40 -39 -37 -35 -35 -36 -35 -33 -33 -34 -36 -33 -30 -28 -29 -30 -29 -28 -28 -28 -32 -36 -39 -40 -37 -34 -33 -31 -29 -28 -28 -28 -27 -26 -26 -27 -30 -32 -34 -34 -31 -31 -31 -31 -33 -39 -36 -28 -21 -20 -20 -22 -25 -27 -28 -27 -25 -22 -21 -20 -19 -19 -19 -19 -18 -16 -15 -15 -15 -15 -15 -15 -16 -15 -16 -17 -20 -23 -26 -30 -32 -31 -30 -30 -30 -30 -30 -30 -28 -27 -26 -26 -27 -27 -27 -25 -22 -19 -20 -19 -19 -18 -17 -18 -21 -24 -27 -25 -24 -22 -22 -23 -23 -24 -26 -27 -27 -27 -28 -29 -28 -26 -23 -21 -21 -22 -20 -15 -13 -12 -11 -12 -16 -17 -17 -18 -18 -19 -22 -27 -32 -35 -35 -32 -25 -16 -9 -8 -11 -18 -25 -27 -27 -26 -24 -23 -22 -22 -22 -22 -20 -20 -20 -22 -24 -23 -10 1 -8 -8 -8 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -9 -9 -10 -9 -9 -9 -10 -12 -15 -17 -19 -17 -15 -12 -11 -9 -7 -7 -7 -8 -7 -5 -6 -7 -8 -8 -9 -10 -12 -15 -19 -24 -27 -27 -24 -18 -11 -8 -7 -6 -5 -4 -3 -1 -0 1 3 3 3 2 2 1 0 -1 -1 -1 -1 -0 -1 -2 -4 -5 -5 -4 -3 -2 -0 -0 -2 -4 -4 -3 -3 -6 -9 -10 -13 -15 -17 -17 -14 -10 -5 -2 0 -1 -3 -5 -6 -6 -5 -3 -3 -4 -5 -6 -5 -4 -3 -2 -1 -1 -2 -3 -6 -8 -12 -14 -14 -9 -1 3 2 -3 -6 -4 -1 -1 -6 -13 -13 -11 -9 -12 -21 -23 -20 -15 -11 -7 -4 -1 -1 -1 -2 -2 -2 -3 -5 -8 -10 -11 -13 -15 -19 -23 -25 -23 -15 -4 1 2 0 -0 0 1 2 3 5 5 5 3 1 -3 -9 -16 -22 -25 -24 -20 -17 -15 -12 -11 -12 -13 -13 -10 -5 -4 -5 -6 -9 -11 -11 -11 -11 -11 -10 -9 -9 -9 -10 -10 -11 -13 -16 -20 -24 -27 -27 -24 -19 -17 -14 -11 -7 -6 -5 -7 -12 -20 -24 -26 -28 -30 -31 -30 -29 -28 -28 -26 -26 -30 -36 -40 -39 -39 -38 -37 -36 -36 -34 -33 -32 -33 -32 -31 -29 -28 -28 -29 -28 -28 -27 -28 -29 -32 -35 -39 -41 -36 -33 -30 -29 -28 -27 -27 -26 -26 -26 -27 -28 -30 -31 -32 -32 -33 -33 -30 -31 -37 -35 -28 -22 -21 -21 -21 -22 -25 -28 -28 -25 -23 -22 -20 -19 -20 -20 -20 -20 -18 -16 -14 -14 -14 -14 -14 -15 -16 -16 -17 -20 -23 -27 -31 -33 -33 -30 -28 -29 -29 -29 -29 -28 -27 -26 -25 -26 -27 -27 -25 -23 -19 -20 -22 -23 -21 -19 -18 -21 -25 -28 -26 -23 -21 -20 -21 -22 -24 -25 -26 -24 -24 -25 -27 -28 -28 -25 -22 -20 -20 -21 -16 -12 -10 -11 -13 -15 -16 -16 -17 -18 -17 -18 -20 -25 -28 -30 -29 -26 -21 -14 -10 -11 -15 -23 -26 -26 -26 -25 -23 -22 -22 -22 -21 -20 -20 -21 -22 -24 -25 -20 -9 -7 -8 -8 -7 -6 -5 -5 -5 -5 -4 -4 -5 -5 -6 -7 -8 -8 -8 -8 -7 -7 -6 -6 -6 -7 -8 -11 -14 -17 -16 -15 -13 -11 -11 -12 -12 -12 -11 -9 -7 -6 -6 -7 -8 -9 -11 -13 -16 -19 -24 -27 -27 -25 -20 -13 -9 -8 -7 -7 -5 -3 -2 -0 1 2 3 2 2 2 2 1 0 -0 -1 -1 -1 -2 -3 -4 -5 -6 -6 -5 -2 1 2 2 -0 -1 -1 -3 -5 -8 -9 -11 -12 -14 -17 -17 -15 -12 -8 -3 -1 -2 -4 -6 -6 -4 -2 -0 1 -0 -2 -3 -3 -3 -3 -3 -2 -0 -0 -2 -5 -9 -12 -14 -13 -8 -3 -0 0 -4 -5 -3 -2 -2 -7 -9 -9 -9 -11 -17 -20 -20 -18 -14 -10 -7 -5 -3 -2 -1 0 1 1 -1 -5 -8 -11 -13 -14 -16 -19 -23 -25 -22 -12 -4 1 1 0 -1 -1 0 3 5 6 7 5 2 -3 -11 -20 -27 -29 -24 -19 -15 -13 -13 -13 -14 -15 -13 -9 -6 -5 -5 -7 -10 -11 -11 -10 -10 -8 -8 -8 -9 -10 -11 -11 -11 -12 -14 -18 -23 -26 -28 -25 -20 -18 -17 -15 -13 -9 -4 -3 -5 -12 -17 -21 -24 -27 -30 -30 -29 -28 -28 -28 -27 -28 -31 -35 -39 -41 -40 -38 -36 -34 -33 -32 -30 -30 -29 -28 -28 -29 -30 -29 -28 -28 -28 -29 -30 -30 -31 -33 -35 -33 -32 -31 -29 -29 -28 -28 -27 -27 -27 -27 -27 -27 -28 -30 -32 -34 -35 -31 -30 -35 -34 -28 -24 -22 -21 -21 -21 -23 -25 -26 -25 -22 -22 -20 -19 -19 -20 -22 -22 -20 -18 -15 -14 -14 -14 -13 -14 -15 -16 -17 -20 -24 -29 -34 -36 -35 -31 -28 -28 -28 -29 -29 -29 -28 -27 -25 -24 -25 -25 -25 -24 -20 -20 -23 -24 -23 -20 -19 -20 -23 -25 -23 -22 -20 -20 -21 -23 -25 -25 -25 -23 -22 -23 -25 -27 -28 -27 -24 -21 -19 -19 -17 -14 -12 -13 -15 -16 -16 -17 -16 -18 -19 -18 -17 -18 -23 -26 -26 -24 -20 -18 -16 -14 -14 -18 -22 -25 -26 -25 -24 -23 -22 -21 -20 -21 -22 -23 -24 -24 -25 -25 -19 -7 -7 -7 -6 -5 -4 -5 -5 -5 -4 -4 -5 -6 -7 -8 -8 -8 -7 -6 -5 -4 -4 -4 -4 -5 -6 -9 -12 -13 -13 -13 -13 -14 -16 -18 -17 -15 -13 -11 -7 -5 -6 -7 -8 -9 -12 -14 -17 -20 -25 -28 -27 -24 -20 -15 -11 -10 -9 -8 -6 -4 -2 -0 1 2 2 2 1 1 2 2 2 1 0 -0 -1 -3 -4 -4 -4 -6 -7 -7 -5 0 4 4 3 2 0 -2 -4 -8 -11 -10 -10 -11 -15 -17 -17 -16 -13 -9 -5 -3 -4 -6 -7 -6 -4 -2 1 3 2 1 -1 -2 -4 -5 -4 -1 1 1 -2 -5 -7 -9 -11 -13 -12 -8 -3 -3 -6 -6 -5 -3 -4 -6 -6 -7 -9 -13 -17 -19 -18 -13 -10 -8 -7 -6 -4 -2 -0 1 2 1 -2 -5 -9 -12 -13 -14 -16 -20 -23 -24 -18 -10 -3 -0 1 1 -0 -1 -0 2 5 7 7 5 -3 -14 -25 -33 -34 -27 -19 -13 -12 -12 -14 -16 -17 -15 -10 -6 -6 -6 -8 -10 -11 -11 -10 -8 -7 -6 -7 -7 -9 -10 -11 -12 -13 -14 -17 -21 -27 -30 -28 -22 -18 -16 -17 -18 -15 -10 -5 -3 -6 -10 -14 -18 -22 -27 -30 -30 -29 -30 -30 -28 -27 -28 -31 -35 -39 -40 -40 -39 -38 -36 -34 -32 -32 -29 -28 -29 -32 -32 -30 -29 -29 -29 -29 -30 -30 -29 -30 -32 -32 -32 -32 -31 -31 -30 -30 -29 -29 -28 -28 -28 -28 -28 -29 -31 -35 -37 -34 -31 -34 -35 -31 -26 -24 -22 -21 -21 -22 -24 -25 -24 -21 -22 -21 -20 -19 -20 -22 -22 -22 -20 -17 -15 -14 -13 -12 -13 -14 -15 -17 -19 -24 -31 -35 -36 -35 -31 -29 -28 -28 -28 -28 -28 -28 -27 -25 -23 -23 -24 -24 -24 -21 -20 -21 -22 -22 -22 -21 -21 -21 -22 -21 -21 -21 -21 -22 -23 -24 -25 -26 -25 -23 -23 -25 -26 -27 -27 -25 -23 -21 -19 -16 -15 -15 -16 -17 -17 -18 -19 -18 -19 -21 -21 -18 -17 -19 -22 -23 -22 -19 -20 -19 -16 -12 -14 -19 -23 -26 -26 -25 -23 -22 -21 -21 -22 -23 -24 -25 -24 -25 -26 -24 -7 -7 -6 -5 -4 -4 -5 -5 -5 -5 -4 -5 -7 -7 -8 -8 -7 -6 -5 -4 -3 -3 -3 -4 -5 -6 -7 -9 -10 -10 -11 -13 -17 -20 -22 -19 -15 -12 -9 -6 -5 -6 -7 -8 -9 -11 -15 -19 -21 -24 -26 -25 -22 -20 -16 -13 -12 -12 -10 -7 -4 -2 0 0 0 1 1 0 -1 1 3 3 3 1 1 -1 -2 -4 -4 -4 -5 -6 -8 -8 -3 2 5 5 4 3 1 -2 -8 -12 -12 -11 -9 -11 -14 -16 -17 -16 -14 -11 -8 -6 -5 -6 -7 -7 -5 -3 1 3 3 2 -1 -4 -6 -6 -4 -0 1 0 -2 -4 -5 -7 -11 -14 -13 -9 -7 -8 -9 -9 -7 -7 -7 -7 -6 -6 -10 -13 -15 -15 -11 -8 -7 -6 -6 -6 -4 -3 -1 1 2 1 -2 -6 -9 -10 -11 -14 -18 -21 -22 -18 -13 -8 -5 -2 -0 1 0 -1 0 3 6 7 6 -3 -15 -28 -37 -39 -30 -19 -12 -10 -11 -13 -16 -18 -17 -12 -8 -7 -7 -8 -11 -12 -11 -10 -8 -7 -7 -6 -6 -6 -8 -10 -12 -14 -15 -16 -21 -26 -29 -29 -26 -21 -17 -17 -21 -21 -18 -12 -6 -3 -6 -8 -12 -16 -24 -29 -30 -30 -30 -30 -28 -27 -27 -28 -31 -35 -38 -41 -43 -41 -39 -37 -36 -34 -31 -30 -29 -30 -30 -29 -28 -28 -29 -27 -29 -29 -29 -31 -32 -32 -31 -31 -31 -33 -33 -33 -32 -33 -32 -30 -29 -29 -30 -30 -32 -35 -40 -38 -33 -34 -36 -33 -29 -26 -24 -23 -21 -21 -22 -24 -24 -22 -22 -22 -21 -20 -20 -22 -22 -22 -21 -19 -16 -14 -12 -12 -12 -13 -16 -18 -20 -24 -29 -33 -34 -34 -32 -31 -30 -29 -27 -27 -27 -27 -26 -24 -23 -24 -23 -23 -23 -21 -20 -20 -21 -22 -24 -24 -23 -21 -20 -20 -20 -21 -22 -22 -22 -22 -25 -28 -28 -26 -25 -25 -26 -26 -26 -26 -25 -23 -19 -16 -15 -16 -17 -18 -18 -19 -21 -20 -20 -22 -23 -23 -20 -20 -20 -21 -21 -20 -21 -22 -21 -16 -14 -16 -20 -24 -26 -26 -24 -23 -21 -21 -22 -23 -24 -25 -25 -25 -25 -25 -8 -7 -6 -5 -5 -5 -5 -6 -5 -5 -4 -5 -6 -7 -7 -7 -6 -5 -4 -4 -3 -4 -4 -4 -5 -5 -6 -6 -7 -8 -9 -13 -17 -20 -19 -15 -11 -8 -6 -5 -6 -7 -8 -9 -9 -10 -14 -17 -18 -17 -18 -21 -25 -26 -22 -16 -13 -11 -9 -6 -3 -1 0 1 0 0 0 -0 -1 -1 1 1 1 1 1 -0 -2 -3 -3 -3 -3 -4 -6 -9 -8 -3 3 7 8 7 5 1 -5 -10 -14 -14 -12 -9 -11 -14 -16 -17 -17 -16 -13 -9 -6 -5 -6 -6 -6 -5 -3 -1 1 2 1 -2 -5 -7 -7 -4 -1 -1 -2 -2 -3 -5 -7 -10 -11 -11 -9 -11 -13 -14 -12 -11 -11 -10 -7 -5 -8 -10 -11 -10 -7 -5 -4 -5 -5 -5 -5 -5 -4 -3 -0 1 -1 -3 -5 -6 -8 -12 -16 -20 -19 -17 -13 -11 -9 -7 -4 -1 1 1 1 1 2 4 4 -2 -14 -27 -37 -40 -32 -21 -12 -9 -10 -11 -13 -16 -18 -14 -10 -8 -7 -7 -10 -12 -11 -9 -8 -8 -8 -7 -6 -5 -6 -8 -10 -13 -14 -17 -22 -27 -30 -31 -29 -25 -21 -19 -20 -22 -21 -17 -11 -5 -3 -3 -6 -10 -20 -27 -30 -30 -30 -30 -29 -27 -25 -26 -28 -32 -35 -39 -43 -43 -41 -39 -38 -35 -32 -29 -28 -29 -27 -27 -27 -27 -27 -26 -26 -27 -28 -30 -32 -32 -31 -30 -30 -34 -35 -34 -33 -33 -34 -33 -31 -30 -32 -33 -33 -35 -41 -43 -35 -33 -36 -36 -31 -28 -26 -24 -22 -21 -21 -21 -22 -22 -22 -22 -21 -21 -20 -21 -22 -22 -20 -19 -17 -14 -13 -12 -12 -13 -16 -18 -20 -24 -27 -30 -31 -31 -31 -31 -30 -29 -26 -24 -23 -24 -24 -23 -24 -25 -24 -22 -22 -21 -20 -21 -23 -25 -26 -26 -25 -23 -22 -20 -20 -21 -22 -21 -21 -22 -24 -29 -29 -27 -25 -26 -26 -26 -27 -27 -25 -23 -19 -17 -17 -18 -18 -18 -19 -20 -22 -23 -24 -25 -26 -26 -25 -22 -20 -20 -20 -20 -21 -22 -22 -20 -16 -15 -17 -21 -25 -25 -25 -23 -22 -21 -22 -22 -23 -24 -26 -26 -25 -24 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -4 -5 -6 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -5 -4 -5 -5 -5 -6 -7 -9 -10 -12 -13 -11 -9 -7 -6 -6 -7 -8 -8 -7 -7 -9 -10 -12 -13 -13 -12 -16 -20 -25 -27 -24 -17 -12 -8 -6 -4 -2 -1 0 1 -0 -1 -1 -1 -1 -1 -2 -3 -3 -2 -1 -1 -2 -2 -2 -2 -3 -3 -4 -8 -11 -9 -3 4 8 9 8 6 1 -5 -11 -16 -16 -13 -10 -11 -13 -16 -17 -19 -18 -14 -11 -8 -6 -6 -5 -5 -4 -3 -1 -1 -0 -0 -2 -5 -7 -7 -4 -4 -4 -4 -4 -4 -5 -7 -8 -9 -9 -12 -15 -17 -16 -15 -14 -14 -12 -10 -10 -12 -11 -8 -2 0 -1 -3 -3 -3 -4 -6 -6 -6 -4 -2 -1 -0 -1 -2 -5 -9 -13 -17 -18 -16 -13 -11 -10 -10 -8 -4 -1 3 3 1 0 0 1 -2 -12 -25 -36 -39 -32 -20 -12 -9 -11 -10 -10 -10 -12 -14 -14 -12 -8 -6 -9 -11 -10 -8 -7 -8 -9 -9 -8 -7 -6 -6 -8 -10 -13 -17 -22 -28 -32 -33 -31 -27 -23 -21 -21 -23 -23 -20 -13 -7 -4 -3 -4 -8 -16 -24 -30 -32 -30 -30 -29 -27 -25 -25 -27 -30 -33 -36 -39 -41 -41 -40 -37 -35 -32 -30 -28 -28 -28 -28 -28 -27 -25 -26 -26 -25 -26 -28 -31 -33 -33 -31 -30 -32 -34 -34 -33 -31 -32 -33 -32 -32 -34 -35 -36 -37 -41 -42 -34 -32 -36 -38 -31 -29 -27 -25 -24 -22 -21 -20 -19 -20 -21 -21 -21 -20 -20 -20 -21 -21 -20 -19 -17 -15 -14 -13 -12 -14 -17 -18 -20 -22 -24 -27 -28 -28 -28 -29 -29 -28 -26 -21 -20 -20 -21 -23 -26 -26 -24 -22 -22 -21 -20 -20 -24 -27 -28 -27 -26 -24 -23 -21 -20 -20 -20 -20 -21 -22 -24 -29 -29 -28 -26 -27 -27 -27 -28 -27 -24 -21 -19 -18 -17 -18 -18 -19 -19 -21 -22 -25 -26 -27 -28 -28 -27 -24 -22 -22 -21 -19 -20 -21 -21 -21 -18 -15 -15 -18 -22 -23 -24 -23 -22 -22 -22 -22 -22 -24 -26 -26 -25 -23 -8 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -5 -6 -6 -6 -6 -6 -6 -5 -4 -4 -4 -4 -4 -3 -4 -5 -6 -7 -8 -8 -8 -7 -7 -7 -6 -6 -6 -7 -8 -8 -8 -7 -7 -7 -8 -9 -11 -13 -15 -18 -20 -21 -20 -18 -13 -9 -7 -5 -4 -3 -1 -0 0 -1 -1 -2 -1 -1 -0 -1 -3 -6 -6 -5 -5 -4 -2 0 -0 -1 -2 -2 -5 -9 -10 -8 -3 3 7 9 9 8 2 -5 -12 -17 -18 -14 -12 -11 -13 -15 -18 -19 -18 -15 -11 -9 -7 -6 -6 -7 -5 -4 -2 -1 -1 -1 -3 -5 -6 -5 -5 -5 -6 -6 -4 -4 -5 -7 -9 -10 -13 -14 -16 -16 -16 -16 -17 -16 -15 -16 -18 -18 -12 -1 4 4 0 -2 -3 -3 -4 -6 -7 -7 -5 -3 0 2 2 -1 -5 -9 -14 -17 -16 -14 -11 -10 -11 -10 -8 -4 1 3 3 1 -1 -3 -6 -12 -21 -32 -36 -30 -20 -10 -7 -11 -11 -8 -5 -5 -11 -17 -17 -12 -5 -7 -9 -10 -8 -7 -8 -9 -10 -10 -10 -9 -8 -8 -9 -10 -15 -20 -26 -30 -33 -32 -29 -24 -22 -24 -26 -26 -23 -17 -10 -5 -3 -5 -10 -15 -22 -28 -33 -33 -33 -30 -27 -25 -25 -27 -29 -32 -34 -35 -37 -38 -37 -36 -34 -32 -30 -29 -28 -28 -29 -29 -28 -26 -27 -27 -27 -27 -26 -28 -32 -34 -33 -31 -32 -33 -34 -33 -31 -31 -32 -33 -34 -37 -37 -37 -38 -42 -37 -31 -30 -35 -39 -31 -27 -26 -26 -26 -25 -23 -20 -19 -20 -21 -21 -21 -20 -20 -19 -19 -19 -18 -17 -17 -16 -15 -14 -13 -16 -18 -19 -18 -19 -21 -24 -25 -25 -25 -26 -26 -25 -22 -20 -19 -19 -20 -23 -25 -26 -24 -21 -21 -20 -20 -20 -25 -27 -28 -28 -26 -25 -23 -21 -20 -21 -20 -21 -22 -23 -24 -28 -28 -28 -27 -27 -28 -29 -28 -26 -23 -20 -18 -18 -17 -18 -18 -19 -19 -20 -22 -24 -25 -25 -25 -25 -24 -23 -23 -23 -21 -18 -18 -19 -20 -21 -19 -17 -15 -16 -19 -21 -22 -23 -22 -23 -22 -22 -22 -24 -26 -26 -25 -23 -7 -6 -5 -5 -6 -5 -5 -4 -5 -5 -5 -6 -6 -6 -6 -6 -7 -6 -6 -5 -4 -4 -4 -3 -3 -4 -5 -6 -7 -8 -6 -4 -4 -5 -5 -6 -7 -7 -7 -8 -8 -7 -7 -7 -7 -7 -8 -9 -11 -14 -18 -19 -19 -18 -15 -12 -8 -6 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -3 -5 -8 -9 -7 -4 -2 0 1 -0 -1 -1 -2 -6 -10 -11 -8 -3 2 6 9 11 9 4 -3 -11 -16 -16 -13 -12 -12 -13 -16 -18 -19 -18 -15 -11 -9 -8 -8 -9 -8 -6 -4 -3 -3 -2 -2 -3 -5 -5 -5 -5 -6 -7 -6 -5 -4 -5 -8 -12 -14 -14 -13 -12 -13 -14 -15 -16 -16 -18 -23 -25 -21 -11 -1 4 4 1 -2 -3 -3 -5 -7 -10 -9 -6 -1 2 3 2 -0 -4 -9 -13 -15 -15 -12 -10 -10 -11 -11 -9 -4 0 3 3 -0 -5 -9 -13 -19 -27 -33 -30 -21 -10 -4 -6 -8 -6 -3 -3 -8 -15 -18 -16 -10 -8 -8 -9 -9 -9 -9 -8 -9 -10 -11 -12 -12 -10 -9 -9 -12 -16 -20 -24 -29 -31 -28 -24 -22 -26 -28 -29 -27 -22 -15 -9 -6 -6 -10 -15 -19 -25 -31 -34 -34 -31 -28 -25 -26 -27 -28 -29 -31 -32 -33 -34 -34 -34 -33 -33 -32 -30 -27 -27 -28 -28 -28 -28 -29 -29 -29 -30 -28 -28 -30 -33 -34 -35 -33 -33 -33 -33 -32 -32 -32 -34 -36 -39 -37 -36 -38 -43 -34 -29 -28 -32 -37 -32 -28 -26 -26 -26 -26 -25 -23 -20 -21 -21 -21 -21 -20 -20 -20 -19 -18 -16 -16 -16 -16 -15 -14 -13 -16 -18 -19 -18 -18 -19 -22 -22 -23 -23 -23 -22 -20 -19 -19 -19 -19 -19 -22 -23 -23 -22 -20 -20 -20 -20 -21 -25 -26 -27 -27 -27 -26 -24 -22 -22 -24 -22 -23 -24 -24 -23 -25 -26 -26 -26 -27 -29 -28 -26 -23 -22 -20 -19 -19 -18 -18 -18 -18 -19 -20 -22 -23 -24 -25 -25 -24 -24 -23 -23 -22 -19 -17 -17 -18 -19 -19 -19 -18 -16 -15 -16 -19 -21 -23 -23 -23 -23 -22 -22 -24 -25 -25 -24 -23 -6 -5 -5 -5 -5 -5 -4 -4 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -5 -4 -3 -3 -3 -3 -4 -5 -5 -5 -5 -3 -3 -4 -5 -6 -7 -8 -8 -7 -7 -7 -6 -6 -6 -7 -7 -8 -9 -11 -13 -16 -18 -19 -19 -16 -12 -8 -5 -4 -3 -3 -2 -2 -1 -0 1 1 0 -1 -2 -3 -4 -4 -7 -9 -7 -4 -2 -1 -0 -1 -1 0 -0 -5 -9 -11 -11 -8 -4 1 5 9 12 10 6 -1 -9 -13 -14 -13 -12 -13 -14 -16 -17 -18 -16 -12 -10 -9 -9 -11 -11 -9 -7 -5 -5 -4 -4 -3 -4 -5 -4 -4 -5 -6 -7 -7 -6 -6 -8 -13 -15 -15 -12 -9 -9 -10 -11 -12 -13 -16 -21 -25 -27 -23 -14 -4 3 5 1 -2 -4 -5 -7 -11 -13 -10 -4 2 4 5 4 3 -0 -7 -12 -13 -11 -9 -10 -11 -11 -11 -9 -4 1 4 4 -3 -9 -14 -18 -23 -31 -32 -26 -15 -3 -1 -2 -2 -2 -2 -5 -11 -15 -17 -14 -12 -10 -9 -9 -11 -11 -9 -9 -10 -11 -13 -14 -13 -12 -12 -13 -14 -16 -19 -24 -27 -27 -24 -23 -27 -31 -32 -30 -26 -19 -13 -9 -9 -13 -17 -19 -21 -24 -30 -33 -32 -30 -26 -26 -25 -25 -26 -27 -29 -30 -30 -30 -31 -32 -34 -34 -32 -29 -28 -28 -29 -29 -30 -30 -31 -32 -33 -29 -28 -30 -32 -33 -34 -34 -33 -32 -33 -32 -33 -34 -35 -37 -38 -38 -38 -39 -43 -34 -28 -27 -29 -34 -33 -30 -27 -26 -24 -24 -25 -24 -22 -21 -21 -21 -21 -21 -21 -20 -20 -18 -15 -15 -14 -15 -15 -14 -13 -15 -17 -19 -18 -18 -18 -19 -19 -20 -21 -21 -19 -17 -16 -17 -18 -19 -20 -19 -18 -19 -20 -20 -22 -22 -23 -23 -24 -25 -25 -25 -25 -26 -25 -24 -23 -24 -22 -22 -23 -23 -23 -24 -24 -24 -24 -26 -28 -27 -24 -22 -21 -20 -19 -19 -19 -19 -19 -18 -18 -20 -22 -22 -22 -25 -25 -25 -25 -24 -23 -22 -20 -19 -18 -18 -18 -18 -19 -19 -18 -16 -16 -16 -18 -22 -24 -24 -23 -22 -23 -24 -24 -24 -23 -23 -6 -5 -5 -5 -5 -4 -3 -4 -5 -6 -6 -5 -5 -6 -7 -8 -8 -7 -6 -5 -4 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -6 -8 -8 -9 -8 -8 -7 -7 -6 -5 -6 -8 -9 -10 -11 -12 -13 -15 -17 -20 -21 -20 -15 -9 -5 -3 -3 -2 -2 -2 -1 1 2 2 1 -0 -2 -5 -6 -4 -4 -6 -6 -4 -3 -1 -1 -1 -0 1 1 -4 -8 -11 -12 -11 -9 -5 -1 5 9 11 10 7 1 -5 -9 -11 -13 -14 -14 -15 -15 -16 -16 -12 -10 -8 -9 -12 -12 -11 -9 -6 -6 -6 -6 -6 -6 -6 -5 -3 -1 -2 -5 -7 -8 -7 -7 -12 -16 -16 -12 -8 -7 -7 -6 -6 -8 -12 -18 -23 -28 -29 -25 -17 -7 1 3 1 -2 -5 -7 -12 -16 -15 -10 -1 2 4 5 5 5 0 -4 -6 -7 -7 -9 -10 -11 -11 -10 -8 -4 2 6 2 -5 -12 -17 -21 -28 -35 -35 -26 -11 -1 3 3 2 -0 -4 -8 -11 -14 -15 -15 -13 -10 -9 -12 -12 -11 -9 -10 -12 -13 -13 -12 -12 -13 -14 -15 -15 -15 -18 -22 -24 -24 -24 -29 -32 -33 -32 -28 -22 -17 -14 -13 -16 -20 -21 -22 -22 -25 -27 -29 -29 -27 -26 -26 -25 -24 -24 -26 -28 -30 -29 -29 -31 -34 -35 -34 -31 -30 -30 -30 -30 -31 -33 -34 -35 -33 -30 -29 -29 -30 -31 -31 -31 -33 -36 -36 -33 -33 -35 -38 -37 -36 -37 -39 -40 -42 -35 -30 -27 -27 -29 -31 -31 -29 -27 -24 -23 -23 -23 -23 -22 -21 -21 -21 -21 -21 -21 -20 -18 -15 -14 -13 -13 -14 -14 -14 -15 -17 -18 -18 -17 -17 -17 -18 -18 -18 -17 -16 -15 -14 -15 -16 -18 -19 -17 -15 -16 -17 -19 -23 -25 -26 -25 -24 -23 -22 -22 -23 -25 -25 -25 -24 -23 -22 -21 -22 -22 -23 -24 -24 -24 -23 -25 -26 -26 -24 -23 -22 -20 -19 -19 -19 -19 -19 -18 -19 -21 -22 -22 -22 -24 -26 -26 -25 -24 -23 -23 -23 -22 -20 -18 -18 -18 -19 -19 -20 -18 -16 -14 -16 -20 -23 -24 -23 -22 -23 -24 -24 -24 -23 -22 -5 -5 -5 -5 -5 -4 -4 -5 -5 -5 -5 -5 -6 -8 -9 -9 -8 -7 -6 -5 -3 -1 0 0 -0 -0 -1 -3 -4 -4 -4 -5 -6 -7 -8 -9 -8 -8 -8 -7 -7 -6 -5 -6 -8 -10 -12 -13 -14 -15 -16 -18 -21 -23 -22 -17 -11 -6 -3 -3 -2 -1 -1 -1 0 1 1 1 1 -0 -4 -5 -4 -3 -4 -4 -3 -2 0 2 1 2 3 3 -2 -6 -9 -12 -12 -12 -11 -8 -2 4 7 9 9 8 4 -0 -5 -9 -13 -15 -15 -14 -14 -14 -12 -9 -7 -7 -10 -12 -12 -10 -8 -7 -7 -7 -9 -10 -10 -8 -4 0 2 -0 -5 -7 -6 -4 -8 -13 -15 -13 -8 -7 -6 -5 -3 -3 -8 -14 -20 -25 -30 -30 -25 -18 -10 -3 1 0 -2 -5 -9 -15 -17 -15 -9 -3 1 3 4 3 3 2 1 -0 -2 -5 -8 -9 -9 -9 -11 -10 -7 -1 2 -1 -7 -14 -20 -27 -35 -40 -38 -25 -8 2 7 6 2 -2 -5 -8 -10 -12 -15 -16 -14 -12 -12 -13 -13 -12 -11 -11 -12 -11 -11 -10 -12 -14 -16 -17 -16 -16 -17 -19 -20 -24 -30 -34 -35 -32 -29 -25 -20 -17 -16 -18 -21 -24 -26 -24 -24 -24 -24 -24 -26 -27 -26 -24 -22 -22 -26 -28 -29 -28 -28 -29 -32 -34 -34 -33 -32 -32 -31 -30 -32 -34 -35 -36 -32 -30 -29 -29 -29 -30 -30 -31 -33 -37 -37 -33 -32 -34 -39 -37 -35 -36 -38 -38 -39 -37 -34 -31 -27 -27 -28 -28 -29 -28 -26 -23 -23 -23 -23 -22 -22 -21 -20 -21 -21 -21 -21 -19 -16 -14 -13 -12 -13 -13 -14 -14 -15 -17 -17 -17 -16 -17 -17 -16 -15 -13 -13 -13 -13 -13 -14 -16 -17 -15 -14 -14 -15 -18 -21 -25 -26 -25 -22 -21 -20 -20 -22 -23 -25 -25 -25 -23 -22 -22 -23 -22 -23 -25 -25 -25 -24 -25 -26 -25 -24 -24 -23 -21 -20 -19 -18 -19 -19 -19 -19 -20 -21 -22 -23 -25 -25 -25 -24 -23 -23 -24 -24 -23 -21 -18 -17 -18 -20 -19 -21 -20 -17 -14 -14 -18 -21 -23 -24 -23 -23 -24 -25 -25 -23 -22 -5 -5 -5 -5 -5 -5 -6 -5 -4 -4 -4 -6 -8 -9 -9 -8 -6 -5 -4 -3 -1 1 2 2 1 1 -1 -3 -5 -6 -6 -6 -6 -7 -8 -8 -7 -7 -7 -7 -6 -6 -5 -6 -8 -10 -11 -13 -14 -16 -19 -22 -24 -22 -19 -14 -11 -7 -4 -2 -1 -0 0 -1 -0 0 -0 0 2 2 1 -0 -2 -4 -4 -2 -1 -1 1 4 5 6 7 6 2 -4 -9 -12 -12 -13 -14 -14 -10 -4 1 5 8 9 8 6 3 -2 -8 -13 -15 -14 -12 -12 -11 -9 -7 -6 -8 -11 -12 -13 -12 -9 -7 -7 -10 -13 -16 -15 -10 -3 3 3 0 -3 -4 -2 -2 -7 -11 -13 -9 -8 -8 -6 -3 -1 -4 -9 -15 -21 -26 -28 -27 -25 -22 -14 -6 -1 -0 -2 -6 -11 -16 -18 -16 -10 -4 -0 1 0 1 3 5 6 3 -0 -3 -5 -6 -6 -9 -12 -12 -9 -3 -2 -4 -10 -19 -29 -36 -42 -44 -39 -21 -5 6 9 6 1 -3 -5 -7 -9 -14 -18 -18 -15 -13 -13 -13 -13 -13 -11 -11 -11 -10 -9 -10 -12 -15 -17 -18 -17 -16 -16 -17 -22 -30 -35 -36 -32 -29 -26 -21 -18 -16 -17 -20 -24 -27 -28 -26 -23 -21 -19 -23 -26 -26 -25 -23 -23 -25 -26 -27 -28 -28 -27 -28 -30 -31 -33 -35 -34 -32 -31 -34 -35 -35 -35 -32 -30 -29 -29 -29 -28 -29 -31 -34 -38 -38 -36 -34 -33 -37 -37 -36 -34 -32 -32 -35 -38 -39 -34 -28 -27 -26 -27 -27 -28 -26 -24 -22 -23 -23 -22 -22 -22 -21 -21 -21 -21 -21 -20 -17 -15 -13 -12 -12 -12 -13 -14 -15 -16 -16 -16 -17 -18 -18 -15 -13 -12 -12 -13 -13 -13 -13 -14 -15 -15 -14 -13 -14 -16 -19 -22 -23 -22 -21 -20 -20 -20 -20 -22 -24 -26 -26 -25 -23 -23 -23 -23 -24 -25 -25 -25 -25 -25 -25 -24 -25 -24 -23 -22 -21 -20 -19 -20 -19 -19 -18 -18 -19 -21 -22 -25 -24 -24 -24 -23 -23 -24 -25 -24 -23 -19 -18 -18 -20 -21 -22 -21 -19 -16 -14 -15 -18 -21 -24 -25 -24 -24 -25 -25 -23 -23 -4 -4 -4 -5 -6 -6 -6 -5 -4 -4 -6 -8 -9 -8 -7 -6 -3 -2 -2 -1 1 3 2 2 1 -0 -2 -5 -6 -7 -7 -6 -6 -7 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -8 -10 -12 -14 -16 -20 -23 -23 -20 -15 -12 -9 -7 -4 -2 -2 -1 -0 -1 -0 -0 -0 0 2 3 2 1 0 -1 -1 0 0 1 2 4 6 7 9 10 7 1 -6 -11 -12 -14 -17 -18 -16 -10 -4 -1 2 5 7 8 8 6 1 -5 -9 -12 -12 -11 -10 -9 -7 -5 -6 -7 -10 -12 -14 -13 -11 -9 -10 -12 -18 -22 -20 -14 -6 1 4 3 -1 -2 2 1 -3 -9 -9 -8 -9 -9 -7 -3 -3 -7 -12 -18 -22 -24 -24 -25 -27 -25 -17 -8 -2 -0 -2 -6 -12 -17 -19 -15 -9 -4 -1 -2 -2 -1 2 4 5 2 0 -1 -2 -3 -6 -9 -12 -11 -8 -6 -5 -9 -18 -30 -38 -42 -46 -51 -39 -19 0 9 8 5 2 -1 -5 -7 -12 -18 -21 -19 -14 -12 -12 -12 -12 -10 -10 -10 -9 -7 -7 -10 -13 -15 -16 -17 -17 -18 -17 -20 -28 -34 -35 -31 -27 -23 -20 -17 -16 -17 -18 -21 -24 -25 -27 -25 -21 -18 -20 -23 -25 -25 -25 -24 -25 -26 -27 -29 -28 -26 -26 -27 -28 -30 -32 -34 -34 -34 -35 -35 -35 -34 -32 -30 -29 -29 -29 -28 -28 -30 -33 -36 -37 -38 -37 -34 -34 -34 -33 -32 -31 -32 -34 -38 -38 -34 -29 -27 -27 -26 -26 -27 -27 -26 -23 -23 -23 -22 -23 -23 -21 -21 -21 -22 -23 -21 -18 -16 -14 -13 -11 -12 -12 -13 -14 -15 -15 -15 -17 -19 -18 -16 -13 -13 -14 -14 -14 -13 -13 -13 -14 -14 -13 -13 -14 -15 -17 -20 -21 -20 -20 -19 -19 -19 -19 -21 -23 -25 -27 -27 -25 -23 -23 -23 -24 -25 -26 -26 -26 -26 -25 -24 -25 -24 -24 -24 -23 -21 -20 -20 -20 -18 -18 -18 -18 -20 -22 -23 -24 -24 -24 -23 -24 -25 -26 -26 -24 -21 -19 -18 -19 -21 -22 -22 -20 -18 -14 -14 -16 -20 -24 -26 -26 -25 -24 -24 -23 -23 -3 -4 -5 -6 -7 -7 -5 -4 -4 -5 -7 -7 -6 -5 -3 -1 -0 0 0 1 2 2 1 -0 -1 -3 -4 -6 -7 -7 -8 -8 -8 -8 -8 -7 -6 -5 -4 -5 -6 -6 -5 -6 -7 -8 -9 -11 -13 -15 -18 -21 -22 -21 -16 -11 -8 -6 -5 -3 -2 -1 -0 0 1 0 0 1 1 1 1 0 -0 -1 -1 -0 1 2 3 3 4 6 9 10 10 6 1 -5 -9 -13 -17 -20 -19 -13 -7 -4 -3 -1 2 3 6 8 8 3 -1 -6 -9 -10 -8 -7 -7 -6 -4 -3 -4 -7 -12 -16 -16 -15 -12 -10 -12 -19 -25 -26 -23 -13 -3 3 3 -0 2 4 3 -3 -7 -6 -7 -8 -9 -6 -4 -5 -11 -18 -22 -24 -24 -24 -26 -28 -25 -17 -8 -2 -1 -3 -7 -12 -16 -16 -13 -9 -5 -3 -4 -5 -4 -2 1 2 2 1 -0 -1 -2 -5 -7 -9 -10 -10 -9 -11 -17 -30 -40 -48 -55 -60 -49 -28 -6 7 8 5 3 1 -1 -4 -11 -19 -24 -22 -14 -11 -10 -11 -10 -8 -7 -8 -7 -4 -4 -7 -10 -12 -14 -16 -18 -19 -18 -20 -25 -31 -34 -31 -25 -20 -17 -17 -19 -19 -18 -19 -21 -23 -25 -25 -24 -22 -19 -19 -22 -24 -25 -26 -26 -27 -27 -29 -28 -25 -24 -26 -27 -28 -29 -30 -33 -35 -37 -36 -35 -34 -33 -30 -28 -29 -29 -30 -31 -31 -31 -32 -34 -37 -38 -36 -33 -30 -30 -31 -33 -35 -34 -33 -33 -31 -28 -27 -26 -27 -27 -27 -28 -27 -25 -23 -23 -22 -23 -24 -22 -21 -22 -23 -23 -21 -20 -19 -17 -16 -12 -12 -12 -13 -15 -16 -14 -13 -16 -20 -19 -17 -14 -13 -16 -17 -17 -15 -13 -13 -14 -13 -13 -13 -13 -14 -16 -18 -19 -19 -19 -19 -19 -19 -19 -20 -21 -24 -27 -28 -27 -25 -22 -23 -24 -25 -26 -27 -27 -27 -27 -27 -27 -26 -25 -25 -25 -22 -21 -21 -20 -18 -17 -17 -19 -21 -22 -22 -24 -24 -24 -23 -24 -25 -26 -27 -26 -23 -20 -18 -17 -21 -22 -22 -22 -20 -17 -15 -17 -20 -24 -27 -27 -26 -25 -24 -22 -22 -3 -4 -6 -7 -7 -7 -5 -4 -5 -6 -6 -5 -2 -0 1 1 0 -0 -0 -0 1 0 -1 -3 -4 -4 -5 -6 -7 -7 -8 -9 -10 -9 -9 -7 -6 -5 -4 -4 -5 -5 -5 -5 -6 -7 -9 -11 -13 -15 -19 -21 -21 -19 -15 -11 -8 -7 -6 -4 -3 -1 -0 0 1 1 1 1 1 1 0 -0 -1 -2 -2 -0 1 2 3 3 3 4 7 9 10 9 5 1 -4 -9 -15 -20 -21 -15 -10 -7 -6 -6 -5 -4 -1 4 8 7 5 1 -3 -7 -6 -5 -5 -6 -4 -1 0 -0 -4 -11 -17 -20 -18 -13 -8 -11 -19 -27 -33 -27 -15 -4 1 -0 1 4 5 2 -4 -4 -4 -4 -7 -9 -5 -4 -8 -18 -26 -27 -25 -22 -21 -24 -25 -22 -15 -8 -5 -4 -6 -9 -13 -15 -15 -13 -9 -5 -4 -5 -7 -6 -3 -1 0 -1 -1 0 1 0 -2 -5 -8 -10 -12 -14 -19 -29 -38 -47 -54 -57 -50 -33 -13 3 5 3 0 -1 -1 -3 -10 -17 -24 -24 -16 -11 -10 -11 -10 -7 -5 -4 -4 -2 -2 -3 -5 -7 -10 -15 -18 -19 -19 -20 -23 -28 -31 -29 -24 -19 -16 -16 -17 -17 -17 -17 -20 -23 -25 -26 -27 -26 -20 -17 -19 -22 -24 -26 -27 -26 -26 -26 -26 -24 -23 -23 -26 -27 -28 -29 -32 -34 -36 -37 -36 -34 -32 -30 -28 -27 -29 -33 -33 -32 -29 -29 -31 -34 -36 -37 -34 -29 -28 -31 -34 -36 -34 -33 -32 -30 -28 -26 -26 -27 -28 -28 -28 -28 -27 -24 -23 -22 -22 -24 -22 -22 -22 -23 -23 -21 -23 -24 -22 -19 -14 -12 -13 -14 -15 -16 -14 -11 -13 -19 -19 -17 -14 -14 -16 -17 -17 -15 -13 -13 -13 -13 -12 -13 -13 -13 -15 -17 -18 -18 -19 -19 -19 -19 -19 -19 -20 -22 -25 -27 -28 -27 -23 -23 -23 -25 -27 -27 -27 -27 -27 -27 -27 -26 -26 -26 -25 -23 -22 -21 -20 -18 -18 -18 -19 -21 -22 -22 -24 -25 -23 -23 -24 -25 -25 -26 -27 -25 -22 -19 -17 -19 -20 -21 -21 -20 -18 -17 -18 -20 -22 -25 -27 -27 -25 -24 -22 -22 -4 -5 -6 -7 -7 -7 -5 -5 -5 -5 -3 -1 1 1 0 -0 -1 -1 -1 -0 -0 -2 -3 -4 -5 -6 -6 -7 -8 -9 -10 -10 -11 -10 -9 -8 -6 -4 -3 -3 -4 -5 -5 -6 -6 -7 -9 -11 -13 -16 -19 -20 -19 -16 -13 -10 -9 -8 -6 -4 -3 -2 -0 0 0 1 1 1 1 1 1 1 0 -1 -1 -0 1 2 3 3 2 3 5 7 8 8 7 5 2 -4 -10 -15 -18 -15 -12 -10 -8 -8 -10 -11 -9 -5 0 4 6 4 1 -5 -4 -3 -3 -4 -5 -3 1 4 5 -0 -9 -17 -21 -19 -11 -8 -13 -23 -34 -33 -24 -13 -5 -3 -1 2 4 3 -0 -2 -1 -2 -5 -8 -6 -4 -7 -18 -30 -34 -31 -23 -16 -17 -19 -19 -16 -11 -8 -8 -9 -10 -12 -13 -13 -13 -11 -7 -5 -5 -6 -6 -6 -4 -3 -4 -4 -1 2 4 4 -0 -4 -8 -12 -17 -22 -28 -33 -38 -44 -46 -44 -34 -19 -4 2 1 -1 -3 -4 -5 -10 -17 -24 -25 -20 -15 -12 -13 -13 -9 -5 -3 -2 -2 -1 -1 -2 -2 -6 -11 -15 -16 -17 -19 -22 -26 -29 -27 -23 -18 -15 -15 -15 -15 -16 -18 -21 -23 -25 -28 -30 -29 -23 -20 -20 -22 -23 -25 -25 -24 -22 -22 -23 -23 -21 -21 -24 -26 -28 -28 -29 -31 -34 -36 -36 -33 -30 -28 -27 -27 -29 -32 -34 -34 -33 -30 -29 -31 -34 -37 -37 -32 -30 -31 -36 -36 -35 -35 -34 -33 -30 -27 -25 -26 -27 -27 -28 -28 -29 -26 -23 -21 -20 -23 -22 -21 -22 -23 -23 -21 -23 -25 -24 -20 -16 -14 -14 -15 -16 -16 -14 -11 -10 -15 -16 -15 -14 -15 -15 -15 -14 -14 -13 -13 -13 -12 -12 -12 -12 -13 -15 -16 -16 -17 -18 -18 -19 -19 -19 -19 -20 -21 -22 -25 -27 -27 -24 -22 -23 -24 -27 -27 -27 -27 -27 -26 -25 -25 -25 -26 -25 -24 -23 -22 -20 -19 -18 -18 -18 -20 -21 -22 -23 -25 -24 -25 -25 -25 -25 -26 -27 -27 -25 -21 -18 -18 -18 -19 -21 -20 -18 -17 -17 -18 -20 -23 -26 -26 -26 -24 -23 -22 -4 -5 -7 -8 -8 -7 -6 -4 -2 -1 0 1 0 -0 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -7 -8 -9 -9 -10 -11 -11 -11 -10 -9 -7 -5 -4 -4 -4 -5 -6 -6 -7 -7 -7 -9 -11 -14 -16 -19 -19 -18 -15 -11 -9 -9 -9 -7 -4 -3 -2 -1 -0 -0 -0 0 1 1 2 2 2 2 1 1 1 1 2 2 3 3 3 4 5 6 7 8 7 4 -1 -6 -9 -11 -12 -13 -11 -10 -9 -12 -15 -16 -14 -9 -3 2 3 2 -2 -3 -1 0 -1 -4 -4 -1 4 9 10 3 -7 -16 -20 -15 -10 -11 -16 -26 -28 -24 -17 -11 -7 -5 -2 1 4 4 1 -0 -2 -3 -6 -5 -5 -8 -18 -32 -39 -38 -28 -16 -12 -13 -14 -13 -11 -10 -9 -10 -11 -13 -14 -15 -14 -12 -8 -6 -4 -3 -4 -5 -6 -5 -5 -5 -3 1 5 7 4 -0 -5 -10 -17 -23 -25 -25 -27 -30 -33 -34 -31 -24 -12 -2 -0 -1 -3 -4 -7 -12 -18 -24 -26 -21 -17 -14 -14 -13 -12 -10 -9 -8 -5 -2 0 0 -0 -2 -6 -9 -10 -11 -15 -20 -25 -28 -26 -22 -18 -16 -17 -17 -17 -17 -19 -21 -23 -26 -29 -31 -27 -22 -20 -20 -22 -22 -23 -23 -22 -18 -18 -20 -21 -20 -20 -23 -25 -26 -27 -27 -28 -31 -33 -35 -33 -30 -27 -26 -26 -27 -29 -31 -33 -35 -34 -32 -31 -33 -36 -38 -36 -34 -34 -36 -37 -37 -36 -36 -35 -34 -31 -28 -27 -27 -27 -28 -28 -29 -28 -25 -22 -20 -22 -21 -21 -21 -22 -22 -21 -22 -24 -25 -21 -19 -16 -15 -15 -17 -17 -15 -12 -9 -11 -13 -13 -13 -15 -14 -13 -12 -12 -12 -12 -13 -13 -13 -12 -13 -14 -14 -14 -15 -16 -17 -18 -19 -19 -20 -20 -20 -21 -22 -24 -26 -26 -25 -23 -22 -23 -27 -27 -26 -26 -26 -25 -24 -24 -24 -25 -25 -24 -24 -23 -22 -21 -19 -18 -18 -18 -21 -21 -22 -24 -24 -25 -26 -26 -25 -26 -26 -27 -26 -23 -21 -18 -17 -17 -20 -20 -18 -17 -16 -17 -20 -23 -25 -25 -26 -25 -23 -22 -5 -7 -8 -8 -8 -7 -5 -3 -1 0 0 -0 -1 -1 -1 -1 -1 -1 -2 -3 -4 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -12 -11 -10 -8 -6 -5 -5 -5 -6 -6 -7 -7 -7 -8 -8 -9 -12 -15 -18 -19 -19 -17 -14 -10 -9 -9 -9 -7 -4 -2 -2 -1 -0 -0 -0 0 0 1 1 2 2 3 3 3 3 3 3 4 4 4 3 3 4 5 6 7 6 3 -1 -3 -5 -6 -6 -8 -9 -9 -9 -11 -14 -16 -18 -16 -11 -5 -1 0 -1 -3 -2 1 2 -0 -3 -3 0 6 12 12 6 -3 -12 -14 -13 -12 -12 -15 -19 -18 -15 -12 -9 -8 -6 -2 2 5 3 1 -1 -2 -3 -4 -5 -9 -18 -31 -40 -41 -33 -19 -12 -10 -9 -9 -9 -9 -10 -10 -11 -13 -16 -18 -18 -15 -10 -5 -3 -2 -3 -6 -7 -7 -5 -4 -4 -1 4 9 8 4 -1 -7 -15 -21 -20 -18 -17 -19 -22 -26 -28 -26 -19 -8 -3 -2 -2 -3 -7 -13 -20 -25 -25 -21 -18 -15 -14 -13 -12 -12 -11 -11 -9 -7 -5 -4 -2 -1 -2 -4 -5 -5 -9 -15 -22 -26 -25 -21 -20 -20 -22 -22 -21 -20 -19 -21 -24 -28 -30 -30 -25 -22 -20 -20 -21 -22 -24 -24 -22 -19 -18 -19 -19 -19 -20 -23 -24 -25 -24 -24 -25 -28 -30 -32 -32 -29 -27 -25 -25 -26 -27 -28 -29 -32 -34 -34 -33 -32 -33 -36 -39 -39 -37 -35 -37 -37 -37 -37 -38 -38 -36 -33 -31 -28 -28 -28 -28 -29 -29 -28 -26 -23 -22 -21 -20 -20 -20 -21 -21 -22 -24 -24 -23 -23 -21 -18 -17 -18 -18 -17 -13 -10 -11 -12 -12 -13 -13 -13 -12 -12 -12 -12 -12 -13 -13 -13 -13 -14 -15 -14 -13 -13 -15 -16 -17 -18 -19 -20 -20 -20 -21 -22 -23 -25 -26 -27 -26 -24 -23 -26 -27 -26 -26 -26 -25 -24 -24 -23 -24 -24 -24 -24 -23 -23 -22 -21 -19 -18 -18 -20 -21 -21 -23 -23 -24 -25 -25 -25 -25 -26 -27 -27 -26 -24 -21 -17 -16 -18 -19 -19 -19 -18 -18 -21 -23 -24 -24 -26 -25 -24 -23 -6 -8 -8 -8 -8 -6 -4 -1 -0 -1 -1 -2 -2 -1 -1 -1 -1 -2 -3 -4 -5 -5 -5 -6 -7 -8 -10 -10 -11 -12 -13 -12 -11 -9 -8 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -9 -11 -14 -18 -22 -23 -19 -15 -13 -11 -10 -9 -8 -7 -4 -2 -2 -2 -2 -2 -1 -1 -1 -0 1 1 2 2 3 4 4 4 5 5 5 5 5 4 5 5 6 6 5 2 -2 -4 -4 -2 -1 -2 -3 -4 -5 -8 -10 -13 -15 -17 -16 -13 -8 -4 -2 -3 -4 -2 1 3 0 -3 -4 -2 5 10 11 8 0 -8 -13 -13 -10 -6 -9 -10 -10 -9 -8 -8 -8 -6 -3 1 3 3 1 0 -1 -2 -4 -9 -16 -28 -37 -40 -34 -22 -14 -10 -8 -6 -6 -7 -8 -10 -12 -13 -17 -21 -23 -21 -13 -7 -2 -1 -2 -4 -6 -7 -7 -6 -5 -3 1 7 10 11 8 2 -7 -14 -17 -16 -15 -13 -16 -21 -26 -27 -23 -14 -7 -4 -4 -4 -9 -15 -21 -25 -24 -21 -18 -16 -14 -12 -12 -11 -12 -12 -12 -13 -13 -12 -9 -7 -6 -6 -5 -3 -4 -8 -13 -20 -21 -22 -23 -25 -27 -28 -27 -24 -22 -20 -22 -25 -28 -29 -25 -21 -20 -19 -20 -22 -23 -23 -22 -21 -19 -19 -19 -19 -20 -21 -23 -23 -21 -19 -21 -25 -28 -29 -30 -28 -27 -26 -25 -25 -25 -26 -26 -29 -32 -33 -33 -32 -32 -34 -36 -39 -38 -34 -34 -35 -37 -38 -40 -41 -40 -39 -36 -31 -29 -30 -30 -29 -31 -32 -31 -26 -23 -21 -19 -19 -19 -19 -20 -22 -23 -23 -25 -26 -25 -21 -18 -19 -19 -17 -14 -11 -12 -13 -15 -15 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -16 -16 -14 -12 -12 -13 -15 -16 -17 -18 -19 -19 -20 -21 -23 -24 -24 -26 -28 -28 -26 -23 -25 -27 -27 -27 -26 -25 -25 -24 -23 -23 -24 -24 -23 -23 -23 -22 -20 -19 -19 -19 -20 -21 -20 -21 -22 -23 -24 -25 -25 -25 -26 -27 -28 -28 -25 -22 -18 -15 -17 -18 -20 -20 -20 -20 -22 -23 -23 -23 -25 -25 -24 -23 -7 -8 -7 -8 -7 -5 -3 -1 -1 -2 -2 -2 -2 -1 -1 -1 -2 -3 -4 -5 -5 -5 -6 -6 -7 -8 -9 -9 -10 -11 -12 -12 -11 -10 -8 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -10 -12 -16 -22 -30 -34 -27 -19 -13 -11 -11 -9 -7 -6 -4 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 0 1 2 3 4 5 5 6 6 7 6 5 5 6 6 6 4 2 -1 -4 -4 -4 -2 -2 -1 0 2 1 -2 -6 -9 -11 -14 -15 -15 -15 -14 -11 -6 -4 -4 -3 1 2 -0 -3 -4 -3 2 7 10 8 -1 -9 -12 -8 -0 0 -2 -4 -4 -4 -5 -6 -8 -8 -6 -2 1 3 2 1 -0 -2 -6 -13 -24 -33 -36 -33 -24 -16 -11 -8 -6 -5 -5 -6 -8 -10 -13 -17 -22 -26 -27 -19 -11 -4 -1 -0 -1 -2 -3 -5 -7 -7 -6 -2 3 8 11 12 9 3 -3 -7 -10 -12 -12 -15 -20 -24 -26 -26 -20 -12 -7 -6 -7 -12 -17 -23 -26 -24 -21 -18 -17 -15 -13 -11 -11 -12 -13 -16 -18 -20 -19 -18 -16 -14 -11 -8 -4 -2 -3 -6 -11 -15 -19 -23 -26 -30 -33 -33 -30 -26 -20 -18 -20 -23 -25 -24 -21 -19 -18 -19 -22 -22 -21 -20 -20 -19 -20 -20 -20 -20 -21 -21 -21 -18 -16 -18 -21 -25 -27 -28 -27 -27 -27 -27 -25 -25 -25 -25 -27 -29 -31 -33 -34 -33 -33 -34 -36 -37 -33 -32 -32 -35 -38 -40 -42 -43 -43 -40 -34 -31 -31 -32 -31 -34 -35 -34 -28 -25 -21 -19 -19 -18 -19 -20 -21 -22 -22 -27 -28 -26 -22 -19 -18 -18 -17 -14 -13 -13 -15 -17 -18 -17 -16 -17 -16 -16 -17 -17 -17 -16 -16 -17 -18 -17 -15 -12 -12 -13 -14 -15 -16 -17 -18 -18 -18 -21 -23 -25 -25 -27 -29 -29 -27 -24 -26 -26 -26 -26 -26 -25 -24 -24 -23 -23 -23 -23 -23 -23 -24 -22 -21 -20 -19 -20 -20 -20 -20 -20 -21 -22 -23 -25 -26 -26 -26 -27 -27 -27 -26 -23 -20 -15 -16 -18 -20 -21 -21 -21 -22 -23 -23 -23 -25 -25 -24 -23 -7 -7 -7 -8 -7 -5 -3 -3 -2 -2 -2 -2 -1 -1 -2 -2 -3 -4 -4 -5 -5 -6 -6 -7 -7 -7 -7 -7 -8 -9 -10 -11 -11 -11 -10 -8 -8 -8 -9 -9 -9 -9 -9 -10 -11 -11 -12 -17 -27 -42 -56 -52 -43 -31 -20 -13 -9 -6 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -0 -0 1 2 3 4 5 6 7 8 9 8 7 5 6 7 6 3 -1 -6 -7 -6 -5 -3 -3 -3 -2 0 2 2 -2 -6 -9 -10 -12 -14 -17 -20 -23 -17 -9 -4 -3 -2 0 0 -1 -2 -3 -2 1 4 5 1 -4 -7 -4 4 6 5 4 3 3 1 -1 -3 -7 -9 -7 -4 -1 1 1 0 -0 -3 -9 -19 -27 -32 -31 -24 -17 -12 -9 -6 -6 -5 -5 -5 -6 -10 -16 -22 -28 -30 -25 -17 -9 -3 -0 1 2 1 -1 -5 -6 -7 -6 -3 3 8 12 14 12 6 2 -3 -9 -14 -16 -18 -20 -24 -26 -23 -17 -11 -9 -11 -16 -22 -26 -29 -26 -21 -18 -16 -15 -13 -11 -12 -14 -17 -19 -23 -25 -27 -26 -25 -23 -21 -18 -12 -6 -2 -2 -4 -9 -15 -20 -25 -28 -31 -33 -32 -28 -21 -17 -16 -17 -19 -21 -20 -18 -18 -20 -22 -22 -21 -20 -19 -19 -19 -19 -19 -20 -20 -20 -19 -18 -18 -18 -20 -24 -28 -28 -27 -27 -29 -29 -28 -27 -27 -26 -27 -28 -30 -33 -34 -34 -33 -34 -35 -36 -33 -32 -33 -34 -36 -38 -41 -44 -45 -43 -37 -33 -31 -32 -33 -37 -38 -36 -30 -26 -22 -19 -19 -19 -19 -19 -18 -19 -23 -28 -28 -24 -21 -20 -18 -16 -15 -14 -14 -14 -15 -18 -19 -17 -17 -18 -17 -18 -18 -18 -19 -18 -18 -19 -18 -18 -16 -14 -12 -13 -14 -15 -16 -17 -17 -18 -17 -19 -22 -25 -27 -28 -29 -30 -29 -27 -27 -26 -24 -24 -26 -25 -24 -24 -23 -23 -24 -24 -23 -23 -24 -23 -22 -21 -20 -20 -19 -19 -19 -19 -20 -21 -22 -25 -27 -27 -26 -26 -26 -27 -27 -26 -22 -16 -15 -16 -18 -20 -20 -21 -22 -23 -23 -23 -24 -25 -25 -24 -7 -7 -8 -7 -6 -5 -4 -4 -3 -2 -2 -1 -1 -2 -2 -3 -3 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -8 -9 -11 -11 -11 -10 -9 -9 -8 -8 -8 -8 -9 -10 -11 -12 -12 -12 -17 -27 -42 -59 -65 -62 -49 -31 -18 -11 -7 -4 -5 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -0 0 2 3 4 5 6 7 9 10 10 8 7 6 7 7 4 -1 -8 -10 -9 -6 -5 -4 -4 -3 -2 -1 1 -1 -4 -7 -9 -10 -12 -15 -21 -30 -28 -17 -5 1 -1 -0 -0 -0 -1 -1 -3 -3 -2 -1 -2 -4 -5 -2 5 8 8 8 9 8 5 3 1 -1 -5 -8 -9 -8 -4 -1 1 1 -0 -5 -13 -21 -26 -28 -24 -18 -13 -9 -7 -7 -8 -6 -4 -1 -4 -12 -20 -27 -31 -29 -22 -14 -7 -3 -0 2 4 4 0 -3 -6 -8 -7 -3 1 7 13 16 11 6 1 -6 -14 -17 -18 -18 -19 -21 -21 -18 -14 -12 -17 -22 -29 -34 -35 -27 -20 -15 -13 -13 -12 -12 -13 -16 -20 -23 -27 -30 -33 -34 -34 -33 -32 -30 -22 -14 -7 -3 -3 -4 -8 -13 -18 -22 -27 -31 -31 -27 -22 -18 -16 -16 -17 -18 -17 -17 -17 -19 -22 -22 -21 -20 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -19 -20 -21 -23 -24 -24 -26 -29 -31 -31 -30 -30 -28 -29 -29 -30 -32 -34 -35 -34 -34 -35 -36 -34 -34 -34 -34 -35 -37 -41 -44 -46 -46 -41 -36 -32 -32 -34 -38 -39 -35 -31 -27 -24 -21 -20 -20 -19 -18 -17 -20 -24 -26 -26 -23 -22 -21 -18 -15 -13 -13 -14 -14 -15 -17 -18 -17 -17 -18 -19 -18 -18 -18 -19 -18 -18 -18 -18 -18 -17 -15 -13 -13 -14 -15 -16 -16 -17 -17 -16 -17 -20 -23 -26 -28 -30 -32 -31 -29 -29 -27 -24 -24 -25 -25 -25 -24 -23 -23 -25 -25 -23 -24 -24 -24 -24 -23 -22 -21 -20 -18 -18 -19 -20 -20 -21 -23 -25 -26 -26 -26 -26 -28 -28 -27 -24 -18 -14 -14 -16 -19 -19 -21 -22 -23 -23 -23 -24 -25 -25 -25 -7 -8 -8 -7 -6 -5 -5 -5 -4 -3 -2 -2 -1 -1 -2 -3 -4 -4 -4 -4 -4 -5 -6 -6 -6 -5 -5 -5 -6 -8 -9 -10 -10 -10 -10 -9 -9 -8 -8 -8 -8 -9 -10 -11 -12 -12 -13 -17 -23 -33 -47 -60 -63 -53 -33 -17 -11 -8 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -1 -1 0 1 3 3 4 6 7 9 10 10 10 8 6 6 6 4 -0 -7 -10 -10 -8 -7 -5 -3 -3 -3 -4 -3 -3 -4 -6 -8 -10 -11 -13 -19 -29 -32 -23 -9 3 3 1 0 1 1 0 -2 -4 -5 -5 -6 -7 -6 -3 3 7 8 9 11 11 9 6 3 0 -2 -6 -11 -13 -10 -3 -0 1 -0 -3 -8 -14 -20 -24 -23 -19 -14 -11 -9 -7 -9 -9 -7 -3 -1 -5 -13 -22 -28 -29 -25 -19 -11 -6 -3 1 4 7 5 1 -4 -7 -9 -8 -5 0 6 11 10 8 4 -3 -12 -17 -18 -17 -15 -15 -16 -16 -15 -17 -23 -29 -35 -40 -39 -29 -19 -12 -9 -10 -10 -11 -12 -15 -21 -26 -30 -33 -37 -40 -41 -42 -41 -38 -31 -21 -13 -8 -5 -5 -6 -8 -12 -16 -23 -28 -30 -27 -23 -19 -16 -15 -15 -16 -17 -16 -17 -20 -23 -24 -23 -21 -18 -16 -16 -17 -17 -16 -15 -16 -17 -17 -18 -19 -19 -19 -19 -21 -23 -26 -30 -31 -31 -31 -32 -31 -31 -30 -30 -31 -33 -35 -35 -35 -35 -35 -35 -36 -36 -36 -37 -38 -41 -44 -45 -47 -44 -40 -38 -37 -36 -38 -38 -34 -30 -28 -26 -25 -23 -21 -20 -19 -19 -20 -23 -25 -25 -25 -24 -22 -19 -15 -12 -11 -12 -13 -15 -17 -18 -18 -18 -19 -19 -18 -18 -18 -20 -18 -17 -17 -17 -17 -18 -16 -14 -13 -13 -14 -15 -16 -17 -17 -15 -15 -17 -20 -25 -27 -30 -31 -31 -30 -30 -28 -24 -24 -24 -24 -24 -25 -24 -24 -25 -25 -23 -24 -24 -24 -24 -24 -23 -22 -20 -19 -19 -19 -20 -21 -21 -22 -23 -25 -27 -27 -27 -28 -29 -29 -26 -20 -16 -14 -15 -18 -20 -21 -22 -22 -24 -24 -24 -24 -25 -24 -7 -8 -8 -7 -6 -6 -6 -6 -5 -4 -3 -2 -1 -2 -2 -3 -4 -3 -3 -3 -4 -5 -6 -6 -5 -5 -5 -5 -6 -8 -9 -9 -9 -9 -9 -9 -8 -8 -7 -8 -8 -8 -9 -10 -11 -13 -14 -16 -19 -23 -30 -42 -46 -39 -23 -13 -10 -8 -6 -4 -5 -5 -5 -4 -4 -4 -4 -4 -3 -2 -1 0 1 2 3 4 5 7 8 10 11 11 9 7 5 4 3 1 -5 -9 -10 -9 -8 -6 -2 -1 -2 -5 -7 -7 -7 -7 -8 -9 -10 -12 -16 -23 -29 -25 -15 -1 3 2 1 1 1 0 -2 -4 -5 -5 -6 -7 -6 -4 1 5 7 9 11 12 12 9 5 1 -2 -6 -11 -14 -13 -6 -2 -1 -2 -3 -5 -8 -13 -18 -21 -18 -15 -13 -11 -10 -10 -10 -11 -10 -7 -5 -5 -10 -18 -25 -25 -22 -15 -9 -6 -3 1 7 9 7 2 -4 -9 -11 -9 -5 -2 2 5 7 7 3 -5 -13 -16 -17 -14 -11 -12 -13 -15 -17 -23 -29 -34 -39 -40 -32 -22 -13 -9 -9 -9 -9 -9 -12 -19 -25 -30 -34 -36 -40 -43 -45 -45 -41 -34 -25 -16 -10 -8 -8 -7 -7 -8 -11 -18 -24 -26 -26 -23 -20 -16 -14 -13 -14 -16 -17 -18 -21 -23 -24 -24 -22 -19 -17 -16 -17 -16 -15 -15 -15 -16 -17 -18 -18 -18 -18 -18 -21 -23 -26 -29 -30 -30 -31 -33 -33 -33 -32 -32 -32 -31 -33 -34 -35 -35 -35 -37 -38 -39 -37 -39 -40 -42 -44 -44 -47 -45 -43 -44 -44 -40 -38 -35 -31 -29 -29 -29 -29 -26 -23 -22 -22 -20 -21 -24 -25 -25 -26 -25 -23 -19 -15 -12 -10 -10 -11 -13 -17 -20 -20 -20 -20 -19 -18 -18 -20 -21 -18 -17 -16 -17 -17 -18 -18 -16 -14 -13 -14 -15 -16 -17 -17 -16 -15 -14 -17 -23 -26 -28 -28 -27 -28 -29 -28 -25 -25 -24 -24 -24 -25 -24 -24 -24 -24 -23 -23 -23 -24 -24 -24 -23 -22 -21 -21 -20 -20 -20 -21 -21 -22 -23 -25 -27 -27 -28 -29 -30 -30 -28 -24 -20 -16 -15 -17 -20 -22 -22 -22 -24 -24 -24 -24 -24 -23 -8 -8 -7 -6 -7 -7 -7 -6 -5 -4 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -5 -4 -4 -4 -5 -6 -7 -8 -9 -8 -8 -8 -8 -8 -7 -7 -7 -8 -8 -8 -8 -9 -10 -12 -13 -15 -15 -16 -19 -26 -26 -21 -12 -10 -9 -7 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -3 -2 -1 0 1 2 3 4 6 8 9 11 12 11 8 5 3 1 0 -3 -8 -10 -10 -8 -6 -2 -0 -1 -4 -9 -11 -11 -10 -9 -8 -10 -12 -15 -20 -24 -25 -21 -11 -3 0 1 0 -0 -1 -3 -4 -5 -4 -4 -5 -5 -4 -1 4 7 9 11 13 13 12 8 3 -2 -6 -10 -14 -15 -9 -5 -4 -6 -7 -6 -6 -7 -12 -16 -16 -14 -12 -12 -11 -11 -11 -12 -13 -14 -12 -8 -6 -11 -18 -21 -20 -15 -9 -6 -5 -2 3 9 10 8 1 -6 -11 -12 -11 -8 -5 -1 3 7 7 2 -6 -12 -15 -13 -10 -10 -12 -15 -16 -20 -24 -28 -32 -33 -29 -22 -15 -9 -8 -9 -8 -9 -11 -17 -23 -29 -34 -37 -39 -42 -44 -44 -41 -34 -25 -17 -11 -8 -9 -9 -8 -7 -8 -13 -18 -21 -22 -21 -19 -17 -15 -14 -14 -15 -16 -17 -20 -22 -23 -23 -22 -20 -19 -18 -19 -17 -17 -16 -15 -16 -17 -18 -18 -17 -17 -18 -20 -23 -25 -29 -31 -31 -32 -34 -35 -35 -36 -36 -34 -30 -31 -34 -36 -36 -35 -37 -40 -41 -39 -39 -41 -43 -45 -45 -46 -46 -45 -47 -47 -43 -38 -35 -34 -31 -30 -32 -34 -29 -25 -24 -23 -22 -22 -24 -25 -24 -25 -24 -22 -19 -16 -13 -11 -9 -8 -10 -15 -20 -22 -21 -20 -19 -18 -19 -20 -20 -18 -17 -17 -17 -17 -20 -20 -19 -17 -15 -14 -15 -16 -17 -19 -18 -16 -13 -13 -20 -25 -27 -26 -24 -26 -27 -27 -26 -25 -24 -24 -24 -24 -24 -24 -24 -23 -23 -23 -23 -23 -24 -24 -23 -23 -22 -23 -21 -20 -20 -21 -22 -22 -23 -25 -26 -27 -29 -29 -30 -31 -30 -28 -25 -21 -17 -17 -20 -22 -23 -23 -24 -24 -24 -24 -23 -22 -8 -8 -7 -7 -8 -9 -9 -8 -6 -4 -2 -2 -2 -2 -3 -3 -3 -2 -3 -4 -4 -4 -3 -3 -3 -4 -6 -7 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -7 -8 -8 -8 -8 -8 -9 -10 -12 -14 -15 -16 -16 -18 -17 -13 -9 -10 -9 -6 -4 -3 -3 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 0 1 2 3 6 8 10 11 12 10 7 3 1 -1 -4 -9 -11 -10 -8 -5 -2 -0 -1 -5 -10 -13 -14 -14 -13 -10 -9 -11 -15 -18 -20 -23 -24 -19 -10 -5 -2 -2 -3 -4 -6 -6 -6 -4 -3 -3 -4 -3 -1 3 6 9 11 14 15 15 13 9 3 -3 -8 -13 -15 -11 -8 -8 -11 -12 -9 -7 -5 -6 -10 -12 -12 -11 -10 -10 -11 -12 -14 -15 -19 -19 -15 -10 -10 -13 -16 -16 -13 -7 -5 -4 -4 -1 4 8 9 5 -0 -6 -10 -11 -11 -10 -7 -3 2 5 5 1 -5 -10 -11 -9 -9 -12 -15 -15 -17 -19 -20 -21 -23 -23 -21 -16 -11 -9 -9 -9 -10 -13 -18 -23 -29 -33 -37 -39 -40 -41 -41 -39 -34 -27 -20 -12 -8 -8 -8 -9 -9 -9 -10 -13 -16 -16 -16 -16 -16 -16 -16 -16 -15 -15 -16 -18 -20 -21 -22 -21 -20 -20 -21 -21 -21 -19 -18 -16 -16 -17 -18 -18 -17 -17 -18 -20 -22 -25 -29 -31 -32 -33 -34 -35 -36 -38 -40 -39 -34 -32 -34 -37 -37 -36 -37 -39 -40 -39 -39 -40 -42 -44 -44 -45 -45 -45 -47 -48 -44 -39 -35 -37 -36 -32 -31 -34 -31 -28 -26 -26 -25 -23 -24 -24 -24 -25 -25 -23 -20 -17 -14 -12 -9 -7 -7 -12 -18 -21 -21 -20 -19 -19 -19 -20 -19 -19 -18 -18 -18 -18 -20 -21 -21 -19 -18 -16 -15 -15 -17 -20 -20 -18 -14 -12 -16 -21 -25 -25 -23 -25 -26 -25 -23 -24 -23 -23 -25 -24 -23 -23 -23 -23 -24 -23 -23 -23 -24 -24 -24 -23 -23 -23 -22 -20 -19 -20 -21 -21 -22 -23 -25 -27 -28 -29 -30 -31 -31 -30 -28 -24 -21 -19 -20 -22 -24 -24 -24 -24 -24 -23 -22 -22 -8 -8 -8 -9 -10 -10 -10 -8 -5 -3 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -1 -2 -3 -4 -6 -8 -9 -9 -9 -8 -6 -6 -6 -6 -6 -6 -7 -8 -8 -8 -8 -7 -7 -8 -11 -15 -18 -20 -20 -17 -15 -14 -14 -12 -8 -5 -4 -4 -3 -4 -4 -4 -5 -4 -4 -4 -4 -4 -3 -2 -2 -1 0 1 0 0 2 4 7 10 11 11 9 6 3 0 -5 -10 -12 -12 -9 -4 -1 -1 -3 -7 -11 -13 -14 -14 -14 -12 -10 -11 -15 -20 -21 -23 -24 -22 -16 -10 -5 -3 -4 -6 -7 -8 -7 -5 -4 -2 -2 -2 -1 1 4 7 10 13 15 17 17 16 12 5 -2 -9 -12 -11 -11 -13 -16 -16 -14 -11 -6 -3 -5 -7 -8 -8 -7 -8 -10 -12 -14 -17 -22 -24 -22 -17 -13 -13 -13 -12 -9 -5 -3 -3 -4 -2 1 4 6 6 3 -2 -7 -10 -11 -11 -11 -8 -4 -1 -0 -1 -3 -5 -7 -6 -8 -11 -15 -16 -15 -15 -13 -13 -15 -19 -20 -18 -14 -10 -10 -10 -11 -15 -20 -25 -29 -33 -36 -37 -37 -37 -37 -35 -33 -29 -24 -16 -10 -8 -8 -9 -10 -10 -9 -9 -10 -11 -12 -14 -16 -18 -20 -19 -17 -15 -15 -16 -19 -20 -20 -20 -20 -21 -22 -22 -22 -21 -19 -18 -16 -16 -18 -19 -19 -17 -18 -20 -23 -26 -29 -31 -31 -32 -33 -35 -37 -39 -40 -40 -37 -34 -33 -34 -35 -36 -35 -35 -37 -38 -37 -37 -39 -41 -42 -43 -44 -44 -45 -47 -43 -38 -33 -36 -35 -33 -30 -31 -30 -29 -29 -29 -29 -25 -23 -23 -24 -26 -26 -25 -21 -17 -14 -12 -10 -7 -6 -10 -14 -18 -19 -20 -19 -19 -20 -19 -19 -20 -20 -19 -18 -19 -20 -21 -22 -21 -20 -18 -16 -16 -17 -18 -19 -18 -15 -11 -12 -17 -23 -25 -23 -24 -25 -25 -23 -22 -22 -23 -25 -24 -23 -23 -23 -23 -24 -23 -23 -23 -23 -24 -24 -24 -24 -23 -22 -21 -20 -20 -21 -21 -21 -22 -24 -26 -28 -29 -30 -32 -33 -32 -30 -27 -24 -22 -21 -22 -26 -25 -24 -24 -25 -24 -22 -21 -9 -9 -9 -10 -12 -12 -10 -7 -4 -2 -1 -1 -2 -2 -3 -3 -3 -2 -2 -2 -2 -1 -1 -2 -2 -4 -7 -9 -10 -10 -9 -8 -7 -6 -5 -5 -5 -6 -7 -7 -6 -7 -8 -7 -8 -10 -15 -18 -19 -18 -15 -14 -16 -17 -16 -11 -6 -4 -5 -5 -4 -4 -4 -4 -3 -3 -2 -3 -4 -4 -3 -2 -1 -0 1 1 0 -1 -2 -0 2 5 7 9 8 7 5 3 -1 -7 -11 -13 -13 -7 -3 -2 -5 -8 -12 -14 -15 -15 -14 -12 -11 -11 -12 -15 -19 -23 -25 -24 -20 -13 -8 -6 -6 -7 -8 -8 -7 -4 -3 -3 -2 -1 -1 -0 1 3 6 8 12 16 19 20 19 15 9 2 -4 -7 -11 -16 -19 -19 -18 -15 -11 -5 -4 -5 -6 -6 -6 -7 -8 -11 -14 -18 -24 -28 -28 -22 -17 -15 -13 -12 -9 -3 -1 -1 -3 -3 -0 1 3 3 2 -0 -4 -7 -9 -9 -10 -9 -8 -6 -5 -6 -7 -8 -8 -6 -7 -9 -14 -16 -16 -13 -11 -10 -12 -17 -21 -22 -18 -13 -10 -10 -11 -15 -22 -28 -31 -33 -33 -33 -33 -33 -32 -31 -30 -29 -26 -20 -14 -12 -10 -9 -10 -11 -10 -9 -8 -10 -12 -13 -15 -19 -22 -21 -18 -16 -14 -16 -18 -19 -19 -19 -19 -20 -22 -23 -22 -21 -21 -21 -18 -18 -19 -21 -22 -20 -19 -21 -24 -26 -28 -29 -30 -31 -32 -33 -36 -38 -39 -38 -36 -34 -33 -32 -33 -34 -34 -33 -34 -34 -33 -34 -36 -37 -38 -40 -41 -40 -43 -44 -41 -36 -33 -33 -32 -31 -31 -30 -29 -29 -29 -29 -29 -26 -24 -23 -24 -25 -26 -24 -22 -18 -16 -13 -10 -8 -7 -9 -11 -14 -16 -18 -19 -19 -19 -18 -19 -20 -21 -20 -19 -19 -19 -20 -21 -22 -21 -19 -18 -17 -18 -18 -17 -17 -15 -12 -10 -13 -20 -23 -22 -23 -25 -25 -24 -23 -23 -23 -23 -23 -23 -22 -22 -22 -23 -23 -23 -22 -23 -23 -24 -25 -25 -24 -23 -22 -21 -21 -21 -21 -21 -22 -24 -25 -27 -28 -30 -33 -34 -33 -31 -28 -27 -25 -22 -22 -26 -26 -25 -24 -26 -26 -23 -22 -10 -10 -11 -12 -13 -12 -10 -6 -3 -1 -1 -1 -2 -2 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -5 -7 -8 -8 -8 -8 -8 -6 -5 -4 -4 -5 -6 -6 -6 -6 -6 -6 -7 -9 -14 -18 -19 -18 -15 -12 -13 -14 -15 -14 -10 -9 -9 -8 -7 -6 -4 -3 -3 -2 -2 -2 -2 -3 -3 -3 -2 -1 0 1 1 0 -2 -3 -2 -1 1 2 4 4 4 4 4 4 -1 -7 -12 -15 -11 -6 -5 -6 -8 -11 -13 -15 -16 -15 -13 -12 -11 -11 -11 -14 -18 -22 -23 -21 -16 -11 -8 -7 -8 -9 -8 -6 -3 -4 -4 -3 -1 0 1 1 2 3 3 5 10 17 22 23 22 19 14 8 1 -7 -14 -19 -19 -18 -17 -14 -9 -5 -4 -5 -7 -8 -8 -8 -8 -11 -16 -23 -29 -30 -26 -20 -17 -15 -13 -11 -5 -1 0 -1 -2 -2 -1 -0 0 -1 -2 -3 -5 -7 -7 -7 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -11 -13 -15 -15 -13 -11 -9 -11 -16 -21 -25 -22 -16 -12 -10 -10 -15 -22 -29 -32 -33 -31 -29 -28 -27 -27 -27 -27 -28 -27 -23 -17 -13 -12 -11 -10 -11 -11 -12 -10 -10 -10 -11 -13 -19 -23 -23 -20 -16 -14 -16 -18 -18 -18 -18 -18 -19 -22 -23 -22 -22 -23 -24 -21 -20 -21 -23 -24 -22 -22 -23 -24 -26 -27 -28 -29 -31 -31 -32 -35 -37 -37 -37 -34 -33 -32 -32 -32 -32 -32 -33 -33 -32 -32 -33 -35 -35 -37 -38 -38 -37 -39 -40 -38 -36 -34 -32 -30 -29 -30 -29 -29 -28 -28 -27 -26 -25 -24 -24 -24 -24 -23 -22 -21 -19 -17 -15 -12 -9 -8 -7 -10 -13 -15 -17 -19 -19 -18 -18 -20 -21 -21 -21 -19 -19 -19 -20 -20 -22 -21 -20 -19 -18 -19 -19 -17 -15 -15 -12 -10 -11 -16 -21 -22 -23 -26 -26 -24 -24 -23 -23 -22 -23 -23 -23 -22 -21 -21 -21 -22 -22 -22 -23 -24 -25 -26 -26 -24 -22 -22 -22 -23 -22 -22 -22 -23 -24 -25 -27 -30 -32 -33 -32 -30 -28 -28 -27 -24 -21 -24 -26 -26 -25 -26 -26 -24 -23 -10 -11 -12 -13 -13 -12 -8 -5 -2 -2 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -3 -3 -4 -6 -8 -8 -8 -8 -8 -7 -5 -4 -4 -5 -5 -5 -5 -5 -5 -4 -5 -6 -10 -15 -19 -18 -15 -12 -9 -9 -10 -11 -13 -13 -15 -15 -13 -9 -7 -5 -3 -1 -1 -2 -3 -3 -3 -2 -2 -1 -1 0 0 1 -0 -2 -3 -3 -2 -1 -0 -1 -1 -1 0 3 5 4 -1 -7 -12 -11 -10 -9 -9 -9 -9 -10 -14 -17 -17 -14 -13 -11 -10 -9 -10 -13 -17 -20 -20 -17 -14 -11 -10 -10 -8 -6 -4 -3 -3 -4 -4 -2 1 2 2 2 1 -1 -1 2 8 16 21 23 23 21 18 11 2 -6 -13 -15 -15 -15 -14 -13 -9 -6 -6 -8 -11 -10 -7 -6 -7 -11 -17 -23 -27 -27 -25 -20 -16 -14 -14 -9 -3 1 1 -1 -2 -3 -2 -2 -3 -4 -4 -5 -6 -6 -6 -7 -8 -10 -11 -11 -11 -9 -10 -12 -13 -13 -13 -15 -16 -15 -14 -12 -14 -19 -24 -26 -24 -19 -15 -11 -10 -13 -20 -27 -31 -31 -28 -26 -24 -23 -22 -23 -24 -25 -26 -25 -20 -15 -12 -12 -12 -11 -12 -12 -12 -11 -10 -10 -10 -15 -20 -21 -19 -15 -12 -14 -15 -17 -18 -18 -17 -18 -20 -21 -21 -21 -22 -23 -21 -21 -22 -24 -24 -23 -23 -23 -24 -25 -27 -28 -29 -31 -32 -32 -34 -35 -37 -35 -32 -31 -31 -33 -32 -31 -31 -33 -34 -33 -33 -35 -38 -38 -39 -39 -38 -37 -35 -35 -36 -35 -35 -31 -28 -26 -28 -28 -28 -28 -27 -26 -25 -24 -23 -23 -23 -23 -22 -21 -20 -21 -20 -17 -14 -11 -8 -7 -9 -13 -17 -19 -20 -19 -17 -17 -19 -20 -21 -21 -19 -19 -19 -18 -19 -21 -21 -20 -19 -18 -18 -18 -17 -16 -16 -13 -10 -9 -12 -18 -21 -24 -26 -26 -25 -25 -24 -23 -21 -22 -23 -23 -22 -20 -19 -20 -21 -22 -21 -22 -23 -24 -26 -26 -25 -23 -23 -22 -22 -22 -22 -22 -23 -23 -24 -27 -29 -31 -31 -30 -29 -28 -29 -29 -26 -22 -23 -25 -26 -25 -25 -25 -25 -24 -10 -11 -12 -13 -13 -11 -7 -4 -2 -1 -1 -1 -1 -1 -2 -1 -1 -2 -3 -3 -2 -3 -4 -3 -4 -5 -7 -7 -7 -8 -8 -7 -5 -4 -4 -6 -7 -7 -6 -4 -3 -3 -4 -7 -11 -15 -17 -16 -13 -9 -6 -6 -7 -9 -11 -13 -17 -18 -16 -10 -7 -5 -3 -2 -1 -3 -4 -4 -4 -2 -1 -0 -0 -1 -1 -1 -2 -3 -4 -3 -1 0 1 -1 -4 -4 -3 0 2 4 3 -1 -6 -9 -11 -12 -12 -11 -8 -9 -13 -17 -18 -16 -13 -11 -9 -8 -8 -10 -13 -16 -17 -17 -16 -15 -16 -14 -10 -5 -2 -2 -2 -3 -4 -3 -0 2 3 2 1 -2 -4 -5 -2 4 11 16 20 23 23 19 11 2 -7 -10 -11 -12 -13 -14 -12 -9 -9 -11 -16 -14 -8 -2 -1 -4 -7 -13 -19 -25 -27 -22 -17 -13 -13 -10 -5 0 3 1 -1 -3 -2 -2 -4 -5 -5 -6 -7 -6 -5 -5 -7 -9 -12 -14 -13 -10 -8 -10 -13 -15 -15 -15 -16 -17 -16 -16 -18 -23 -27 -29 -25 -19 -15 -13 -13 -15 -19 -24 -28 -28 -26 -24 -23 -22 -21 -21 -21 -23 -25 -25 -22 -17 -14 -13 -13 -13 -12 -12 -12 -12 -11 -10 -10 -12 -15 -17 -17 -15 -13 -14 -15 -16 -17 -17 -17 -17 -18 -18 -18 -19 -21 -22 -20 -20 -22 -24 -23 -23 -23 -23 -24 -25 -28 -30 -31 -31 -31 -32 -32 -32 -34 -34 -32 -31 -30 -32 -31 -31 -31 -33 -35 -35 -36 -37 -40 -41 -42 -42 -41 -38 -32 -30 -32 -33 -32 -30 -27 -25 -26 -27 -28 -28 -27 -26 -24 -23 -22 -22 -22 -23 -23 -22 -22 -23 -23 -21 -17 -14 -9 -6 -8 -14 -19 -21 -21 -20 -17 -17 -18 -19 -20 -20 -19 -19 -18 -18 -19 -20 -21 -20 -20 -18 -17 -17 -17 -18 -17 -15 -12 -10 -11 -16 -20 -23 -25 -25 -26 -25 -24 -22 -21 -22 -22 -22 -21 -20 -20 -20 -21 -22 -21 -21 -21 -23 -24 -25 -25 -24 -23 -23 -23 -22 -22 -22 -22 -22 -23 -26 -27 -29 -29 -28 -28 -27 -29 -29 -27 -24 -23 -24 -24 -24 -24 -24 -24 -24 -9 -10 -12 -14 -13 -10 -7 -3 -1 0 1 0 -1 -2 -3 -3 -3 -3 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -6 -8 -9 -7 -5 -3 -2 -4 -7 -11 -15 -15 -12 -10 -7 -5 -5 -6 -8 -9 -12 -15 -15 -13 -9 -6 -6 -5 -4 -2 -3 -4 -5 -6 -3 -1 -0 -1 -1 -2 -3 -3 -3 -3 -3 -2 0 2 1 -2 -4 -3 -2 -1 -0 1 1 -2 -7 -10 -12 -14 -14 -11 -11 -14 -18 -19 -16 -12 -10 -7 -6 -6 -8 -11 -14 -15 -15 -16 -19 -24 -23 -15 -6 0 1 -0 -2 -3 -3 -1 1 3 2 1 -1 -4 -7 -8 -6 -2 3 10 17 22 22 17 9 1 -5 -7 -9 -10 -12 -12 -11 -11 -13 -20 -21 -15 -5 2 2 -1 -6 -13 -22 -28 -26 -20 -14 -11 -9 -5 -0 4 4 1 -0 -0 -0 -2 -4 -6 -7 -8 -7 -6 -5 -6 -9 -13 -16 -17 -13 -7 -7 -10 -13 -13 -13 -14 -15 -17 -18 -20 -24 -28 -29 -24 -18 -14 -12 -13 -16 -19 -21 -24 -26 -26 -26 -25 -24 -22 -20 -20 -21 -24 -25 -23 -20 -16 -13 -15 -14 -13 -11 -12 -12 -11 -11 -10 -11 -14 -16 -16 -16 -15 -15 -15 -16 -17 -16 -16 -16 -15 -14 -16 -19 -21 -21 -19 -19 -21 -22 -21 -22 -23 -24 -25 -26 -28 -30 -31 -31 -31 -31 -30 -29 -29 -31 -31 -30 -29 -30 -30 -30 -31 -32 -34 -36 -37 -38 -39 -42 -44 -45 -44 -39 -32 -29 -30 -31 -32 -31 -28 -25 -25 -26 -27 -27 -26 -25 -24 -23 -23 -21 -21 -22 -23 -24 -25 -26 -26 -24 -22 -17 -12 -7 -7 -12 -19 -22 -22 -21 -18 -17 -17 -18 -19 -19 -19 -18 -17 -18 -20 -21 -21 -21 -20 -19 -17 -16 -17 -19 -18 -17 -15 -13 -12 -15 -18 -21 -23 -24 -25 -25 -23 -23 -22 -22 -22 -22 -22 -21 -20 -20 -21 -21 -20 -19 -20 -22 -23 -23 -24 -24 -24 -24 -23 -23 -22 -21 -21 -21 -22 -23 -25 -27 -27 -26 -27 -27 -28 -29 -28 -25 -24 -23 -22 -21 -23 -23 -23 -23 -8 -10 -12 -14 -13 -9 -5 -1 1 1 0 -0 -1 -2 -3 -4 -3 -2 -3 -4 -5 -6 -8 -8 -8 -8 -7 -6 -5 -3 -1 -2 -8 -10 -9 -7 -8 -9 -7 -5 -4 -4 -5 -8 -11 -15 -14 -11 -7 -6 -5 -6 -7 -7 -8 -10 -12 -11 -9 -6 -5 -6 -7 -6 -4 -4 -3 -4 -5 -4 -2 -2 -1 -1 -2 -4 -4 -3 -3 -3 -3 -2 0 2 1 -2 -3 -3 -3 -4 -2 -1 -1 -5 -10 -13 -14 -16 -15 -16 -18 -20 -18 -14 -11 -8 -6 -4 -5 -7 -11 -14 -14 -14 -15 -21 -31 -33 -23 -9 2 4 3 0 -1 -2 -1 1 2 2 1 -1 -3 -5 -8 -10 -11 -9 -4 5 14 18 18 13 7 1 -3 -6 -7 -9 -10 -10 -11 -13 -19 -24 -22 -14 -3 2 3 -0 -8 -18 -26 -26 -22 -16 -10 -8 -6 -3 2 4 3 2 1 0 -2 -4 -6 -8 -9 -8 -6 -6 -7 -10 -15 -20 -22 -19 -10 -5 -5 -7 -10 -9 -10 -12 -16 -19 -21 -23 -25 -26 -23 -17 -12 -10 -11 -15 -18 -21 -24 -26 -27 -27 -28 -28 -27 -23 -21 -21 -22 -24 -23 -22 -19 -15 -15 -15 -14 -12 -11 -11 -12 -11 -11 -12 -13 -14 -15 -16 -16 -16 -17 -17 -16 -16 -15 -14 -13 -12 -15 -18 -20 -19 -18 -19 -19 -21 -21 -23 -24 -26 -26 -25 -27 -29 -30 -31 -31 -31 -29 -28 -28 -29 -29 -29 -28 -29 -29 -29 -30 -31 -32 -35 -37 -38 -39 -42 -45 -46 -45 -39 -33 -30 -30 -31 -34 -33 -30 -26 -24 -25 -25 -25 -25 -24 -24 -25 -25 -23 -21 -21 -22 -23 -26 -27 -27 -27 -26 -22 -17 -11 -7 -8 -15 -20 -22 -22 -19 -17 -16 -16 -17 -18 -19 -18 -18 -18 -20 -20 -20 -20 -21 -20 -18 -17 -17 -19 -18 -18 -17 -15 -14 -14 -16 -20 -22 -24 -25 -24 -23 -24 -23 -23 -23 -22 -22 -22 -21 -20 -21 -20 -19 -18 -19 -20 -22 -23 -23 -24 -25 -24 -24 -24 -23 -22 -21 -21 -21 -22 -24 -25 -25 -24 -25 -27 -27 -28 -28 -26 -25 -24 -23 -22 -22 -23 -23 -23 -8 -11 -12 -13 -11 -7 -2 1 1 0 -1 -1 -2 -2 -3 -4 -4 -2 -2 -3 -4 -7 -10 -11 -11 -10 -9 -7 -4 -1 1 -2 -10 -13 -12 -8 -7 -7 -4 -3 -4 -6 -7 -8 -11 -14 -16 -12 -8 -5 -6 -7 -7 -7 -7 -9 -11 -10 -9 -8 -6 -6 -7 -8 -7 -6 -4 -3 -2 -3 -3 -4 -4 -4 -4 -5 -6 -5 -3 -1 -0 -0 1 3 6 4 1 -4 -8 -9 -7 -5 -5 -8 -11 -13 -14 -16 -18 -20 -22 -23 -19 -13 -9 -6 -3 -2 -3 -6 -10 -14 -15 -13 -15 -21 -32 -39 -32 -16 1 6 5 3 2 1 1 1 1 1 1 0 -0 -2 -4 -8 -12 -14 -14 -8 2 9 12 12 9 4 -0 -3 -4 -6 -8 -10 -11 -12 -16 -23 -26 -23 -14 -2 3 2 -4 -13 -19 -22 -21 -17 -11 -6 -4 -3 -1 2 4 4 4 4 1 -2 -4 -6 -9 -10 -9 -8 -9 -12 -17 -22 -26 -25 -17 -8 -4 -3 -5 -6 -6 -8 -12 -16 -19 -21 -22 -23 -20 -16 -13 -10 -10 -13 -17 -22 -25 -29 -30 -30 -31 -32 -33 -29 -24 -20 -19 -20 -19 -19 -19 -16 -14 -14 -14 -13 -12 -11 -11 -12 -13 -13 -14 -14 -15 -17 -17 -18 -18 -17 -16 -16 -15 -14 -13 -12 -14 -17 -18 -17 -18 -18 -19 -21 -23 -24 -26 -27 -26 -24 -25 -26 -28 -30 -30 -30 -30 -30 -30 -30 -30 -29 -28 -28 -28 -28 -29 -30 -31 -33 -36 -38 -39 -41 -45 -48 -47 -39 -34 -32 -32 -32 -33 -33 -32 -29 -25 -24 -24 -24 -24 -23 -24 -26 -28 -27 -23 -21 -21 -22 -24 -25 -27 -28 -29 -26 -22 -16 -10 -5 -11 -18 -22 -22 -20 -18 -15 -14 -15 -17 -18 -18 -17 -19 -19 -19 -19 -20 -21 -21 -19 -18 -17 -19 -18 -18 -18 -17 -15 -15 -16 -19 -20 -23 -24 -24 -23 -24 -23 -23 -22 -22 -23 -22 -20 -19 -20 -19 -18 -18 -18 -19 -21 -22 -23 -24 -25 -25 -24 -24 -23 -22 -22 -21 -21 -21 -23 -24 -24 -24 -24 -26 -27 -27 -27 -26 -26 -26 -24 -23 -24 -23 -22 -21 -9 -11 -13 -12 -9 -4 -0 2 1 -1 -1 -2 -2 -2 -3 -4 -4 -3 -2 -3 -4 -6 -9 -11 -11 -11 -10 -8 -2 1 -0 -6 -10 -10 -10 -10 -10 -8 -4 -2 -3 -6 -6 -6 -8 -12 -16 -14 -10 -6 -5 -5 -6 -6 -7 -8 -10 -10 -9 -8 -7 -7 -8 -9 -10 -8 -5 -3 -3 -4 -4 -5 -5 -6 -7 -8 -8 -9 -8 -5 -1 2 3 4 6 7 5 1 -6 -9 -9 -7 -6 -9 -13 -15 -16 -17 -20 -23 -26 -27 -24 -15 -7 -3 -1 -0 -2 -5 -9 -13 -16 -16 -17 -22 -32 -38 -35 -22 -5 5 6 5 4 4 4 3 2 1 1 1 2 2 0 -3 -8 -13 -15 -14 -7 -1 4 6 6 4 1 -1 -2 -4 -7 -9 -10 -10 -13 -19 -25 -27 -22 -10 -1 2 -1 -8 -13 -16 -16 -16 -13 -7 -4 -3 -4 -0 3 6 8 9 6 3 -0 -4 -7 -11 -12 -12 -12 -14 -18 -23 -28 -30 -23 -15 -7 -2 -2 -3 -4 -5 -8 -13 -17 -19 -20 -20 -18 -16 -14 -13 -11 -13 -17 -22 -27 -31 -34 -34 -34 -35 -38 -38 -32 -22 -14 -13 -12 -13 -15 -17 -17 -16 -16 -15 -14 -13 -12 -13 -14 -15 -15 -15 -16 -17 -17 -18 -18 -17 -17 -16 -16 -14 -12 -11 -12 -15 -17 -17 -19 -19 -21 -22 -24 -25 -26 -27 -27 -25 -25 -25 -26 -29 -28 -29 -30 -31 -31 -30 -29 -29 -28 -27 -26 -26 -27 -30 -31 -32 -34 -36 -37 -39 -45 -50 -49 -41 -36 -34 -34 -33 -32 -33 -34 -32 -27 -24 -23 -23 -24 -23 -24 -27 -28 -29 -26 -24 -23 -24 -22 -23 -26 -29 -30 -28 -25 -20 -13 -7 -11 -16 -21 -22 -21 -19 -16 -14 -14 -17 -18 -18 -18 -19 -19 -20 -20 -20 -21 -22 -21 -20 -18 -18 -19 -19 -18 -17 -16 -16 -16 -18 -18 -20 -22 -23 -22 -23 -23 -23 -22 -20 -22 -21 -20 -18 -19 -19 -18 -18 -18 -19 -21 -22 -22 -25 -26 -25 -24 -24 -23 -23 -22 -21 -21 -21 -22 -23 -23 -23 -24 -24 -25 -26 -27 -28 -28 -27 -25 -25 -24 -24 -23 -22 -9 -11 -12 -11 -7 -3 0 1 0 -1 -1 -1 -2 -4 -4 -4 -4 -3 -3 -2 -2 -3 -6 -8 -9 -10 -10 -6 -1 -0 -3 -7 -7 -7 -8 -10 -11 -8 -4 -2 -2 -6 -6 -5 -6 -10 -13 -11 -8 -5 -4 -5 -6 -7 -6 -7 -8 -9 -9 -9 -8 -9 -9 -10 -10 -8 -6 -4 -4 -5 -6 -6 -7 -7 -9 -10 -11 -12 -13 -12 -9 -5 -1 2 3 3 3 2 -2 -5 -5 -4 -5 -8 -11 -14 -17 -19 -22 -25 -29 -32 -32 -20 -7 2 3 1 -1 -4 -8 -13 -17 -18 -21 -26 -32 -34 -32 -24 -12 0 4 6 5 5 4 3 2 1 0 2 3 4 4 1 -3 -8 -11 -11 -10 -7 -3 -0 1 1 0 -1 -2 -3 -6 -9 -11 -11 -11 -15 -20 -25 -25 -16 -7 -1 -1 -6 -11 -12 -12 -13 -12 -8 -5 -3 -4 -3 0 4 9 11 10 8 4 1 -4 -9 -12 -14 -14 -16 -19 -23 -26 -30 -26 -18 -10 -3 0 0 -1 -3 -6 -10 -13 -15 -17 -17 -16 -16 -15 -15 -15 -16 -18 -23 -28 -33 -37 -37 -36 -36 -41 -43 -39 -28 -15 -13 -11 -10 -11 -16 -17 -17 -16 -16 -15 -14 -13 -14 -15 -16 -16 -17 -17 -17 -16 -17 -17 -18 -17 -17 -17 -15 -13 -11 -12 -14 -15 -17 -19 -20 -21 -21 -23 -24 -27 -29 -31 -30 -29 -28 -26 -28 -27 -27 -29 -30 -30 -29 -29 -28 -28 -27 -26 -26 -27 -29 -30 -32 -33 -34 -34 -38 -43 -47 -48 -44 -40 -37 -36 -34 -33 -33 -34 -34 -30 -27 -25 -24 -24 -23 -24 -25 -27 -29 -29 -28 -27 -28 -24 -24 -26 -30 -30 -29 -27 -23 -16 -10 -11 -14 -18 -22 -21 -19 -17 -15 -14 -16 -18 -18 -18 -19 -19 -20 -20 -20 -21 -22 -22 -21 -20 -19 -19 -19 -18 -17 -17 -17 -17 -18 -16 -18 -20 -22 -22 -22 -23 -23 -22 -20 -20 -20 -20 -18 -17 -18 -18 -18 -18 -19 -20 -22 -23 -25 -24 -24 -23 -23 -23 -23 -23 -22 -21 -21 -21 -22 -22 -23 -24 -24 -23 -26 -27 -29 -30 -29 -26 -25 -25 -24 -24 -23 -8 -11 -11 -10 -5 -1 1 1 0 0 -0 -1 -3 -7 -7 -6 -4 -3 -2 -1 -2 -3 -4 -5 -6 -7 -6 -3 -1 -2 -5 -7 -5 -5 -7 -9 -9 -5 -3 -3 -4 -5 -4 -4 -6 -9 -10 -7 -4 -3 -3 -5 -8 -9 -8 -6 -7 -8 -9 -9 -8 -9 -10 -10 -10 -8 -6 -5 -5 -5 -6 -7 -7 -8 -9 -10 -11 -12 -14 -15 -14 -11 -7 -2 0 -1 -2 -2 -3 -4 -3 -1 -2 -4 -8 -12 -17 -20 -23 -26 -30 -35 -38 -27 -11 2 6 3 0 -4 -8 -13 -16 -19 -24 -28 -31 -29 -27 -23 -16 -5 1 5 6 6 5 4 2 1 -0 1 2 4 5 4 1 -2 -4 -5 -7 -8 -6 -3 -1 -1 -2 -3 -3 -3 -5 -8 -11 -12 -12 -14 -17 -21 -23 -19 -12 -6 -3 -5 -9 -10 -10 -10 -10 -8 -5 -3 -4 -5 -3 -0 5 10 12 11 9 6 1 -4 -8 -11 -13 -16 -19 -22 -25 -27 -25 -19 -11 -3 0 1 1 -1 -5 -7 -8 -10 -12 -13 -14 -14 -14 -16 -18 -20 -23 -27 -30 -34 -37 -39 -39 -38 -41 -42 -38 -28 -16 -14 -12 -8 -5 -8 -13 -16 -17 -16 -16 -15 -15 -15 -15 -15 -15 -15 -17 -17 -16 -16 -17 -17 -17 -17 -17 -17 -15 -14 -14 -14 -13 -16 -18 -20 -21 -22 -24 -26 -28 -31 -33 -33 -32 -31 -29 -28 -27 -26 -26 -27 -29 -30 -30 -29 -29 -29 -28 -28 -28 -29 -30 -31 -32 -33 -34 -36 -40 -43 -44 -46 -44 -41 -37 -35 -34 -34 -34 -34 -31 -29 -27 -26 -24 -23 -22 -23 -24 -27 -28 -29 -30 -31 -27 -26 -27 -29 -29 -29 -28 -25 -19 -13 -11 -11 -14 -19 -20 -20 -19 -17 -15 -16 -18 -19 -19 -18 -19 -19 -19 -19 -21 -22 -22 -22 -20 -20 -19 -18 -18 -17 -18 -18 -18 -17 -16 -16 -18 -20 -21 -22 -23 -23 -23 -21 -20 -20 -20 -18 -16 -16 -16 -17 -18 -19 -20 -22 -24 -24 -23 -23 -24 -23 -24 -24 -24 -22 -22 -21 -21 -21 -22 -23 -25 -25 -24 -25 -27 -30 -31 -30 -26 -25 -25 -25 -24 -22 -8 -10 -10 -7 -3 -1 0 1 1 1 0 -2 -6 -9 -8 -6 -4 -3 -2 -2 -3 -4 -5 -5 -5 -4 -3 -2 -2 -3 -5 -6 -5 -6 -7 -7 -5 -3 -3 -4 -5 -4 -3 -4 -7 -9 -8 -4 -2 -2 -4 -5 -7 -8 -7 -6 -6 -7 -9 -9 -9 -9 -10 -10 -10 -8 -7 -6 -5 -5 -5 -6 -6 -7 -8 -9 -10 -11 -11 -12 -13 -13 -10 -6 -3 -3 -5 -7 -8 -8 -5 -2 0 0 -3 -9 -15 -20 -22 -25 -29 -33 -38 -31 -16 -3 4 4 1 -4 -10 -13 -15 -18 -23 -28 -27 -24 -22 -20 -18 -10 -3 2 5 6 6 5 3 1 -1 -1 -0 2 4 4 3 2 1 1 -2 -5 -5 -4 -1 -0 -1 -3 -4 -4 -5 -8 -10 -12 -12 -14 -16 -18 -19 -17 -14 -10 -6 -5 -7 -8 -9 -9 -9 -7 -5 -4 -3 -4 -5 -4 -2 4 9 11 11 9 6 2 -2 -6 -10 -13 -18 -22 -25 -25 -22 -17 -10 -4 -0 3 3 1 -4 -7 -7 -7 -8 -9 -10 -11 -12 -14 -18 -23 -28 -32 -34 -35 -37 -39 -41 -43 -41 -37 -32 -23 -16 -15 -12 -8 -5 -6 -8 -12 -16 -17 -16 -16 -16 -17 -17 -16 -15 -15 -15 -16 -16 -17 -16 -15 -16 -17 -17 -17 -16 -16 -15 -15 -13 -14 -16 -19 -21 -23 -26 -28 -30 -31 -33 -34 -34 -33 -31 -29 -28 -27 -26 -26 -28 -30 -31 -31 -31 -30 -30 -29 -29 -29 -30 -31 -32 -33 -33 -34 -36 -39 -43 -46 -47 -44 -39 -36 -35 -35 -34 -32 -31 -30 -29 -27 -25 -23 -22 -22 -23 -26 -27 -28 -29 -30 -28 -28 -29 -29 -29 -28 -28 -26 -22 -17 -11 -8 -8 -15 -19 -21 -22 -20 -17 -17 -18 -19 -20 -19 -19 -19 -18 -18 -20 -21 -22 -22 -20 -20 -19 -19 -18 -18 -18 -19 -19 -17 -16 -17 -18 -19 -20 -22 -23 -23 -22 -21 -20 -20 -20 -18 -16 -15 -15 -17 -18 -19 -20 -22 -24 -23 -23 -24 -24 -24 -25 -25 -25 -23 -22 -21 -20 -20 -21 -23 -25 -25 -24 -24 -27 -30 -32 -31 -27 -25 -25 -25 -23 -22 -9 -10 -8 -5 -1 -0 -0 0 1 0 -1 -4 -7 -10 -8 -6 -3 -3 -2 -3 -5 -6 -7 -6 -5 -3 -2 -3 -3 -4 -5 -6 -6 -6 -6 -5 -3 -3 -4 -4 -4 -3 -3 -5 -7 -8 -5 -3 -2 -3 -3 -3 -4 -5 -6 -5 -6 -8 -9 -9 -9 -10 -10 -10 -9 -8 -7 -6 -6 -5 -5 -6 -6 -6 -7 -8 -8 -8 -8 -8 -9 -10 -10 -8 -6 -5 -6 -8 -10 -12 -11 -7 -1 3 0 -5 -12 -18 -21 -22 -24 -27 -32 -29 -21 -11 -3 0 -1 -6 -11 -15 -15 -17 -20 -24 -23 -20 -18 -18 -18 -13 -6 -1 3 4 4 4 3 1 -1 -2 -3 -2 -0 1 1 1 2 3 1 -1 -3 -2 -1 1 0 -2 -4 -4 -6 -7 -9 -10 -11 -13 -15 -16 -16 -15 -14 -12 -9 -6 -6 -7 -8 -9 -9 -8 -7 -5 -3 -4 -5 -6 -6 -3 3 7 10 10 9 7 3 -1 -5 -9 -15 -19 -23 -22 -19 -15 -11 -7 -3 1 4 3 -1 -4 -6 -6 -6 -7 -8 -9 -11 -14 -18 -23 -30 -36 -39 -40 -40 -42 -45 -48 -39 -29 -22 -18 -18 -16 -13 -11 -10 -8 -8 -10 -14 -16 -16 -16 -17 -18 -19 -18 -16 -15 -15 -15 -16 -16 -14 -11 -15 -16 -15 -15 -15 -14 -14 -14 -13 -13 -15 -18 -21 -24 -27 -29 -31 -31 -33 -36 -37 -36 -34 -31 -29 -27 -27 -27 -29 -30 -31 -32 -31 -31 -31 -30 -29 -29 -30 -31 -32 -33 -33 -32 -32 -35 -40 -44 -46 -45 -42 -39 -37 -36 -34 -32 -31 -30 -29 -28 -26 -24 -22 -22 -23 -26 -27 -27 -27 -29 -29 -30 -30 -29 -28 -27 -26 -25 -23 -19 -13 -8 -6 -12 -17 -22 -24 -23 -19 -18 -19 -20 -19 -19 -19 -19 -18 -18 -20 -22 -23 -23 -21 -20 -19 -20 -19 -19 -19 -19 -19 -19 -18 -18 -18 -18 -19 -21 -22 -22 -20 -19 -19 -19 -20 -17 -15 -14 -14 -15 -18 -19 -21 -22 -23 -23 -23 -24 -24 -24 -24 -25 -25 -24 -22 -21 -21 -20 -20 -22 -23 -24 -23 -23 -26 -29 -31 -31 -27 -25 -25 -24 -23 -23 -8 -8 -6 -4 -1 -1 -0 -0 -0 -1 -3 -5 -6 -8 -8 -5 -3 -1 -2 -5 -9 -11 -10 -7 -5 -3 -3 -3 -4 -4 -4 -6 -7 -7 -5 -4 -3 -3 -3 -3 -3 -4 -4 -6 -7 -6 -4 -4 -4 -4 -1 2 -1 -4 -6 -5 -6 -8 -10 -10 -10 -10 -10 -9 -9 -8 -7 -7 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -6 -6 -6 -6 -6 -9 -12 -14 -12 -6 1 1 -2 -9 -16 -19 -20 -19 -19 -22 -24 -22 -17 -11 -7 -6 -8 -13 -17 -16 -16 -16 -18 -19 -17 -16 -15 -16 -14 -9 -4 -0 1 2 2 2 2 1 -1 -3 -4 -4 -3 -3 -2 0 2 2 1 0 -1 -0 1 1 -1 -2 -3 -5 -7 -8 -9 -9 -10 -13 -15 -15 -13 -13 -13 -12 -8 -6 -6 -6 -8 -9 -9 -8 -7 -5 -4 -4 -5 -7 -6 -3 0 4 6 6 5 3 1 -1 -4 -9 -14 -18 -18 -17 -15 -12 -9 -7 -3 2 4 2 -2 -5 -6 -5 -5 -7 -9 -12 -15 -19 -24 -30 -35 -40 -44 -47 -48 -47 -41 -29 -20 -17 -19 -19 -18 -16 -13 -12 -10 -9 -10 -11 -13 -15 -16 -17 -18 -18 -17 -16 -16 -15 -14 -14 -13 -10 -11 -14 -15 -15 -14 -13 -13 -13 -13 -12 -12 -14 -17 -20 -22 -26 -29 -31 -31 -34 -37 -40 -40 -39 -36 -33 -29 -27 -27 -28 -29 -30 -31 -30 -31 -31 -31 -30 -30 -30 -31 -32 -32 -32 -30 -30 -32 -36 -40 -44 -46 -44 -42 -38 -35 -33 -31 -31 -30 -30 -28 -27 -25 -23 -22 -22 -25 -27 -27 -27 -30 -31 -30 -29 -27 -26 -26 -25 -24 -22 -20 -17 -12 -8 -10 -16 -21 -24 -23 -21 -20 -20 -19 -19 -19 -19 -20 -20 -20 -21 -22 -23 -23 -22 -21 -20 -20 -19 -19 -19 -19 -19 -19 -19 -19 -18 -19 -18 -20 -21 -20 -18 -18 -18 -18 -19 -17 -16 -14 -13 -14 -16 -19 -21 -22 -22 -23 -23 -23 -23 -23 -23 -24 -24 -23 -22 -22 -22 -21 -20 -20 -21 -22 -22 -22 -24 -27 -29 -29 -27 -25 -24 -24 -23 -24 -8 -8 -6 -4 -2 -1 -1 -1 -1 -2 -3 -5 -6 -6 -7 -4 -1 0 -2 -7 -13 -16 -14 -7 -4 -3 -4 -3 -3 -3 -4 -6 -7 -6 -6 -5 -4 -3 -2 -2 -3 -4 -5 -6 -6 -5 -5 -7 -7 -4 2 5 1 -3 -5 -5 -8 -10 -11 -11 -11 -10 -9 -8 -8 -7 -6 -6 -6 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -6 -5 -5 -4 -4 -5 -5 -4 -4 -4 -7 -11 -13 -10 -4 -0 -2 -6 -13 -17 -18 -16 -13 -13 -16 -18 -19 -17 -14 -12 -12 -16 -20 -18 -15 -13 -14 -17 -16 -14 -12 -13 -13 -10 -6 -3 -1 -0 -0 -0 1 2 1 -1 -4 -5 -6 -5 -4 -3 -1 -1 0 1 -0 -0 0 0 -0 -1 -2 -3 -5 -7 -8 -7 -9 -11 -13 -14 -13 -12 -12 -12 -10 -8 -6 -5 -6 -7 -8 -9 -9 -7 -5 -4 -4 -5 -6 -7 -5 -3 -2 -3 -3 -3 -1 -1 -2 -5 -8 -11 -13 -15 -15 -14 -12 -12 -8 -3 2 3 0 -3 -4 -4 -4 -6 -9 -13 -17 -21 -25 -30 -34 -39 -48 -52 -49 -39 -29 -23 -19 -18 -19 -19 -18 -17 -14 -12 -11 -9 -8 -8 -10 -13 -16 -17 -18 -16 -15 -15 -17 -17 -12 -11 -10 -9 -12 -14 -15 -15 -15 -13 -12 -12 -12 -12 -13 -15 -18 -20 -22 -25 -28 -29 -31 -34 -38 -41 -43 -43 -42 -38 -33 -29 -28 -28 -29 -29 -29 -30 -31 -32 -33 -32 -31 -30 -30 -31 -30 -30 -30 -30 -31 -33 -36 -41 -46 -46 -43 -39 -34 -32 -30 -29 -29 -29 -27 -26 -25 -24 -22 -21 -23 -26 -28 -28 -30 -30 -29 -27 -27 -26 -25 -24 -23 -21 -21 -20 -17 -13 -11 -15 -20 -22 -23 -23 -23 -22 -19 -19 -20 -21 -22 -22 -22 -22 -23 -23 -23 -23 -22 -21 -21 -20 -19 -18 -18 -18 -18 -19 -19 -19 -19 -19 -19 -19 -18 -17 -17 -17 -17 -17 -16 -16 -15 -13 -14 -16 -18 -20 -21 -22 -22 -22 -21 -22 -22 -23 -23 -23 -22 -22 -23 -23 -21 -20 -19 -19 -20 -20 -21 -23 -25 -27 -27 -25 -24 -23 -23 -23 -23 -8 -7 -6 -4 -3 -2 -2 -1 -1 -2 -3 -5 -6 -5 -5 -3 -0 0 -3 -9 -15 -17 -14 -8 -4 -4 -4 -3 -2 -3 -5 -6 -6 -6 -7 -7 -5 -3 -2 -2 -4 -4 -4 -5 -5 -6 -8 -11 -8 -2 5 5 1 -3 -4 -6 -9 -11 -12 -12 -12 -11 -9 -8 -7 -6 -6 -6 -6 -5 -4 -4 -4 -4 -5 -5 -4 -4 -5 -6 -6 -6 -4 -3 -3 -4 -4 -4 -3 -3 -5 -7 -7 -4 -2 -3 -6 -11 -15 -16 -16 -14 -10 -9 -11 -14 -17 -17 -17 -17 -18 -19 -18 -15 -12 -12 -16 -15 -12 -10 -10 -11 -10 -8 -5 -3 -1 -1 -2 -2 -0 1 0 -2 -3 -5 -5 -4 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -3 -5 -7 -7 -8 -9 -12 -13 -12 -11 -11 -11 -12 -10 -8 -6 -5 -5 -7 -8 -9 -8 -7 -5 -5 -5 -7 -9 -9 -8 -6 -5 -5 -5 -3 -1 -1 -2 -5 -8 -10 -12 -13 -14 -14 -14 -12 -8 -3 -1 -0 -1 -2 -2 -3 -5 -8 -12 -17 -22 -27 -31 -35 -40 -47 -49 -45 -33 -25 -21 -19 -18 -17 -18 -18 -17 -14 -13 -12 -10 -8 -6 -8 -11 -14 -16 -18 -16 -14 -14 -17 -18 -12 -9 -10 -10 -13 -14 -15 -15 -15 -14 -13 -13 -14 -14 -14 -15 -16 -16 -20 -24 -27 -28 -29 -32 -37 -41 -44 -44 -44 -42 -38 -33 -31 -30 -30 -29 -28 -30 -32 -33 -34 -33 -31 -30 -29 -28 -28 -28 -29 -30 -31 -31 -34 -39 -44 -45 -44 -40 -35 -31 -28 -28 -28 -27 -26 -25 -25 -24 -22 -20 -21 -24 -28 -27 -28 -28 -27 -25 -26 -25 -25 -24 -23 -20 -20 -19 -18 -16 -12 -14 -18 -20 -22 -24 -25 -24 -21 -21 -22 -23 -23 -23 -23 -23 -23 -23 -23 -23 -23 -23 -22 -21 -20 -19 -17 -17 -17 -18 -19 -20 -19 -18 -17 -18 -17 -16 -16 -16 -16 -16 -15 -15 -15 -13 -13 -15 -17 -19 -20 -22 -22 -21 -20 -20 -21 -22 -22 -23 -22 -22 -23 -24 -22 -21 -20 -20 -19 -19 -20 -21 -22 -24 -25 -25 -23 -23 -23 -22 -23 -8 -8 -7 -6 -5 -4 -2 -1 -0 -1 -3 -5 -6 -4 -2 0 1 -0 -4 -9 -12 -14 -12 -8 -5 -4 -3 -4 -3 -4 -5 -6 -5 -6 -7 -7 -5 -2 -2 -3 -4 -4 -4 -5 -6 -8 -11 -13 -8 -0 6 4 0 -2 -4 -6 -9 -11 -12 -12 -12 -11 -9 -8 -7 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -4 -5 -7 -8 -8 -6 -4 -3 -3 -5 -6 -6 -4 -3 -3 -2 -0 0 -2 -5 -9 -12 -14 -14 -13 -11 -9 -9 -11 -13 -16 -19 -20 -18 -16 -15 -14 -12 -12 -16 -16 -13 -9 -7 -8 -9 -8 -7 -5 -2 -1 -1 -3 -3 -3 -2 -1 -1 -3 -4 -4 -3 -3 -5 -5 -5 -3 -2 -2 -2 -3 -3 -1 -0 -1 -3 -6 -6 -7 -8 -10 -12 -12 -11 -10 -10 -11 -11 -10 -8 -5 -4 -5 -7 -8 -9 -8 -7 -6 -6 -7 -10 -12 -12 -9 -7 -6 -5 -5 -3 -2 -2 -2 -4 -8 -10 -11 -11 -11 -12 -13 -12 -9 -5 -3 -1 0 1 -1 -3 -6 -10 -15 -20 -26 -31 -35 -39 -43 -43 -40 -33 -26 -21 -17 -15 -15 -16 -17 -17 -15 -13 -12 -11 -11 -9 -8 -9 -11 -14 -16 -15 -14 -14 -16 -16 -12 -10 -11 -14 -15 -15 -16 -16 -15 -14 -14 -14 -14 -15 -15 -15 -16 -16 -18 -21 -23 -25 -28 -31 -36 -40 -42 -43 -44 -44 -41 -38 -35 -33 -32 -30 -29 -30 -31 -33 -34 -33 -30 -27 -26 -24 -24 -26 -28 -31 -32 -31 -33 -37 -41 -44 -45 -42 -36 -32 -29 -29 -28 -26 -26 -26 -25 -25 -24 -22 -21 -23 -26 -24 -24 -24 -24 -24 -24 -23 -23 -24 -24 -20 -18 -17 -17 -15 -14 -15 -17 -18 -22 -25 -26 -25 -22 -22 -23 -24 -24 -24 -24 -24 -23 -22 -23 -24 -24 -23 -22 -22 -21 -20 -18 -17 -17 -17 -17 -19 -19 -18 -16 -17 -17 -16 -16 -15 -15 -15 -15 -15 -15 -14 -13 -13 -15 -18 -19 -20 -21 -21 -19 -19 -20 -21 -22 -23 -22 -21 -21 -24 -23 -22 -21 -21 -19 -19 -20 -21 -20 -22 -24 -24 -23 -23 -23 -23 -23 -8 -8 -8 -8 -7 -4 -1 1 1 0 -3 -6 -6 -3 1 3 1 -2 -5 -7 -9 -9 -8 -6 -5 -3 -3 -5 -7 -6 -5 -5 -4 -5 -7 -7 -4 -2 -2 -3 -5 -4 -4 -5 -7 -8 -10 -9 -5 1 5 2 -0 -2 -4 -6 -8 -11 -12 -12 -12 -11 -10 -8 -7 -6 -5 -5 -6 -7 -7 -6 -5 -3 -2 -2 -3 -5 -6 -8 -9 -10 -9 -7 -4 -4 -5 -6 -8 -7 -5 -2 0 3 3 1 -3 -6 -9 -10 -10 -10 -9 -9 -10 -12 -14 -17 -19 -19 -16 -12 -11 -11 -12 -13 -16 -17 -14 -10 -6 -6 -7 -8 -8 -7 -4 -1 0 -1 -4 -5 -5 -3 -2 -2 -4 -5 -4 -2 -4 -5 -6 -6 -5 -4 -4 -3 -3 -2 -1 -1 -2 -4 -6 -6 -7 -9 -12 -13 -12 -10 -8 -8 -10 -11 -11 -7 -5 -5 -6 -8 -8 -8 -8 -8 -7 -7 -10 -13 -14 -13 -11 -8 -6 -5 -5 -5 -4 -3 -2 -4 -6 -8 -9 -9 -9 -11 -12 -11 -9 -6 -3 0 2 1 -1 -4 -6 -11 -16 -22 -28 -33 -36 -38 -40 -39 -36 -29 -21 -16 -14 -14 -15 -16 -17 -16 -14 -12 -10 -10 -9 -8 -8 -8 -10 -12 -13 -14 -14 -13 -13 -12 -12 -14 -18 -18 -17 -17 -16 -16 -15 -14 -14 -14 -15 -15 -15 -16 -16 -16 -18 -20 -24 -29 -33 -37 -39 -41 -42 -44 -44 -44 -42 -40 -37 -34 -32 -31 -30 -31 -32 -34 -32 -28 -25 -23 -21 -22 -23 -26 -29 -31 -31 -32 -35 -39 -43 -44 -42 -38 -34 -32 -30 -28 -27 -27 -27 -27 -27 -27 -27 -24 -22 -24 -22 -22 -23 -23 -23 -23 -21 -21 -22 -23 -22 -19 -17 -16 -15 -15 -15 -16 -18 -21 -23 -24 -24 -23 -23 -23 -24 -24 -25 -25 -24 -22 -22 -22 -23 -23 -23 -22 -22 -22 -21 -20 -19 -18 -17 -16 -18 -18 -18 -17 -17 -17 -17 -17 -16 -16 -15 -15 -15 -15 -15 -14 -13 -14 -16 -18 -19 -20 -20 -19 -18 -19 -20 -22 -23 -23 -21 -21 -23 -23 -22 -21 -20 -19 -20 -20 -21 -20 -21 -23 -23 -22 -22 -22 -23 -24 -9 -9 -9 -9 -8 -4 -0 2 2 0 -3 -4 -4 -1 2 3 1 -2 -4 -5 -7 -7 -6 -4 -3 -2 -3 -6 -7 -6 -4 -3 -4 -5 -6 -6 -4 -2 -2 -3 -5 -5 -5 -6 -7 -7 -6 -5 -3 -1 1 0 -1 -3 -4 -6 -9 -11 -12 -12 -12 -11 -9 -8 -7 -6 -5 -6 -7 -8 -8 -8 -6 -4 -2 -2 -3 -5 -6 -7 -8 -10 -11 -10 -9 -7 -6 -5 -6 -7 -6 -3 -0 3 4 3 2 -1 -5 -6 -6 -6 -6 -7 -9 -13 -18 -20 -19 -16 -11 -9 -8 -8 -10 -13 -17 -18 -16 -12 -7 -5 -6 -6 -7 -8 -6 -3 -0 1 -2 -4 -5 -5 -4 -4 -5 -6 -5 -3 -3 -4 -6 -8 -8 -7 -6 -4 -4 -3 -3 -2 -3 -4 -5 -5 -6 -8 -11 -13 -13 -10 -7 -6 -8 -11 -12 -10 -6 -5 -5 -7 -8 -8 -9 -9 -8 -8 -10 -13 -15 -17 -15 -12 -8 -5 -7 -8 -8 -6 -2 -1 -2 -4 -5 -5 -6 -8 -9 -10 -10 -8 -5 -1 2 2 1 -1 -3 -7 -10 -14 -19 -27 -31 -34 -37 -39 -37 -30 -23 -16 -14 -14 -15 -16 -16 -15 -14 -11 -9 -8 -10 -10 -9 -8 -7 -9 -13 -16 -17 -16 -16 -14 -13 -14 -20 -20 -19 -18 -17 -17 -16 -15 -14 -14 -15 -16 -16 -16 -15 -15 -16 -19 -24 -31 -36 -39 -40 -40 -42 -44 -46 -46 -45 -43 -41 -38 -34 -32 -31 -31 -31 -31 -30 -27 -24 -22 -21 -22 -23 -24 -27 -29 -30 -31 -32 -36 -41 -43 -43 -40 -37 -34 -32 -29 -28 -28 -29 -30 -30 -33 -33 -30 -25 -25 -24 -23 -22 -22 -21 -21 -20 -19 -20 -22 -22 -20 -18 -18 -18 -17 -16 -15 -17 -19 -21 -21 -23 -23 -23 -23 -23 -24 -25 -24 -23 -23 -23 -23 -22 -22 -22 -22 -22 -23 -22 -22 -21 -20 -19 -17 -17 -17 -18 -18 -18 -17 -17 -17 -17 -16 -16 -16 -16 -16 -16 -15 -14 -14 -16 -17 -18 -19 -20 -19 -18 -18 -19 -20 -23 -23 -22 -21 -22 -23 -23 -22 -19 -19 -20 -20 -20 -19 -21 -22 -21 -20 -21 -22 -23 -24 -11 -12 -11 -10 -7 -3 2 3 2 -0 -2 -2 -1 0 2 2 1 -1 -2 -4 -6 -6 -5 -3 -2 -2 -4 -6 -6 -4 -3 -3 -4 -6 -6 -6 -4 -3 -3 -3 -5 -7 -6 -6 -5 -4 -5 -4 -3 -3 -2 -1 -2 -4 -6 -8 -9 -11 -12 -12 -12 -11 -9 -8 -6 -6 -6 -7 -8 -9 -9 -8 -7 -5 -3 -2 -3 -4 -4 -5 -6 -8 -10 -11 -14 -14 -11 -5 -1 -2 -3 -3 -2 1 2 3 4 3 -1 -4 -4 -1 -1 -4 -7 -13 -21 -24 -19 -11 -5 -5 -5 -6 -8 -12 -16 -18 -18 -15 -10 -6 -4 -4 -5 -6 -6 -5 -2 0 0 -2 -4 -5 -5 -6 -6 -6 -5 -4 -3 -4 -5 -7 -8 -8 -7 -5 -4 -4 -4 -4 -3 -3 -4 -4 -5 -7 -12 -14 -14 -11 -7 -5 -6 -9 -12 -11 -7 -5 -4 -6 -8 -8 -9 -9 -8 -9 -10 -12 -15 -18 -19 -17 -13 -8 -8 -10 -12 -11 -7 -2 -0 -0 -1 -2 -3 -4 -6 -7 -8 -8 -6 -3 1 2 1 -1 -4 -7 -8 -8 -9 -16 -23 -29 -33 -34 -32 -27 -22 -17 -14 -14 -14 -15 -14 -14 -13 -12 -10 -9 -11 -12 -11 -9 -7 -9 -12 -16 -18 -18 -17 -13 -11 -13 -19 -21 -21 -20 -20 -20 -20 -18 -17 -17 -17 -17 -17 -15 -14 -13 -14 -17 -24 -31 -36 -39 -41 -41 -42 -44 -46 -48 -47 -46 -45 -41 -36 -33 -32 -31 -31 -28 -27 -26 -24 -23 -23 -23 -23 -24 -27 -28 -28 -29 -31 -33 -37 -41 -42 -41 -37 -34 -32 -30 -29 -29 -31 -33 -33 -35 -36 -34 -30 -28 -26 -23 -21 -20 -19 -19 -19 -18 -19 -20 -21 -20 -19 -20 -21 -20 -18 -16 -18 -19 -19 -19 -22 -22 -22 -22 -22 -24 -24 -24 -24 -24 -24 -24 -23 -23 -23 -22 -22 -23 -23 -22 -22 -22 -21 -19 -17 -17 -17 -18 -19 -18 -18 -18 -16 -16 -16 -16 -16 -17 -18 -17 -15 -14 -15 -16 -17 -19 -19 -18 -18 -18 -18 -19 -22 -23 -23 -21 -21 -23 -24 -23 -20 -20 -20 -21 -19 -19 -21 -22 -22 -21 -21 -21 -22 -22 -13 -14 -14 -11 -6 -1 2 2 0 -1 -1 -0 0 -0 -0 0 0 -0 -2 -3 -5 -5 -5 -4 -2 -3 -4 -4 -4 -3 -2 -3 -4 -6 -7 -6 -5 -4 -3 -4 -6 -8 -6 -4 -2 -3 -5 -6 -5 -4 -3 -2 -3 -5 -7 -9 -10 -11 -11 -12 -11 -11 -9 -8 -7 -7 -7 -8 -9 -10 -9 -8 -6 -5 -4 -3 -3 -3 -3 -3 -4 -5 -8 -12 -17 -20 -16 -8 0 2 1 -1 -1 0 1 1 2 4 -1 -4 -4 2 5 2 -4 -12 -22 -25 -18 -8 -1 -1 -3 -4 -6 -10 -14 -17 -19 -17 -13 -8 -4 -3 -3 -4 -4 -5 -4 -2 -0 -1 -2 -3 -4 -6 -7 -7 -5 -5 -5 -4 -5 -6 -7 -8 -7 -6 -5 -4 -5 -5 -5 -4 -4 -3 -3 -5 -11 -15 -16 -13 -8 -5 -5 -7 -10 -11 -9 -6 -4 -4 -6 -8 -9 -9 -9 -10 -11 -12 -13 -18 -22 -23 -20 -13 -11 -12 -14 -15 -12 -7 -3 -1 0 0 0 -1 -3 -5 -6 -6 -6 -4 -1 1 0 -2 -6 -9 -9 -9 -8 -11 -17 -23 -27 -27 -25 -22 -19 -16 -13 -12 -12 -13 -13 -13 -13 -12 -11 -11 -13 -12 -10 -9 -9 -10 -13 -16 -19 -20 -17 -12 -9 -11 -17 -19 -20 -20 -22 -23 -22 -21 -21 -21 -20 -19 -17 -14 -13 -13 -14 -17 -24 -31 -36 -39 -41 -42 -43 -45 -47 -49 -49 -48 -46 -43 -39 -35 -33 -31 -30 -28 -27 -26 -25 -24 -25 -25 -24 -25 -26 -27 -27 -27 -29 -31 -34 -38 -42 -44 -39 -35 -33 -33 -32 -31 -32 -33 -33 -36 -36 -35 -32 -28 -26 -23 -20 -18 -17 -17 -18 -18 -18 -19 -20 -20 -20 -22 -23 -22 -20 -17 -18 -19 -18 -18 -21 -21 -21 -21 -21 -24 -25 -25 -25 -25 -26 -26 -25 -24 -24 -23 -22 -22 -24 -23 -23 -22 -21 -20 -18 -18 -19 -20 -21 -20 -19 -18 -16 -16 -15 -16 -16 -17 -18 -17 -15 -15 -14 -15 -16 -18 -18 -18 -18 -18 -17 -19 -21 -22 -22 -20 -20 -21 -23 -24 -21 -21 -20 -20 -19 -19 -21 -23 -24 -22 -21 -21 -20 -20 -14 -16 -16 -12 -7 0 3 2 -1 -2 -0 1 1 -0 -2 -1 -0 -1 -1 -3 -4 -5 -5 -4 -3 -3 -3 -2 -1 -1 -2 -3 -5 -7 -7 -6 -5 -3 -4 -5 -7 -7 -5 -2 -1 -3 -7 -8 -7 -5 -3 -4 -5 -7 -8 -9 -9 -10 -11 -11 -11 -10 -9 -7 -6 -7 -8 -8 -9 -9 -9 -7 -6 -5 -5 -4 -3 -3 -3 -3 -4 -6 -9 -13 -18 -19 -16 -9 -2 -1 -1 -1 -0 1 1 1 1 1 -5 -9 -7 2 11 9 2 -8 -18 -23 -17 -8 -0 1 -1 -3 -5 -8 -12 -16 -18 -18 -16 -10 -5 -3 -2 -1 -1 -2 -4 -5 -4 -3 -2 -1 -2 -5 -7 -6 -5 -5 -5 -4 -4 -5 -6 -7 -7 -7 -5 -5 -5 -6 -6 -5 -4 -3 -3 -4 -9 -14 -17 -16 -11 -6 -4 -5 -8 -10 -10 -8 -6 -5 -5 -6 -8 -9 -9 -9 -10 -12 -13 -18 -24 -28 -27 -20 -14 -13 -14 -15 -15 -12 -9 -6 -3 -0 1 1 -0 -2 -4 -5 -5 -5 -4 -3 -3 -3 -5 -7 -9 -10 -11 -12 -15 -18 -21 -21 -17 -16 -15 -13 -10 -9 -9 -10 -11 -12 -12 -12 -12 -12 -12 -11 -10 -9 -10 -12 -14 -16 -19 -20 -17 -13 -11 -12 -15 -16 -18 -19 -22 -22 -22 -23 -24 -24 -23 -20 -17 -14 -15 -16 -18 -20 -24 -30 -35 -39 -42 -44 -45 -47 -48 -49 -49 -48 -46 -44 -40 -37 -34 -32 -31 -29 -27 -26 -25 -25 -26 -26 -26 -26 -26 -26 -26 -27 -28 -29 -31 -35 -40 -46 -43 -39 -37 -37 -35 -33 -32 -32 -33 -33 -33 -32 -29 -26 -24 -21 -19 -17 -17 -17 -17 -17 -18 -19 -20 -21 -21 -24 -24 -23 -21 -19 -20 -19 -19 -19 -21 -21 -21 -21 -22 -24 -25 -25 -25 -25 -26 -26 -26 -25 -25 -25 -24 -22 -23 -23 -23 -22 -22 -21 -20 -20 -21 -22 -21 -20 -19 -18 -17 -16 -16 -16 -16 -17 -17 -17 -15 -14 -14 -14 -16 -17 -17 -17 -17 -17 -17 -19 -20 -21 -21 -19 -19 -20 -21 -22 -22 -21 -20 -19 -19 -20 -22 -24 -26 -24 -22 -21 -20 -20 -16 -18 -17 -11 -3 5 4 0 -3 -3 -0 2 1 -1 -3 -2 -1 -1 -1 -3 -4 -5 -6 -6 -4 -2 -1 0 0 -1 -2 -4 -5 -7 -7 -6 -4 -4 -5 -6 -6 -5 -2 -2 -3 -6 -8 -8 -7 -6 -5 -5 -6 -7 -7 -8 -8 -9 -10 -11 -11 -10 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -6 -5 -5 -5 -5 -5 -5 -5 -7 -9 -12 -16 -17 -13 -8 -3 -3 -3 -4 -4 -3 -0 2 4 3 -2 -12 -17 -14 -3 8 11 7 -1 -11 -18 -16 -10 -3 0 0 -1 -3 -7 -11 -15 -17 -18 -17 -12 -7 -3 -1 -1 1 1 -1 -4 -7 -7 -6 -3 -1 -3 -5 -5 -4 -3 -3 -3 -4 -5 -5 -6 -6 -6 -6 -4 -4 -5 -7 -7 -6 -4 -3 -3 -7 -11 -15 -17 -14 -9 -6 -4 -5 -7 -7 -7 -7 -8 -7 -6 -6 -7 -8 -8 -10 -12 -15 -19 -25 -29 -31 -28 -21 -16 -14 -14 -12 -11 -11 -11 -10 -7 -2 1 2 0 -1 -3 -4 -5 -6 -7 -7 -6 -4 -6 -8 -11 -14 -16 -17 -18 -19 -19 -14 -12 -11 -11 -10 -7 -5 -6 -8 -10 -10 -10 -10 -10 -10 -10 -10 -10 -12 -14 -16 -18 -19 -17 -16 -15 -16 -16 -15 -14 -15 -17 -19 -21 -21 -22 -24 -25 -25 -23 -21 -18 -19 -21 -22 -23 -26 -29 -33 -37 -41 -45 -47 -48 -48 -48 -48 -47 -45 -43 -40 -39 -36 -34 -32 -29 -27 -25 -25 -26 -27 -28 -28 -28 -27 -26 -26 -27 -29 -30 -31 -33 -38 -46 -45 -43 -40 -38 -36 -33 -32 -32 -32 -30 -27 -25 -23 -22 -21 -20 -19 -18 -17 -17 -16 -17 -18 -19 -20 -21 -22 -23 -24 -24 -23 -21 -21 -20 -20 -20 -21 -21 -21 -22 -23 -24 -25 -25 -25 -25 -26 -26 -25 -25 -25 -26 -25 -24 -23 -23 -22 -22 -23 -22 -21 -21 -21 -21 -22 -20 -19 -18 -18 -17 -16 -16 -16 -17 -17 -17 -16 -15 -13 -13 -16 -17 -17 -17 -16 -16 -17 -18 -19 -20 -21 -19 -18 -18 -19 -19 -21 -21 -20 -19 -19 -21 -22 -24 -26 -24 -23 -22 -21 -20 -19 -20 -16 -6 6 9 4 -3 -6 -4 -0 1 1 -2 -3 -2 -1 -1 -1 -2 -4 -6 -7 -7 -4 -1 1 1 0 -1 -3 -4 -5 -7 -7 -7 -5 -4 -6 -6 -4 -2 -1 -4 -7 -9 -8 -7 -7 -7 -6 -5 -5 -6 -7 -7 -6 -7 -9 -11 -11 -10 -9 -8 -8 -8 -7 -7 -7 -8 -8 -7 -6 -6 -6 -6 -6 -6 -7 -9 -11 -13 -15 -16 -13 -8 -5 -3 -3 -3 -4 -5 -6 -2 3 5 3 -4 -18 -25 -21 -7 5 9 8 3 -5 -12 -12 -9 -4 -1 -0 -1 -2 -5 -11 -14 -17 -18 -18 -13 -7 -2 0 0 1 2 1 -1 -5 -9 -10 -9 -6 -4 -4 -4 -4 -3 -3 -3 -3 -4 -5 -5 -4 -4 -5 -4 -4 -4 -6 -7 -7 -5 -4 -3 -5 -8 -13 -16 -16 -13 -9 -5 -3 -4 -5 -6 -8 -10 -10 -8 -6 -4 -5 -6 -9 -12 -16 -21 -26 -30 -32 -32 -28 -23 -18 -14 -12 -11 -11 -11 -12 -11 -9 -5 -1 1 2 -0 -3 -4 -6 -8 -9 -8 -6 -6 -8 -11 -16 -19 -21 -22 -22 -20 -16 -12 -10 -10 -10 -7 -4 -2 -4 -6 -8 -9 -9 -9 -10 -11 -12 -12 -13 -14 -17 -19 -19 -14 -13 -16 -19 -19 -15 -13 -12 -14 -15 -17 -18 -21 -24 -26 -26 -25 -23 -21 -23 -25 -26 -27 -27 -28 -30 -34 -39 -44 -47 -47 -47 -46 -46 -45 -44 -41 -40 -38 -37 -35 -32 -29 -26 -25 -26 -29 -31 -31 -31 -31 -29 -27 -26 -27 -31 -32 -32 -33 -36 -43 -46 -45 -42 -36 -35 -34 -33 -32 -30 -25 -21 -20 -20 -20 -20 -20 -20 -18 -17 -17 -17 -17 -18 -19 -21 -22 -22 -22 -23 -24 -24 -23 -22 -22 -21 -19 -20 -21 -21 -22 -23 -24 -25 -25 -25 -26 -26 -25 -25 -25 -25 -25 -25 -25 -23 -22 -22 -21 -22 -22 -22 -21 -20 -21 -22 -21 -20 -19 -18 -18 -17 -17 -17 -17 -18 -18 -17 -16 -14 -13 -14 -16 -17 -17 -16 -16 -17 -17 -18 -20 -21 -19 -17 -17 -17 -17 -19 -19 -19 -19 -20 -21 -23 -24 -25 -25 -25 -24 -22 -21 -22 -21 -11 2 13 10 1 -5 -7 -5 -1 1 0 -2 -3 -3 -2 -1 -1 -2 -5 -8 -9 -8 -4 -1 1 1 -1 -2 -3 -4 -5 -6 -7 -7 -7 -7 -6 -4 -1 1 -1 -5 -9 -10 -7 -6 -6 -7 -7 -6 -6 -7 -7 -6 -5 -6 -8 -10 -10 -9 -8 -7 -7 -6 -5 -5 -6 -7 -7 -7 -6 -6 -5 -5 -5 -7 -9 -11 -13 -13 -13 -12 -8 -5 -4 -5 -6 -5 -5 -5 -5 -2 3 6 4 -5 -19 -28 -26 -12 2 8 9 5 -2 -9 -9 -7 -3 -2 -2 -1 -1 -2 -8 -13 -16 -18 -19 -15 -8 -2 2 1 1 1 1 2 -1 -6 -10 -11 -9 -7 -5 -5 -4 -3 -2 -2 -2 -3 -4 -4 -3 -3 -3 -3 -3 -3 -4 -6 -7 -6 -5 -3 -3 -6 -11 -15 -15 -15 -12 -8 -4 -3 -3 -5 -7 -10 -12 -12 -9 -6 -3 -3 -5 -8 -13 -19 -25 -29 -32 -34 -34 -30 -25 -18 -14 -12 -11 -10 -10 -11 -11 -10 -9 -6 -2 -0 -1 -3 -4 -7 -8 -8 -6 -6 -7 -10 -17 -23 -27 -28 -25 -22 -18 -14 -12 -12 -11 -8 -5 -3 -3 -6 -7 -7 -7 -8 -9 -11 -12 -15 -16 -17 -18 -19 -18 -14 -12 -14 -18 -21 -17 -13 -11 -11 -12 -13 -15 -18 -21 -23 -25 -25 -24 -24 -26 -28 -30 -29 -29 -29 -29 -31 -35 -39 -43 -46 -46 -44 -43 -42 -41 -39 -38 -37 -36 -35 -32 -28 -26 -25 -27 -31 -33 -34 -33 -32 -31 -29 -27 -27 -32 -33 -33 -33 -35 -40 -45 -46 -42 -33 -32 -33 -33 -32 -30 -24 -20 -18 -18 -19 -20 -21 -20 -18 -18 -18 -18 -18 -18 -19 -22 -23 -23 -23 -23 -23 -24 -24 -24 -24 -22 -19 -20 -21 -22 -23 -24 -24 -25 -25 -26 -26 -25 -25 -25 -25 -25 -25 -25 -24 -24 -24 -23 -21 -21 -22 -22 -22 -21 -21 -21 -21 -21 -21 -19 -18 -18 -18 -17 -18 -18 -17 -17 -16 -15 -13 -13 -15 -16 -16 -15 -15 -15 -15 -16 -19 -20 -18 -17 -16 -16 -17 -18 -19 -19 -20 -21 -22 -23 -25 -26 -27 -27 -27 -25 -23 -23 -18 -5 8 14 7 -1 -6 -7 -6 -3 -0 0 -1 -5 -5 -3 0 1 -1 -4 -8 -11 -9 -6 -3 -1 -1 -2 -3 -3 -4 -5 -6 -7 -8 -9 -8 -5 -1 2 2 -2 -7 -10 -10 -7 -5 -6 -7 -8 -7 -7 -8 -7 -6 -5 -7 -8 -9 -9 -8 -7 -6 -5 -5 -5 -5 -6 -7 -6 -6 -5 -5 -5 -4 -5 -7 -10 -11 -11 -11 -9 -8 -6 -5 -5 -6 -8 -8 -7 -5 -4 -1 3 5 3 -4 -18 -29 -30 -18 -2 7 10 7 -1 -8 -8 -5 -2 -1 -2 -2 -1 -1 -4 -9 -14 -18 -21 -17 -10 -3 3 3 2 1 1 2 1 -3 -7 -9 -9 -8 -7 -6 -5 -4 -3 -2 -3 -4 -5 -5 -4 -3 -2 -2 -3 -3 -4 -5 -6 -6 -5 -3 -3 -4 -8 -12 -15 -16 -15 -13 -8 -4 -3 -4 -6 -10 -13 -15 -15 -11 -5 -1 -0 -2 -6 -13 -19 -25 -29 -33 -36 -36 -32 -24 -17 -14 -12 -11 -10 -9 -9 -10 -11 -12 -9 -6 -2 -0 -1 -3 -4 -4 -3 -4 -6 -10 -16 -26 -31 -32 -27 -21 -17 -15 -14 -13 -10 -8 -7 -6 -5 -6 -6 -5 -5 -6 -9 -11 -13 -16 -17 -18 -19 -18 -15 -13 -14 -14 -15 -19 -18 -16 -13 -11 -11 -11 -13 -15 -17 -20 -22 -23 -25 -27 -29 -31 -32 -31 -30 -29 -30 -30 -32 -35 -39 -42 -44 -42 -39 -38 -37 -36 -35 -35 -34 -33 -31 -28 -26 -26 -29 -32 -33 -33 -33 -33 -33 -32 -30 -28 -31 -33 -34 -34 -35 -38 -42 -45 -43 -34 -29 -28 -32 -32 -29 -24 -19 -18 -17 -19 -22 -23 -21 -19 -18 -19 -19 -18 -18 -19 -21 -24 -25 -24 -23 -23 -24 -24 -24 -23 -22 -20 -20 -20 -22 -23 -24 -24 -24 -25 -26 -26 -25 -25 -24 -24 -24 -24 -24 -23 -25 -25 -24 -22 -21 -21 -21 -22 -22 -21 -21 -21 -21 -21 -20 -18 -18 -19 -18 -18 -18 -16 -16 -16 -16 -15 -15 -16 -16 -15 -15 -15 -15 -14 -15 -17 -18 -17 -16 -16 -16 -18 -19 -19 -19 -21 -22 -22 -23 -25 -26 -27 -28 -28 -27 -25 -21 -13 0 9 10 3 -2 -5 -7 -7 -4 -0 0 -2 -7 -6 -2 1 2 0 -4 -9 -12 -10 -6 -4 -2 -2 -3 -3 -3 -4 -5 -7 -8 -9 -9 -8 -3 1 3 1 -3 -8 -10 -10 -6 -4 -5 -7 -8 -8 -8 -8 -7 -6 -6 -8 -9 -9 -8 -7 -5 -5 -4 -5 -5 -5 -5 -6 -5 -4 -5 -6 -7 -6 -6 -7 -9 -9 -7 -6 -5 -5 -6 -6 -6 -7 -9 -9 -8 -7 -4 -0 3 4 2 -3 -15 -27 -32 -25 -8 5 10 7 -1 -8 -8 -5 -1 -0 -1 -2 -1 -1 -2 -6 -11 -17 -21 -20 -13 -5 2 5 3 1 0 1 2 0 -2 -5 -7 -8 -8 -8 -7 -6 -5 -3 -3 -3 -5 -6 -6 -6 -4 -3 -3 -4 -4 -5 -5 -5 -5 -4 -3 -3 -5 -9 -13 -15 -15 -15 -12 -8 -5 -4 -5 -8 -12 -16 -19 -18 -12 -5 -0 1 1 -3 -10 -17 -23 -29 -35 -39 -39 -33 -23 -16 -13 -13 -12 -9 -7 -7 -8 -10 -11 -10 -7 -3 -1 -1 -1 -1 -0 -2 -4 -8 -15 -25 -31 -31 -25 -19 -16 -15 -15 -14 -10 -7 -6 -6 -6 -6 -6 -6 -6 -7 -8 -10 -13 -16 -18 -19 -19 -18 -14 -12 -12 -14 -14 -16 -16 -16 -15 -13 -12 -12 -12 -13 -16 -18 -19 -21 -23 -27 -30 -32 -33 -32 -30 -30 -30 -30 -30 -31 -34 -36 -38 -36 -34 -33 -33 -32 -31 -30 -30 -29 -29 -28 -28 -28 -29 -31 -32 -32 -32 -33 -33 -32 -31 -28 -31 -33 -35 -35 -35 -36 -39 -43 -44 -38 -29 -24 -26 -30 -28 -23 -19 -17 -17 -19 -22 -23 -22 -20 -19 -19 -19 -19 -19 -20 -21 -24 -25 -24 -23 -23 -22 -24 -24 -23 -21 -20 -21 -21 -22 -23 -24 -24 -24 -25 -25 -25 -25 -24 -24 -24 -23 -23 -23 -23 -24 -25 -25 -24 -23 -21 -21 -22 -22 -22 -21 -20 -20 -20 -20 -19 -18 -18 -19 -18 -18 -17 -17 -17 -17 -16 -17 -17 -16 -15 -14 -15 -14 -14 -15 -16 -16 -16 -16 -15 -16 -18 -18 -18 -19 -21 -22 -22 -23 -25 -25 -26 -26 -28 -28 -26 -18 -8 2 6 5 1 -2 -4 -6 -6 -3 0 -0 -3 -7 -5 -2 1 1 -1 -5 -9 -11 -9 -6 -4 -3 -3 -4 -4 -4 -5 -7 -8 -9 -10 -9 -7 -2 2 3 1 -4 -9 -12 -12 -7 -5 -5 -6 -8 -8 -7 -7 -7 -7 -8 -9 -9 -8 -6 -6 -5 -4 -4 -6 -6 -5 -4 -4 -4 -3 -4 -7 -11 -10 -7 -5 -5 -4 -3 -3 -4 -5 -7 -8 -8 -8 -8 -9 -8 -8 -6 -2 2 4 2 -3 -12 -24 -32 -29 -13 2 8 6 -2 -8 -8 -6 -2 -0 -0 -1 -1 -2 -2 -3 -7 -13 -20 -21 -17 -9 -0 5 5 3 -0 -1 0 1 0 -1 -3 -5 -7 -8 -8 -8 -7 -5 -3 -3 -4 -5 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -6 -11 -14 -15 -14 -13 -10 -8 -5 -5 -7 -10 -14 -19 -22 -20 -14 -7 -1 2 2 -2 -8 -15 -23 -32 -40 -45 -42 -30 -20 -14 -14 -15 -11 -7 -4 -5 -6 -8 -10 -9 -7 -5 -3 -2 -0 0 -1 -3 -6 -12 -20 -26 -26 -23 -18 -16 -15 -16 -16 -12 -8 -4 -4 -5 -7 -7 -8 -10 -9 -9 -9 -11 -14 -18 -20 -20 -18 -15 -13 -13 -15 -15 -16 -16 -16 -17 -16 -16 -14 -12 -12 -14 -16 -17 -18 -20 -25 -29 -32 -33 -32 -30 -30 -30 -30 -29 -29 -28 -28 -30 -31 -31 -31 -31 -30 -28 -27 -26 -27 -29 -30 -30 -30 -30 -31 -32 -32 -32 -32 -32 -32 -31 -29 -30 -32 -33 -35 -35 -35 -37 -40 -43 -40 -32 -24 -20 -25 -26 -24 -19 -17 -17 -19 -20 -22 -22 -21 -21 -22 -21 -20 -20 -21 -22 -24 -24 -24 -24 -23 -23 -24 -25 -24 -22 -21 -21 -22 -23 -23 -23 -23 -23 -25 -25 -24 -24 -24 -24 -23 -23 -23 -23 -22 -23 -24 -24 -25 -24 -22 -22 -23 -23 -23 -22 -20 -19 -20 -21 -20 -19 -19 -19 -19 -18 -18 -18 -18 -18 -18 -18 -18 -17 -15 -14 -14 -14 -14 -15 -16 -16 -16 -15 -14 -15 -16 -17 -17 -19 -20 -21 -22 -24 -25 -25 -25 -25 -26 -26 -26 -12 -4 1 2 1 -1 -3 -4 -5 -4 -2 -1 -1 -3 -5 -3 -2 -1 -1 -2 -4 -7 -9 -9 -7 -5 -4 -4 -4 -4 -6 -8 -10 -11 -11 -10 -9 -5 -1 1 2 1 -4 -11 -15 -15 -9 -6 -5 -6 -7 -7 -6 -7 -7 -8 -9 -9 -8 -7 -5 -5 -4 -4 -6 -7 -7 -6 -4 -4 -3 -2 -5 -10 -17 -15 -8 -3 -0 -1 -1 -2 -4 -5 -6 -7 -8 -9 -9 -8 -8 -8 -8 -5 -0 3 2 -1 -8 -20 -29 -28 -14 -1 5 4 -3 -8 -9 -7 -4 -0 1 1 -1 -3 -3 -2 -3 -9 -17 -22 -20 -13 -4 3 5 4 1 -2 -3 -2 -0 0 0 -1 -3 -6 -8 -9 -9 -8 -6 -4 -4 -5 -6 -8 -8 -8 -7 -7 -6 -5 -4 -4 -4 -5 -4 -3 -2 -3 -9 -13 -14 -13 -12 -12 -10 -7 -5 -6 -8 -13 -18 -23 -23 -20 -14 -7 -3 -2 -1 -3 -8 -16 -27 -38 -46 -48 -38 -25 -15 -13 -16 -12 -8 -5 -4 -4 -4 -6 -8 -9 -8 -7 -5 -4 -3 -3 -3 -5 -9 -15 -20 -23 -21 -18 -15 -15 -15 -17 -14 -10 -6 -3 -5 -7 -9 -10 -11 -10 -9 -8 -9 -13 -17 -19 -18 -18 -18 -16 -16 -17 -16 -16 -18 -19 -20 -19 -18 -16 -12 -10 -12 -14 -15 -16 -18 -22 -27 -30 -32 -31 -30 -29 -30 -30 -29 -27 -25 -22 -24 -27 -29 -30 -30 -30 -28 -27 -26 -29 -32 -33 -32 -32 -30 -30 -31 -31 -31 -32 -32 -32 -31 -30 -30 -31 -32 -34 -33 -33 -34 -36 -40 -39 -35 -29 -22 -24 -26 -25 -20 -18 -18 -18 -18 -20 -21 -21 -22 -24 -24 -23 -22 -22 -24 -25 -25 -25 -25 -25 -25 -26 -27 -27 -25 -22 -21 -21 -22 -22 -23 -23 -23 -24 -24 -24 -24 -24 -23 -23 -22 -23 -22 -22 -23 -24 -24 -24 -24 -23 -22 -23 -23 -23 -23 -21 -20 -21 -21 -20 -19 -19 -19 -19 -18 -18 -18 -19 -19 -20 -20 -19 -17 -15 -14 -14 -14 -15 -16 -16 -16 -15 -14 -13 -13 -13 -14 -15 -18 -19 -20 -22 -24 -25 -26 -26 -25 -23 -23 -24 -8 -4 -2 -1 -1 -2 -4 -4 -4 -4 -2 -1 -1 -1 -2 -1 -2 -2 -3 -2 -3 -5 -8 -10 -9 -6 -4 -4 -4 -5 -7 -10 -13 -14 -13 -11 -8 -4 -1 1 1 -0 -5 -12 -16 -16 -11 -7 -6 -6 -6 -6 -6 -7 -8 -9 -9 -8 -7 -5 -4 -4 -5 -6 -7 -8 -7 -6 -6 -5 -3 -3 -7 -15 -22 -16 -6 1 2 0 -0 -2 -5 -6 -6 -6 -7 -9 -10 -10 -9 -9 -9 -9 -5 -0 3 2 -5 -17 -24 -22 -9 -0 3 1 -4 -8 -9 -9 -6 -2 2 2 1 -3 -3 -2 -2 -7 -16 -21 -20 -15 -7 -1 3 5 4 0 -3 -4 -3 -1 1 2 1 -2 -6 -9 -10 -10 -9 -8 -7 -6 -6 -7 -8 -9 -10 -9 -8 -6 -5 -4 -4 -5 -5 -4 -3 -2 -6 -10 -12 -11 -11 -12 -12 -10 -7 -7 -8 -12 -17 -22 -24 -22 -18 -12 -9 -8 -6 -5 -5 -12 -22 -33 -42 -46 -42 -31 -19 -12 -12 -12 -10 -8 -5 -3 -2 -3 -4 -7 -8 -8 -8 -8 -7 -6 -6 -7 -8 -11 -15 -17 -18 -17 -15 -14 -14 -14 -13 -12 -9 -7 -6 -8 -9 -10 -11 -10 -8 -7 -8 -13 -16 -16 -16 -17 -20 -19 -18 -18 -17 -17 -19 -21 -22 -22 -21 -18 -15 -12 -11 -13 -15 -17 -18 -20 -24 -28 -30 -31 -30 -29 -29 -29 -28 -26 -23 -20 -21 -23 -25 -28 -28 -29 -28 -28 -28 -31 -34 -35 -34 -32 -31 -30 -30 -30 -30 -31 -32 -32 -32 -31 -31 -30 -30 -31 -31 -31 -31 -32 -35 -35 -34 -32 -28 -27 -27 -26 -22 -20 -18 -18 -17 -18 -19 -20 -21 -22 -23 -24 -23 -22 -23 -24 -24 -24 -24 -25 -27 -29 -30 -30 -29 -25 -23 -21 -21 -22 -23 -24 -24 -24 -24 -24 -23 -23 -22 -22 -22 -22 -22 -21 -22 -23 -23 -24 -24 -23 -22 -22 -23 -24 -23 -22 -22 -22 -21 -19 -19 -19 -19 -19 -19 -19 -19 -19 -20 -21 -21 -19 -18 -16 -14 -13 -14 -15 -16 -16 -16 -15 -14 -14 -13 -12 -13 -15 -17 -19 -20 -22 -25 -25 -26 -26 -24 -22 -22 -23 -6 -5 -4 -3 -3 -4 -5 -5 -4 -3 -3 -2 -0 0 0 -1 -2 -3 -3 -2 -2 -3 -6 -9 -10 -8 -7 -6 -5 -7 -10 -13 -15 -16 -14 -11 -7 -3 -0 0 -0 -3 -8 -14 -16 -14 -10 -7 -6 -6 -6 -5 -6 -7 -8 -8 -8 -8 -7 -6 -4 -4 -5 -7 -8 -8 -8 -8 -7 -5 -4 -6 -12 -20 -24 -13 -3 2 1 -0 -1 -2 -5 -6 -6 -6 -6 -8 -10 -11 -11 -11 -11 -10 -8 -3 2 4 -2 -9 -14 -12 -4 0 1 -1 -5 -8 -10 -11 -9 -4 1 3 2 -2 -3 -2 -3 -7 -14 -19 -19 -15 -7 -3 1 4 7 5 1 -3 -4 -3 -0 2 3 2 -1 -5 -8 -10 -11 -11 -10 -9 -8 -7 -7 -9 -11 -11 -10 -8 -6 -4 -3 -5 -6 -6 -5 -4 -5 -7 -9 -10 -10 -12 -13 -12 -10 -8 -8 -12 -17 -22 -25 -23 -19 -14 -11 -9 -8 -6 -6 -10 -18 -27 -35 -40 -41 -36 -26 -15 -9 -8 -9 -10 -9 -6 -4 -2 -2 -4 -6 -7 -8 -10 -11 -10 -10 -10 -10 -11 -12 -13 -15 -16 -14 -12 -11 -11 -10 -11 -11 -9 -8 -8 -8 -9 -10 -10 -8 -7 -10 -13 -15 -14 -14 -15 -19 -19 -18 -18 -18 -18 -19 -22 -24 -24 -23 -21 -17 -16 -13 -12 -13 -16 -19 -20 -22 -24 -26 -28 -30 -30 -29 -28 -26 -24 -22 -20 -19 -20 -22 -26 -28 -29 -30 -30 -30 -33 -35 -35 -33 -32 -32 -32 -31 -30 -30 -30 -31 -32 -33 -32 -32 -31 -30 -29 -29 -29 -29 -28 -30 -32 -34 -35 -32 -30 -27 -25 -24 -22 -19 -18 -18 -17 -18 -19 -20 -20 -22 -24 -24 -22 -20 -21 -21 -21 -21 -23 -26 -29 -32 -32 -32 -29 -25 -23 -22 -23 -24 -25 -24 -23 -23 -23 -23 -23 -22 -22 -22 -22 -21 -21 -21 -22 -23 -23 -23 -23 -23 -22 -23 -24 -23 -22 -22 -21 -20 -18 -18 -18 -19 -19 -19 -19 -19 -20 -21 -21 -20 -19 -19 -17 -14 -13 -14 -16 -17 -16 -15 -15 -16 -15 -14 -13 -13 -14 -16 -19 -22 -23 -25 -24 -24 -24 -23 -21 -21 -22 -6 -7 -5 -4 -4 -5 -5 -5 -4 -3 -3 -2 -0 1 1 -1 -2 -3 -3 -2 -2 -2 -3 -5 -7 -9 -10 -10 -8 -9 -12 -15 -17 -17 -14 -10 -5 -2 -1 -1 -3 -6 -11 -15 -15 -13 -9 -7 -6 -6 -5 -5 -6 -6 -7 -7 -7 -7 -6 -5 -4 -4 -6 -7 -8 -8 -9 -8 -8 -6 -4 -8 -15 -23 -23 -10 -2 2 0 -2 -3 -5 -6 -7 -7 -6 -6 -8 -11 -13 -13 -12 -12 -11 -9 -4 2 5 1 -4 -6 -6 -2 0 0 -2 -6 -8 -10 -11 -11 -7 -1 3 3 -1 -3 -4 -5 -8 -14 -19 -18 -14 -7 -3 -1 3 6 8 5 1 -2 -3 -2 0 2 3 3 0 -3 -7 -10 -12 -14 -15 -14 -11 -8 -9 -10 -12 -13 -11 -7 -5 -3 -4 -6 -7 -7 -6 -6 -6 -8 -9 -9 -11 -12 -13 -12 -9 -9 -12 -17 -23 -25 -23 -17 -12 -11 -10 -9 -8 -8 -11 -16 -23 -29 -33 -36 -35 -30 -20 -12 -8 -8 -9 -9 -6 -4 -2 -2 -2 -3 -4 -6 -9 -12 -12 -12 -11 -12 -12 -12 -12 -13 -14 -13 -11 -10 -9 -8 -9 -9 -10 -10 -9 -8 -9 -11 -10 -9 -8 -10 -13 -16 -16 -14 -15 -17 -18 -17 -18 -18 -18 -19 -21 -24 -25 -25 -22 -19 -19 -18 -14 -12 -13 -17 -20 -21 -20 -21 -25 -28 -30 -30 -28 -25 -23 -22 -21 -19 -19 -21 -25 -29 -31 -31 -31 -31 -33 -34 -34 -33 -33 -33 -33 -32 -31 -31 -31 -31 -32 -33 -33 -32 -31 -29 -28 -28 -27 -27 -25 -27 -31 -35 -37 -37 -34 -30 -27 -24 -22 -20 -19 -18 -18 -18 -19 -19 -19 -20 -23 -24 -22 -19 -18 -18 -19 -18 -20 -23 -26 -29 -31 -32 -31 -29 -25 -24 -24 -24 -25 -23 -23 -23 -23 -23 -23 -22 -22 -21 -22 -21 -21 -21 -21 -21 -22 -23 -23 -23 -22 -23 -23 -23 -21 -21 -20 -18 -18 -18 -18 -19 -19 -20 -20 -20 -21 -22 -21 -20 -19 -19 -18 -15 -14 -15 -16 -17 -16 -15 -15 -16 -17 -15 -13 -13 -14 -16 -19 -22 -24 -25 -24 -23 -23 -23 -21 -21 -21 -7 -7 -6 -5 -5 -5 -5 -5 -4 -3 -3 -1 -0 1 1 -1 -2 -2 -3 -4 -3 -2 -2 -3 -5 -10 -12 -13 -10 -11 -14 -17 -17 -16 -13 -9 -5 -2 -2 -4 -7 -10 -14 -15 -14 -12 -8 -6 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -6 -7 -7 -8 -8 -9 -9 -8 -6 -5 -9 -17 -23 -21 -9 -1 1 -0 -3 -6 -8 -9 -9 -9 -8 -8 -9 -12 -13 -13 -13 -14 -14 -11 -5 3 7 5 2 -2 -4 -1 1 -0 -4 -7 -8 -9 -11 -11 -10 -4 1 3 -0 -3 -5 -6 -9 -15 -18 -17 -13 -7 -3 -1 1 3 7 7 4 1 -1 -1 -1 0 1 2 2 1 -2 -4 -7 -11 -16 -18 -17 -12 -9 -9 -11 -14 -13 -10 -6 -3 -3 -4 -6 -7 -7 -7 -7 -7 -8 -9 -10 -12 -13 -13 -11 -10 -12 -17 -23 -25 -22 -16 -10 -8 -9 -10 -11 -11 -12 -16 -21 -26 -30 -33 -34 -31 -25 -17 -10 -7 -7 -8 -7 -6 -5 -4 -3 -2 -2 -3 -7 -10 -12 -12 -12 -12 -14 -15 -14 -13 -13 -13 -12 -9 -8 -7 -7 -7 -9 -10 -9 -8 -9 -10 -11 -10 -9 -10 -13 -16 -17 -16 -16 -16 -17 -19 -21 -22 -21 -20 -21 -23 -25 -25 -23 -21 -22 -22 -19 -15 -12 -14 -17 -20 -20 -18 -21 -24 -28 -29 -28 -26 -24 -22 -21 -20 -20 -21 -24 -28 -30 -31 -30 -30 -32 -33 -33 -33 -34 -34 -34 -32 -32 -32 -33 -33 -33 -33 -32 -32 -31 -29 -28 -27 -27 -27 -25 -26 -28 -32 -36 -38 -36 -34 -31 -27 -23 -21 -20 -19 -18 -18 -19 -20 -20 -20 -22 -23 -21 -18 -17 -17 -17 -17 -18 -19 -21 -23 -27 -30 -31 -31 -27 -25 -25 -25 -25 -23 -24 -24 -23 -22 -22 -22 -21 -21 -22 -22 -21 -21 -21 -20 -21 -22 -22 -22 -22 -22 -22 -22 -20 -20 -19 -18 -18 -18 -19 -19 -19 -20 -20 -20 -21 -21 -21 -20 -19 -19 -18 -16 -15 -15 -17 -17 -17 -16 -16 -17 -17 -16 -14 -13 -14 -16 -19 -21 -23 -23 -23 -22 -22 -22 -21 -21 -21 -7 -7 -6 -6 -6 -6 -5 -4 -3 -3 -2 -1 0 1 0 -0 -1 -3 -4 -4 -3 -2 -2 -3 -5 -8 -11 -12 -11 -13 -16 -17 -16 -14 -11 -8 -5 -4 -5 -7 -10 -13 -16 -16 -13 -10 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -8 -8 -9 -8 -7 -7 -11 -17 -20 -17 -8 -3 -1 -1 -4 -8 -11 -12 -11 -11 -11 -12 -13 -14 -13 -13 -14 -17 -18 -15 -7 2 9 9 6 1 -2 0 2 -1 -5 -8 -8 -8 -9 -10 -10 -7 -2 1 1 -3 -6 -8 -11 -15 -17 -16 -13 -8 -4 -1 1 2 4 7 6 5 2 1 -1 -1 -2 -1 -0 0 -0 -1 -2 -7 -13 -19 -22 -18 -13 -10 -9 -11 -12 -11 -9 -6 -4 -4 -4 -5 -5 -6 -7 -8 -8 -9 -11 -12 -14 -15 -14 -13 -13 -17 -22 -24 -23 -17 -10 -6 -6 -8 -12 -13 -14 -16 -20 -25 -28 -31 -31 -31 -28 -21 -13 -8 -6 -7 -7 -7 -6 -5 -4 -3 -3 -3 -5 -8 -11 -12 -11 -11 -14 -16 -17 -15 -14 -13 -12 -10 -9 -7 -5 -4 -7 -9 -10 -9 -8 -10 -11 -11 -10 -11 -14 -16 -18 -18 -20 -19 -18 -19 -22 -24 -25 -24 -22 -22 -25 -26 -25 -23 -23 -23 -21 -19 -15 -14 -16 -19 -20 -18 -19 -21 -24 -26 -27 -27 -25 -22 -21 -21 -21 -21 -21 -25 -28 -28 -27 -28 -30 -31 -31 -32 -33 -33 -33 -32 -33 -34 -34 -33 -33 -32 -32 -31 -31 -30 -29 -28 -28 -28 -27 -26 -26 -29 -33 -36 -37 -36 -33 -28 -25 -23 -22 -20 -19 -19 -20 -21 -21 -21 -22 -23 -21 -19 -17 -17 -16 -16 -17 -17 -18 -20 -23 -26 -29 -31 -30 -27 -26 -26 -25 -24 -25 -25 -23 -22 -21 -20 -20 -21 -22 -21 -20 -20 -21 -20 -20 -20 -20 -20 -20 -21 -22 -22 -20 -20 -19 -18 -18 -18 -19 -19 -19 -20 -20 -20 -19 -19 -21 -21 -20 -19 -18 -17 -15 -15 -17 -18 -17 -17 -16 -17 -18 -17 -15 -13 -14 -16 -19 -21 -22 -22 -22 -22 -22 -22 -22 -21 -20 -7 -7 -6 -6 -6 -6 -5 -4 -3 -3 -2 -1 0 1 1 0 -1 -3 -5 -5 -4 -3 -2 -3 -5 -7 -8 -9 -12 -14 -16 -16 -15 -11 -9 -7 -6 -5 -7 -10 -12 -15 -18 -16 -12 -9 -6 -6 -5 -5 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -8 -8 -8 -10 -14 -15 -15 -11 -8 -5 -4 -3 -6 -9 -11 -13 -13 -13 -14 -16 -17 -16 -14 -14 -16 -20 -22 -19 -10 1 9 10 8 4 0 2 2 -1 -7 -10 -9 -8 -8 -9 -9 -8 -4 -1 0 -3 -7 -10 -13 -14 -15 -14 -12 -10 -6 -3 -0 1 3 6 7 7 6 3 1 -1 -3 -4 -3 -2 -2 -1 -1 -4 -9 -16 -23 -22 -18 -13 -9 -8 -10 -11 -11 -10 -7 -5 -4 -3 -3 -4 -5 -6 -8 -10 -12 -15 -18 -20 -18 -15 -14 -15 -19 -21 -21 -18 -11 -4 -3 -5 -9 -13 -15 -18 -21 -25 -28 -28 -28 -28 -27 -23 -16 -10 -7 -7 -6 -6 -6 -6 -5 -4 -4 -4 -5 -6 -8 -9 -8 -9 -13 -16 -18 -17 -15 -14 -12 -11 -10 -7 -4 -3 -3 -6 -8 -8 -9 -11 -12 -12 -12 -12 -13 -15 -16 -16 -18 -20 -20 -21 -22 -25 -26 -26 -24 -23 -25 -26 -25 -24 -23 -22 -21 -20 -19 -17 -17 -19 -20 -18 -18 -18 -20 -22 -24 -25 -24 -22 -20 -20 -21 -22 -22 -24 -26 -26 -26 -26 -29 -30 -31 -31 -32 -32 -32 -32 -33 -34 -35 -34 -34 -32 -32 -32 -32 -30 -29 -29 -29 -28 -28 -27 -26 -28 -31 -35 -36 -36 -34 -30 -27 -25 -24 -23 -21 -20 -19 -20 -20 -21 -23 -23 -21 -20 -19 -18 -17 -16 -17 -17 -17 -18 -20 -23 -26 -29 -29 -28 -27 -25 -25 -25 -25 -25 -24 -22 -20 -19 -19 -21 -22 -21 -20 -20 -20 -20 -20 -20 -19 -19 -19 -20 -22 -22 -21 -20 -20 -18 -19 -19 -19 -19 -19 -19 -19 -19 -19 -18 -21 -22 -21 -19 -18 -17 -16 -15 -16 -18 -18 -17 -17 -17 -18 -17 -16 -14 -14 -15 -18 -21 -21 -21 -21 -20 -20 -21 -23 -23 -20 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -2 -1 0 1 1 0 -2 -4 -5 -5 -4 -4 -3 -4 -5 -5 -6 -8 -11 -13 -14 -14 -12 -9 -7 -6 -7 -7 -9 -11 -13 -15 -17 -15 -11 -7 -5 -5 -4 -4 -3 -3 -2 -3 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -10 -14 -14 -12 -8 -6 -6 -5 -5 -5 -6 -8 -10 -12 -13 -14 -16 -18 -19 -17 -14 -14 -17 -22 -24 -19 -10 1 8 8 7 4 2 3 4 0 -6 -11 -11 -10 -8 -7 -8 -7 -6 -4 -3 -4 -8 -11 -13 -12 -12 -12 -12 -12 -10 -6 -2 1 3 5 6 7 8 6 3 0 -2 -4 -3 -4 -4 -4 -4 -4 -7 -13 -20 -23 -22 -17 -11 -7 -8 -9 -11 -12 -10 -7 -5 -3 -2 -2 -3 -4 -5 -7 -11 -15 -21 -26 -25 -21 -16 -13 -15 -17 -19 -19 -15 -8 -4 -2 -5 -12 -17 -21 -24 -28 -27 -25 -23 -22 -23 -23 -19 -13 -8 -7 -6 -6 -7 -7 -6 -5 -5 -5 -5 -5 -6 -6 -7 -8 -12 -16 -18 -18 -18 -16 -13 -11 -10 -9 -7 -4 -1 -3 -4 -7 -9 -11 -13 -13 -13 -12 -13 -14 -15 -14 -16 -19 -22 -23 -23 -24 -26 -27 -26 -25 -25 -24 -22 -21 -21 -21 -20 -20 -21 -21 -20 -19 -19 -18 -17 -17 -17 -18 -20 -21 -22 -22 -20 -20 -22 -24 -24 -23 -24 -25 -27 -28 -29 -30 -31 -31 -31 -31 -31 -31 -32 -34 -35 -35 -34 -33 -32 -32 -33 -31 -31 -30 -30 -28 -27 -28 -29 -30 -33 -35 -36 -36 -34 -32 -29 -28 -28 -27 -24 -21 -19 -18 -18 -20 -22 -23 -22 -20 -20 -19 -18 -18 -18 -18 -18 -18 -19 -21 -24 -26 -27 -27 -26 -26 -24 -23 -24 -25 -24 -23 -21 -19 -19 -21 -22 -21 -21 -21 -20 -20 -21 -20 -20 -20 -20 -21 -22 -22 -22 -21 -21 -19 -20 -19 -19 -19 -19 -18 -19 -20 -19 -19 -21 -22 -20 -19 -17 -16 -16 -16 -16 -17 -18 -18 -17 -18 -17 -17 -16 -15 -14 -14 -17 -20 -21 -21 -20 -19 -19 -20 -22 -23 -21 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -2 -0 1 1 1 0 -2 -4 -5 -5 -4 -4 -4 -4 -5 -5 -5 -7 -9 -10 -12 -12 -10 -7 -5 -6 -7 -8 -10 -11 -12 -14 -15 -12 -9 -6 -4 -4 -4 -3 -2 -1 -0 -1 -2 -3 -4 -5 -6 -7 -8 -7 -6 -6 -7 -7 -7 -7 -9 -13 -16 -13 -8 -4 -4 -5 -5 -5 -5 -6 -8 -10 -11 -12 -14 -17 -18 -18 -16 -14 -15 -18 -23 -24 -17 -7 3 7 6 5 3 1 3 5 3 -3 -10 -13 -12 -10 -8 -7 -7 -6 -7 -7 -7 -8 -9 -10 -8 -9 -10 -12 -12 -11 -8 -5 -2 1 4 6 8 9 8 6 3 1 -1 -1 -1 -3 -5 -7 -7 -8 -11 -17 -22 -23 -19 -13 -9 -8 -9 -10 -11 -11 -9 -6 -3 -2 -1 -2 -2 -2 -3 -7 -13 -20 -27 -29 -26 -20 -14 -14 -16 -17 -17 -16 -11 -5 -1 -2 -9 -17 -24 -29 -32 -29 -23 -18 -15 -17 -19 -19 -16 -11 -8 -7 -7 -7 -7 -6 -5 -5 -6 -6 -6 -5 -5 -6 -8 -11 -15 -18 -18 -18 -16 -13 -10 -11 -10 -9 -7 -4 -2 -3 -6 -9 -11 -12 -13 -13 -13 -13 -13 -13 -12 -15 -19 -22 -23 -23 -23 -25 -26 -27 -27 -25 -23 -20 -21 -22 -21 -20 -21 -23 -23 -21 -19 -19 -19 -18 -16 -15 -16 -17 -18 -20 -21 -20 -21 -23 -25 -25 -24 -23 -24 -27 -29 -29 -30 -30 -30 -30 -30 -29 -30 -32 -34 -36 -36 -35 -34 -33 -32 -33 -32 -32 -31 -30 -28 -27 -27 -28 -30 -32 -34 -35 -35 -34 -33 -31 -30 -31 -29 -26 -23 -20 -18 -18 -19 -21 -23 -24 -22 -20 -20 -18 -19 -19 -20 -20 -18 -18 -19 -22 -25 -26 -26 -27 -26 -23 -22 -22 -23 -24 -23 -21 -20 -20 -22 -23 -22 -21 -21 -20 -20 -20 -20 -20 -20 -20 -21 -21 -22 -22 -22 -21 -20 -20 -20 -19 -19 -19 -19 -20 -21 -20 -19 -19 -18 -18 -18 -17 -16 -16 -18 -17 -18 -18 -18 -18 -19 -19 -18 -18 -17 -15 -14 -16 -18 -20 -21 -20 -19 -18 -19 -21 -22 -22 -6 -6 -6 -6 -5 -3 -3 -3 -3 -3 -2 -0 1 1 1 -0 -3 -4 -5 -4 -3 -3 -4 -5 -5 -5 -5 -6 -7 -8 -10 -10 -8 -5 -4 -5 -7 -8 -9 -11 -12 -13 -12 -9 -7 -5 -5 -5 -4 -3 -1 0 0 0 -0 -1 -3 -5 -7 -9 -9 -7 -6 -6 -7 -7 -7 -8 -11 -16 -17 -12 -7 -5 -6 -8 -8 -8 -7 -7 -9 -10 -11 -13 -15 -17 -18 -16 -14 -14 -16 -19 -22 -21 -14 -5 4 7 7 5 2 -0 1 3 3 -1 -5 -10 -12 -13 -11 -10 -7 -7 -7 -9 -9 -8 -6 -4 -4 -6 -8 -10 -11 -9 -9 -7 -5 -3 1 4 7 8 9 8 6 4 3 4 3 1 -4 -8 -10 -11 -12 -16 -20 -21 -19 -15 -11 -9 -9 -10 -11 -11 -10 -8 -4 -2 -2 -2 -2 -0 -0 -3 -7 -15 -24 -29 -29 -24 -17 -15 -15 -15 -15 -16 -12 -7 -4 -3 -8 -14 -22 -29 -35 -32 -25 -18 -13 -13 -16 -17 -17 -13 -10 -9 -8 -8 -7 -6 -5 -5 -6 -7 -7 -6 -5 -6 -7 -11 -15 -19 -18 -17 -15 -12 -9 -10 -10 -10 -9 -7 -5 -4 -4 -6 -8 -11 -14 -16 -16 -15 -14 -12 -11 -15 -20 -22 -22 -21 -21 -22 -24 -26 -27 -25 -22 -20 -22 -22 -22 -22 -23 -26 -26 -23 -19 -19 -19 -17 -15 -15 -17 -17 -17 -17 -19 -20 -21 -23 -26 -26 -25 -24 -25 -27 -28 -29 -29 -30 -30 -30 -30 -30 -30 -32 -34 -36 -36 -36 -35 -33 -33 -33 -32 -32 -31 -30 -28 -27 -27 -27 -29 -31 -33 -34 -35 -34 -33 -31 -31 -31 -30 -27 -25 -23 -20 -20 -20 -20 -22 -24 -22 -19 -18 -18 -19 -20 -20 -21 -18 -17 -18 -21 -24 -25 -27 -28 -27 -24 -22 -22 -22 -22 -21 -20 -19 -20 -23 -23 -22 -20 -20 -20 -19 -19 -20 -20 -20 -20 -21 -22 -22 -22 -22 -21 -21 -20 -19 -19 -18 -18 -19 -20 -21 -21 -20 -18 -16 -18 -18 -17 -16 -16 -18 -19 -18 -18 -17 -18 -20 -20 -20 -20 -19 -17 -15 -15 -18 -20 -20 -20 -19 -17 -18 -20 -22 -23 -6 -6 -6 -5 -4 -3 -2 -3 -3 -3 -1 0 1 1 0 -1 -3 -5 -5 -4 -3 -3 -4 -5 -5 -5 -5 -6 -6 -8 -9 -8 -6 -3 -3 -5 -7 -8 -9 -11 -12 -13 -11 -8 -6 -5 -6 -6 -4 -2 -1 0 1 1 1 0 -2 -5 -8 -9 -9 -6 -6 -6 -8 -9 -9 -10 -13 -16 -15 -10 -7 -7 -8 -9 -9 -8 -8 -8 -9 -9 -10 -12 -15 -18 -18 -15 -13 -15 -17 -19 -19 -16 -10 -4 2 6 7 5 2 -2 -2 1 2 -0 -3 -7 -12 -14 -14 -11 -10 -9 -9 -10 -9 -7 -5 -2 -0 -2 -5 -7 -8 -7 -6 -7 -7 -6 -4 -0 3 7 9 9 8 7 6 6 6 4 0 -6 -11 -13 -14 -15 -19 -20 -18 -14 -11 -10 -10 -10 -10 -10 -10 -8 -5 -3 -4 -4 -4 -1 0 -0 -3 -8 -17 -24 -27 -25 -20 -16 -14 -13 -14 -15 -13 -10 -8 -7 -9 -12 -18 -26 -34 -34 -29 -21 -13 -11 -13 -15 -16 -14 -12 -10 -9 -9 -8 -6 -6 -5 -6 -7 -7 -7 -6 -6 -6 -9 -14 -19 -18 -16 -14 -11 -9 -10 -10 -11 -10 -8 -6 -5 -4 -5 -6 -9 -13 -17 -20 -19 -15 -10 -8 -13 -18 -20 -20 -20 -20 -20 -22 -25 -26 -25 -22 -20 -22 -22 -22 -23 -24 -27 -27 -24 -19 -16 -16 -16 -15 -15 -17 -16 -15 -15 -18 -20 -22 -23 -25 -25 -25 -26 -27 -28 -28 -28 -29 -29 -31 -31 -31 -32 -32 -33 -34 -36 -36 -36 -36 -35 -34 -34 -32 -31 -30 -29 -28 -27 -27 -27 -29 -30 -31 -32 -34 -34 -32 -31 -31 -30 -29 -29 -27 -25 -24 -24 -23 -21 -21 -23 -21 -19 -16 -17 -18 -18 -19 -20 -18 -17 -17 -19 -22 -24 -26 -28 -29 -25 -23 -22 -22 -22 -21 -20 -19 -20 -22 -22 -21 -20 -20 -20 -19 -19 -19 -19 -19 -19 -21 -22 -22 -23 -23 -22 -21 -19 -18 -18 -19 -19 -19 -20 -20 -21 -20 -18 -16 -18 -19 -18 -17 -17 -18 -19 -18 -17 -17 -19 -21 -22 -21 -21 -19 -18 -17 -16 -18 -18 -18 -18 -18 -17 -17 -19 -21 -22 -6 -6 -6 -5 -3 -2 -2 -3 -3 -2 -1 1 1 0 -0 -1 -3 -5 -5 -3 -2 -3 -5 -7 -7 -6 -6 -6 -6 -8 -8 -6 -4 -2 -2 -4 -6 -8 -9 -11 -12 -11 -9 -6 -5 -6 -7 -7 -5 -2 -0 1 2 3 3 2 -0 -3 -6 -7 -7 -6 -6 -7 -8 -10 -10 -11 -12 -13 -12 -9 -8 -8 -8 -8 -8 -8 -9 -9 -8 -8 -8 -9 -14 -17 -17 -16 -14 -15 -17 -18 -17 -12 -7 -2 1 3 5 3 0 -3 -2 0 0 -2 -5 -8 -11 -12 -12 -10 -9 -10 -11 -12 -11 -9 -6 -3 1 1 -1 -3 -4 -3 -3 -4 -5 -6 -6 -4 -2 2 5 6 7 7 6 6 6 4 2 -2 -9 -14 -15 -14 -16 -17 -16 -13 -11 -10 -9 -10 -10 -10 -9 -8 -6 -4 -5 -5 -5 -4 -2 -1 -1 -3 -10 -17 -21 -23 -20 -16 -14 -13 -13 -14 -13 -12 -11 -11 -11 -12 -15 -21 -29 -33 -31 -24 -15 -10 -10 -12 -14 -14 -12 -11 -10 -9 -8 -7 -6 -6 -6 -7 -8 -8 -7 -6 -6 -9 -13 -18 -18 -16 -14 -12 -10 -10 -11 -11 -10 -8 -7 -6 -6 -7 -7 -8 -11 -17 -23 -24 -21 -15 -11 -11 -14 -18 -20 -20 -20 -21 -22 -24 -25 -24 -22 -21 -22 -23 -23 -23 -24 -26 -25 -23 -18 -16 -15 -15 -15 -16 -18 -17 -15 -13 -17 -21 -23 -23 -24 -25 -25 -27 -29 -29 -28 -28 -29 -30 -31 -32 -32 -32 -32 -32 -33 -35 -37 -37 -37 -37 -36 -35 -33 -31 -31 -30 -29 -29 -29 -29 -28 -29 -29 -31 -33 -34 -33 -32 -31 -30 -29 -28 -27 -25 -27 -28 -27 -22 -20 -21 -21 -19 -15 -16 -17 -18 -19 -18 -17 -17 -17 -19 -21 -23 -25 -28 -29 -27 -24 -23 -22 -22 -22 -21 -20 -20 -21 -22 -21 -21 -21 -21 -20 -18 -18 -19 -19 -20 -22 -22 -22 -22 -22 -22 -21 -20 -19 -18 -19 -19 -19 -20 -20 -21 -20 -19 -18 -19 -19 -19 -19 -19 -20 -19 -18 -17 -18 -20 -22 -22 -21 -20 -19 -18 -18 -18 -18 -18 -18 -18 -18 -17 -17 -19 -21 -22 -6 -6 -6 -4 -2 -1 -2 -4 -4 -2 -1 1 1 0 -1 -2 -3 -4 -3 -2 -2 -5 -7 -8 -7 -7 -7 -7 -7 -7 -7 -5 -2 -1 -2 -4 -6 -7 -8 -10 -10 -9 -7 -5 -4 -5 -7 -7 -5 -3 0 3 5 5 5 3 -0 -2 -4 -5 -6 -6 -6 -7 -9 -10 -11 -11 -12 -11 -9 -8 -9 -9 -8 -6 -6 -8 -10 -9 -6 -4 -4 -7 -11 -14 -15 -16 -16 -15 -14 -14 -15 -12 -6 -2 1 2 1 -0 -3 -3 -1 -0 -1 -4 -9 -12 -13 -11 -7 -3 -3 -6 -10 -13 -13 -12 -9 -5 -2 -0 1 1 1 1 1 0 -2 -3 -4 -5 -4 -3 -1 2 4 4 4 4 4 2 0 -2 -6 -11 -14 -14 -14 -14 -14 -12 -10 -8 -8 -8 -9 -9 -9 -7 -6 -5 -6 -6 -5 -5 -5 -4 -4 -3 -6 -11 -16 -18 -17 -15 -14 -13 -12 -11 -11 -12 -13 -13 -13 -13 -15 -19 -25 -29 -29 -25 -18 -12 -10 -10 -12 -13 -12 -11 -11 -11 -10 -8 -7 -6 -7 -7 -7 -7 -7 -8 -8 -9 -12 -15 -16 -16 -15 -14 -12 -11 -12 -12 -11 -9 -7 -6 -7 -8 -9 -10 -12 -16 -22 -24 -22 -17 -12 -10 -11 -15 -17 -18 -20 -21 -22 -22 -24 -24 -23 -22 -22 -23 -22 -22 -23 -23 -22 -20 -17 -17 -16 -15 -15 -16 -16 -16 -14 -13 -17 -20 -23 -25 -25 -24 -26 -28 -29 -29 -29 -29 -29 -30 -31 -32 -33 -33 -32 -32 -33 -34 -36 -38 -38 -39 -38 -36 -34 -32 -32 -31 -31 -31 -31 -30 -29 -29 -29 -30 -32 -33 -33 -32 -31 -30 -28 -27 -27 -26 -29 -31 -29 -24 -20 -21 -21 -20 -16 -15 -17 -19 -20 -19 -18 -18 -18 -18 -20 -23 -26 -28 -28 -26 -25 -23 -23 -23 -23 -22 -21 -20 -21 -21 -20 -21 -22 -22 -20 -18 -18 -19 -20 -21 -23 -23 -22 -22 -22 -21 -21 -21 -19 -18 -18 -18 -18 -19 -19 -20 -20 -20 -19 -19 -20 -20 -20 -21 -21 -21 -20 -18 -19 -21 -23 -23 -22 -20 -19 -18 -18 -18 -17 -16 -16 -18 -18 -17 -17 -18 -21 -22 -6 -6 -5 -3 -1 -0 -3 -4 -3 -1 1 2 1 -1 -1 -1 -2 -2 -1 -2 -4 -8 -9 -8 -6 -6 -7 -7 -7 -7 -6 -4 -2 -1 -2 -4 -6 -7 -7 -8 -8 -8 -6 -4 -3 -4 -6 -7 -5 -3 1 4 6 6 5 2 -1 -3 -4 -4 -5 -6 -6 -7 -8 -10 -10 -11 -11 -10 -7 -8 -9 -9 -8 -5 -5 -7 -10 -8 -3 -1 -1 -5 -8 -10 -12 -15 -16 -13 -11 -11 -14 -15 -10 -4 2 3 1 -3 -6 -6 -2 -2 -3 -6 -11 -17 -18 -13 -2 6 6 2 -5 -11 -14 -15 -13 -8 -5 -3 -1 2 5 6 6 5 3 1 -0 -1 -3 -5 -5 -3 -1 1 1 1 0 -2 -5 -6 -7 -8 -11 -12 -13 -13 -13 -12 -9 -8 -7 -7 -8 -9 -9 -8 -8 -7 -6 -5 -4 -4 -4 -4 -5 -6 -8 -11 -13 -14 -13 -13 -13 -12 -11 -9 -10 -12 -14 -15 -16 -16 -17 -19 -22 -25 -25 -24 -21 -16 -11 -9 -9 -10 -10 -11 -12 -12 -11 -9 -8 -8 -7 -8 -8 -7 -7 -8 -9 -10 -11 -13 -14 -15 -15 -14 -13 -12 -12 -13 -13 -11 -8 -6 -6 -9 -12 -14 -14 -15 -18 -20 -21 -19 -15 -12 -11 -12 -14 -15 -17 -18 -18 -18 -20 -22 -22 -21 -21 -21 -21 -21 -21 -20 -19 -18 -18 -18 -17 -16 -15 -15 -16 -15 -14 -16 -17 -19 -23 -28 -28 -27 -27 -29 -29 -29 -29 -29 -29 -30 -31 -32 -32 -32 -32 -32 -33 -34 -36 -38 -39 -40 -39 -37 -35 -34 -33 -32 -33 -33 -32 -31 -30 -30 -29 -30 -31 -33 -32 -31 -31 -30 -28 -27 -27 -27 -28 -29 -28 -24 -21 -20 -21 -20 -17 -16 -18 -20 -22 -20 -18 -18 -18 -18 -20 -22 -24 -26 -28 -27 -25 -24 -23 -23 -24 -23 -22 -21 -20 -20 -19 -20 -22 -21 -19 -16 -18 -20 -22 -24 -25 -24 -23 -22 -21 -21 -21 -20 -18 -18 -18 -17 -17 -18 -17 -18 -19 -20 -21 -20 -20 -20 -20 -22 -22 -21 -20 -17 -18 -21 -24 -24 -22 -19 -18 -18 -17 -17 -16 -15 -16 -17 -17 -17 -17 -18 -21 -22 -6 -6 -5 -2 -0 -1 -3 -4 -2 0 2 1 -1 -2 -2 -0 -0 -0 -0 -2 -6 -10 -10 -8 -6 -6 -7 -7 -7 -6 -5 -3 -2 -1 -3 -4 -6 -6 -6 -6 -7 -7 -6 -4 -3 -4 -6 -7 -4 -2 1 4 6 5 3 1 -2 -4 -4 -5 -7 -7 -6 -6 -7 -8 -8 -9 -9 -8 -8 -8 -9 -9 -7 -5 -6 -8 -9 -6 -1 1 -1 -5 -7 -7 -9 -11 -12 -10 -8 -9 -14 -20 -17 -8 2 6 3 -2 -7 -10 -7 -6 -6 -9 -12 -18 -22 -18 -6 8 13 11 4 -4 -12 -16 -15 -11 -7 -6 -5 -1 4 8 9 9 7 5 5 4 2 -3 -7 -8 -7 -4 -3 -3 -5 -8 -12 -12 -11 -9 -9 -10 -12 -12 -13 -12 -9 -7 -6 -6 -7 -8 -9 -9 -9 -9 -8 -6 -5 -3 -3 -3 -4 -6 -9 -12 -14 -14 -12 -10 -10 -10 -10 -9 -10 -12 -15 -18 -19 -20 -19 -19 -19 -20 -21 -21 -20 -18 -13 -9 -7 -7 -8 -9 -11 -11 -11 -10 -10 -9 -9 -9 -9 -7 -7 -7 -8 -9 -11 -13 -14 -14 -14 -13 -13 -13 -13 -13 -15 -14 -11 -8 -6 -10 -13 -15 -15 -13 -14 -16 -18 -19 -18 -15 -13 -12 -12 -13 -14 -15 -16 -16 -18 -20 -21 -20 -20 -20 -21 -21 -19 -17 -17 -18 -19 -19 -18 -17 -16 -16 -16 -16 -16 -18 -20 -22 -25 -29 -29 -28 -28 -28 -30 -30 -29 -29 -28 -29 -30 -31 -31 -31 -32 -32 -33 -34 -36 -38 -40 -41 -40 -38 -37 -35 -34 -33 -32 -32 -33 -33 -32 -31 -30 -30 -31 -32 -32 -31 -31 -29 -27 -26 -27 -27 -27 -26 -25 -24 -22 -20 -20 -20 -18 -17 -18 -21 -22 -19 -18 -18 -19 -19 -18 -19 -20 -23 -25 -26 -26 -26 -24 -23 -24 -25 -24 -22 -21 -19 -19 -20 -21 -21 -19 -16 -17 -19 -22 -24 -25 -24 -23 -22 -21 -21 -20 -19 -18 -19 -19 -18 -18 -18 -17 -18 -19 -19 -20 -20 -20 -21 -21 -22 -23 -22 -21 -18 -17 -19 -23 -23 -20 -18 -17 -16 -15 -15 -15 -15 -15 -16 -16 -17 -18 -20 -21 -22 -5 -5 -3 -1 0 -1 -3 -2 -1 1 2 -0 -2 -3 -1 0 1 -0 -1 -3 -7 -9 -9 -7 -6 -7 -8 -7 -6 -5 -4 -3 -2 -2 -3 -4 -5 -5 -5 -5 -6 -6 -6 -4 -4 -5 -6 -5 -3 -0 2 3 4 3 1 -1 -3 -3 -4 -7 -11 -11 -7 -5 -5 -6 -6 -6 -6 -7 -7 -8 -8 -7 -6 -6 -8 -8 -7 -3 -0 -1 -4 -8 -7 -6 -5 -6 -6 -4 -4 -7 -14 -21 -20 -11 1 7 8 3 -4 -11 -12 -11 -11 -11 -11 -13 -18 -19 -13 1 11 16 15 6 -7 -14 -16 -12 -7 -7 -8 -7 -2 5 10 11 9 8 10 11 9 4 -4 -9 -11 -10 -8 -8 -10 -13 -17 -18 -15 -12 -10 -10 -11 -11 -12 -11 -9 -8 -6 -6 -6 -8 -9 -9 -10 -10 -10 -9 -7 -4 -2 -1 -2 -4 -8 -11 -13 -14 -13 -10 -9 -8 -9 -8 -9 -12 -16 -20 -22 -23 -22 -20 -18 -16 -16 -16 -17 -17 -15 -12 -8 -7 -7 -8 -9 -10 -10 -11 -11 -11 -11 -11 -10 -9 -7 -7 -7 -8 -9 -13 -15 -16 -15 -13 -12 -13 -14 -15 -15 -16 -15 -13 -11 -11 -12 -13 -13 -12 -12 -13 -16 -19 -19 -18 -16 -15 -13 -12 -12 -13 -14 -15 -17 -18 -19 -18 -18 -18 -19 -19 -17 -16 -16 -18 -21 -22 -20 -18 -17 -18 -19 -18 -18 -21 -22 -24 -26 -29 -29 -28 -28 -28 -30 -30 -30 -29 -28 -28 -29 -29 -29 -30 -31 -32 -33 -34 -36 -38 -40 -41 -41 -40 -38 -36 -35 -34 -33 -32 -34 -34 -34 -32 -31 -30 -30 -30 -31 -31 -31 -28 -26 -26 -27 -28 -28 -27 -25 -24 -23 -21 -21 -21 -19 -17 -17 -18 -18 -18 -18 -19 -19 -18 -18 -17 -18 -21 -22 -24 -26 -27 -25 -24 -24 -25 -24 -23 -22 -20 -19 -20 -20 -20 -19 -16 -17 -19 -21 -24 -24 -24 -23 -22 -20 -21 -20 -19 -19 -21 -20 -20 -19 -18 -18 -18 -18 -18 -18 -19 -20 -21 -21 -22 -23 -24 -23 -20 -18 -19 -21 -22 -20 -18 -17 -16 -14 -15 -15 -15 -15 -15 -16 -17 -19 -21 -22 -22 -5 -4 -2 0 0 -1 -2 -1 0 1 1 -1 -2 -2 -2 -0 0 -1 -2 -4 -6 -7 -7 -7 -7 -8 -8 -7 -6 -4 -3 -3 -2 -2 -2 -3 -3 -4 -3 -4 -4 -5 -4 -4 -5 -6 -6 -5 -1 0 1 1 2 1 -1 -2 -2 -1 -3 -9 -15 -14 -7 -4 -3 -5 -5 -5 -4 -4 -5 -8 -9 -9 -9 -9 -9 -7 -4 -2 -3 -6 -8 -9 -7 -5 -5 -5 -4 -1 -0 -3 -11 -16 -14 -8 0 7 9 7 1 -9 -14 -16 -16 -15 -11 -9 -10 -14 -15 -11 -2 9 17 14 1 -8 -12 -10 -6 -5 -8 -11 -10 -2 5 9 9 9 12 14 16 14 7 -2 -10 -15 -14 -14 -16 -19 -22 -21 -17 -14 -12 -12 -11 -10 -10 -9 -9 -8 -7 -6 -6 -7 -8 -9 -9 -11 -12 -12 -10 -7 -3 -1 -1 -2 -6 -9 -12 -14 -13 -11 -9 -7 -7 -7 -8 -11 -15 -20 -23 -24 -23 -21 -18 -15 -13 -13 -14 -14 -14 -13 -10 -8 -7 -7 -7 -9 -10 -11 -11 -11 -12 -12 -12 -10 -9 -9 -8 -8 -8 -12 -15 -18 -18 -15 -13 -13 -14 -16 -16 -17 -17 -16 -14 -12 -10 -10 -11 -10 -10 -12 -15 -19 -19 -18 -18 -18 -17 -14 -13 -12 -12 -12 -14 -16 -17 -17 -16 -15 -15 -16 -16 -16 -17 -20 -23 -25 -24 -22 -19 -21 -21 -21 -21 -22 -23 -25 -27 -29 -29 -29 -28 -29 -29 -30 -30 -29 -29 -29 -28 -28 -28 -30 -31 -33 -34 -35 -36 -38 -39 -41 -42 -41 -40 -38 -36 -35 -34 -34 -34 -34 -33 -32 -31 -30 -29 -29 -29 -30 -30 -28 -26 -26 -28 -29 -30 -29 -27 -25 -24 -23 -22 -21 -19 -17 -14 -13 -15 -17 -19 -20 -19 -18 -18 -17 -18 -19 -20 -22 -25 -27 -26 -25 -25 -25 -24 -24 -22 -20 -20 -20 -20 -20 -19 -18 -18 -20 -23 -25 -24 -23 -22 -20 -19 -19 -20 -20 -21 -22 -21 -21 -21 -19 -17 -17 -17 -17 -18 -18 -19 -21 -20 -21 -22 -23 -24 -21 -19 -19 -20 -20 -19 -18 -17 -15 -15 -15 -16 -15 -15 -15 -16 -17 -20 -21 -22 -23 -5 -3 -1 1 0 -1 -1 -0 1 1 1 0 -1 -2 -3 -2 -0 -2 -4 -6 -7 -6 -6 -6 -8 -9 -8 -7 -6 -4 -3 -2 -2 -2 -1 -2 -3 -3 -3 -3 -3 -2 -2 -4 -5 -6 -6 -4 -2 -0 0 0 -0 -1 -2 -2 0 2 -1 -9 -15 -13 -6 -3 -3 -5 -5 -4 -3 -1 -2 -6 -8 -10 -10 -10 -8 -5 -3 -3 -6 -9 -10 -8 -6 -6 -6 -5 -4 -3 -2 -4 -8 -11 -10 -4 3 7 9 8 4 -4 -14 -19 -21 -19 -14 -7 -5 -8 -14 -18 -13 -2 11 15 6 -1 -5 -5 -4 -3 -5 -9 -12 -8 -1 5 7 6 8 11 14 16 15 9 -1 -13 -19 -22 -25 -28 -27 -23 -18 -15 -13 -13 -12 -10 -9 -8 -8 -8 -8 -7 -6 -7 -7 -8 -9 -11 -12 -13 -13 -10 -6 -3 -1 -1 -4 -7 -10 -12 -13 -12 -10 -8 -7 -7 -8 -10 -14 -19 -22 -23 -22 -21 -19 -17 -14 -12 -12 -12 -13 -12 -10 -8 -7 -7 -6 -7 -9 -10 -11 -12 -12 -12 -12 -11 -11 -10 -9 -9 -9 -11 -16 -20 -23 -20 -15 -13 -14 -17 -18 -18 -18 -18 -17 -14 -12 -10 -10 -9 -8 -10 -13 -16 -18 -18 -18 -18 -17 -16 -14 -13 -11 -10 -10 -12 -15 -16 -15 -13 -13 -14 -16 -17 -19 -22 -24 -24 -24 -22 -20 -21 -22 -23 -23 -23 -25 -26 -27 -29 -30 -29 -29 -29 -30 -30 -30 -30 -30 -30 -29 -29 -29 -30 -32 -33 -34 -35 -36 -37 -39 -41 -42 -42 -41 -39 -38 -37 -36 -35 -33 -33 -33 -32 -32 -31 -30 -29 -29 -29 -29 -29 -29 -28 -28 -29 -30 -30 -28 -26 -25 -24 -23 -21 -20 -17 -14 -12 -14 -17 -20 -21 -20 -19 -18 -18 -19 -19 -19 -22 -25 -27 -26 -26 -25 -25 -24 -23 -21 -19 -20 -20 -20 -20 -19 -18 -19 -21 -23 -25 -24 -22 -20 -19 -18 -18 -18 -19 -21 -22 -22 -21 -22 -19 -17 -16 -16 -17 -17 -18 -19 -20 -19 -19 -20 -21 -21 -20 -19 -18 -18 -18 -18 -18 -17 -16 -15 -16 -16 -14 -14 -14 -16 -18 -20 -21 -21 -22 -4 -2 0 1 0 -1 -1 0 1 2 2 1 -1 -2 -3 -2 -1 -2 -5 -8 -9 -7 -6 -6 -8 -9 -9 -7 -6 -4 -3 -2 -1 0 1 -1 -2 -3 -3 -2 -1 -1 -1 -2 -4 -5 -5 -4 -3 -2 -1 -1 -2 -3 -3 -2 1 3 -1 -8 -13 -10 -5 -2 -3 -4 -5 -4 -3 -2 -1 -3 -5 -8 -10 -9 -7 -4 -3 -5 -8 -9 -9 -7 -6 -7 -7 -6 -5 -7 -10 -11 -10 -8 -5 -0 5 7 9 9 6 -1 -12 -20 -24 -23 -18 -10 -5 -5 -11 -19 -19 -10 4 11 7 2 -1 -2 -2 -2 -3 -5 -9 -9 -5 2 6 6 6 7 9 11 12 10 5 -4 -15 -25 -32 -34 -28 -21 -16 -13 -11 -11 -11 -10 -9 -8 -7 -8 -8 -8 -7 -6 -6 -7 -8 -10 -12 -13 -14 -12 -9 -6 -3 -1 -2 -5 -8 -10 -11 -11 -11 -10 -9 -8 -8 -10 -13 -17 -20 -21 -20 -20 -20 -18 -16 -13 -12 -12 -12 -12 -11 -9 -7 -6 -6 -5 -7 -9 -11 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -13 -17 -23 -28 -28 -21 -15 -13 -17 -20 -20 -18 -17 -17 -16 -13 -10 -9 -9 -9 -10 -11 -13 -15 -17 -17 -17 -16 -15 -14 -14 -12 -8 -6 -7 -12 -15 -14 -13 -12 -14 -15 -17 -20 -23 -23 -22 -21 -21 -22 -23 -24 -25 -26 -26 -26 -27 -27 -29 -30 -30 -30 -30 -30 -30 -31 -31 -31 -31 -31 -31 -31 -30 -32 -33 -34 -35 -36 -37 -38 -41 -42 -42 -42 -40 -39 -38 -37 -36 -34 -33 -33 -33 -32 -32 -30 -29 -28 -27 -28 -30 -31 -30 -29 -29 -30 -30 -28 -27 -26 -25 -24 -22 -21 -18 -14 -12 -14 -18 -21 -22 -22 -20 -19 -20 -21 -20 -20 -21 -24 -27 -26 -26 -25 -25 -23 -22 -21 -19 -19 -19 -19 -19 -18 -17 -18 -20 -21 -23 -21 -20 -19 -20 -19 -19 -20 -20 -21 -21 -21 -21 -22 -19 -18 -17 -16 -16 -16 -17 -19 -19 -18 -18 -19 -20 -19 -18 -18 -17 -17 -17 -18 -18 -18 -16 -16 -16 -16 -15 -14 -15 -16 -18 -20 -20 -21 -21 -3 -2 1 1 -0 -1 -0 1 2 2 2 1 -1 -2 -2 -1 0 -2 -5 -8 -9 -8 -7 -7 -9 -10 -9 -8 -6 -4 -4 -2 0 2 1 -1 -2 -2 -2 -1 -0 1 1 -1 -4 -5 -5 -4 -3 -2 -1 -2 -3 -4 -4 -2 1 2 -2 -8 -11 -8 -4 -2 -2 -3 -4 -3 -3 -2 -1 -1 -3 -6 -9 -8 -6 -6 -5 -6 -7 -7 -7 -6 -7 -8 -8 -7 -5 -9 -15 -18 -14 -7 -2 1 5 7 8 9 7 1 -11 -20 -24 -24 -20 -14 -9 -8 -11 -17 -17 -10 0 8 6 3 1 -0 -0 -1 -1 -2 -4 -6 -4 0 5 6 6 6 7 7 6 5 3 -2 -11 -20 -28 -30 -22 -14 -11 -10 -8 -8 -9 -10 -10 -9 -7 -7 -8 -10 -9 -8 -6 -5 -6 -8 -10 -11 -13 -13 -12 -9 -6 -4 -3 -4 -6 -7 -8 -10 -10 -10 -9 -8 -8 -10 -12 -16 -18 -19 -18 -18 -18 -17 -16 -14 -12 -12 -12 -12 -12 -11 -9 -7 -6 -6 -6 -7 -9 -11 -11 -11 -10 -10 -12 -13 -13 -13 -14 -16 -20 -26 -34 -35 -28 -19 -13 -15 -21 -21 -19 -15 -15 -14 -13 -10 -9 -10 -10 -11 -11 -13 -14 -15 -15 -15 -14 -14 -14 -13 -11 -8 -6 -6 -10 -14 -14 -13 -12 -14 -15 -17 -20 -22 -21 -21 -21 -22 -24 -25 -26 -26 -27 -27 -27 -27 -28 -30 -30 -30 -31 -31 -31 -32 -32 -32 -32 -33 -33 -33 -32 -31 -32 -33 -34 -35 -35 -36 -38 -39 -40 -41 -42 -42 -41 -39 -38 -36 -34 -34 -33 -33 -32 -31 -30 -29 -27 -26 -27 -29 -29 -27 -28 -28 -29 -29 -28 -27 -26 -25 -24 -23 -21 -19 -15 -13 -15 -18 -22 -25 -25 -24 -22 -22 -23 -21 -20 -21 -23 -25 -26 -26 -25 -24 -23 -22 -22 -20 -19 -19 -18 -18 -17 -17 -18 -18 -18 -19 -18 -18 -18 -20 -21 -21 -21 -21 -20 -20 -19 -20 -20 -19 -18 -17 -16 -16 -16 -16 -18 -18 -17 -17 -18 -19 -18 -17 -16 -15 -15 -16 -19 -20 -18 -17 -17 -17 -17 -16 -16 -17 -18 -19 -20 -21 -21 -21 -3 -1 0 0 0 0 1 3 3 3 2 0 -1 -2 -2 -1 -0 -3 -6 -8 -8 -9 -8 -9 -10 -10 -10 -8 -7 -6 -4 -1 1 2 0 -2 -2 -2 -1 -0 1 2 2 -1 -3 -5 -5 -5 -4 -3 -2 -2 -4 -4 -4 -2 1 1 -3 -7 -9 -7 -4 -3 -3 -3 -3 -3 -2 -1 -1 -1 -3 -6 -7 -7 -7 -8 -8 -7 -6 -6 -6 -6 -7 -9 -9 -9 -6 -8 -13 -16 -13 -6 -3 0 4 8 8 8 6 0 -11 -18 -22 -21 -19 -17 -14 -12 -12 -13 -12 -7 -1 5 5 3 0 -1 -1 -1 -0 0 1 -1 -2 -0 3 5 6 6 6 5 3 1 -2 -7 -12 -18 -21 -21 -15 -11 -9 -9 -7 -6 -7 -8 -9 -10 -8 -8 -8 -10 -11 -10 -8 -6 -5 -6 -8 -10 -11 -13 -13 -12 -10 -7 -6 -6 -6 -6 -6 -8 -9 -10 -10 -9 -9 -10 -12 -15 -16 -17 -16 -16 -17 -16 -15 -13 -11 -11 -11 -12 -12 -12 -11 -9 -7 -6 -6 -6 -7 -9 -10 -10 -10 -9 -10 -12 -13 -15 -17 -19 -24 -30 -37 -39 -33 -23 -14 -14 -20 -21 -18 -12 -11 -11 -11 -11 -11 -11 -11 -11 -12 -13 -13 -13 -13 -14 -15 -14 -13 -13 -14 -14 -13 -10 -10 -12 -12 -12 -13 -15 -16 -18 -19 -21 -21 -21 -21 -23 -25 -26 -27 -28 -29 -29 -28 -28 -29 -30 -30 -30 -31 -32 -33 -33 -33 -34 -34 -34 -34 -34 -34 -32 -32 -33 -34 -34 -35 -36 -36 -37 -39 -40 -41 -42 -42 -41 -40 -38 -36 -35 -34 -33 -32 -31 -30 -28 -27 -26 -27 -27 -27 -25 -26 -28 -29 -30 -30 -28 -26 -25 -24 -23 -21 -19 -16 -14 -14 -17 -21 -26 -28 -27 -25 -23 -22 -21 -20 -20 -21 -23 -24 -25 -25 -23 -23 -24 -24 -22 -21 -21 -21 -21 -20 -20 -19 -18 -18 -17 -17 -17 -17 -20 -21 -21 -20 -20 -19 -19 -18 -19 -19 -19 -18 -18 -17 -16 -16 -17 -18 -17 -17 -17 -16 -17 -17 -16 -15 -14 -15 -17 -20 -22 -19 -18 -17 -17 -19 -18 -18 -18 -20 -20 -21 -21 -22 -22 -2 -1 -0 -0 -0 1 3 4 4 2 1 -0 -1 -2 -2 -2 -2 -4 -6 -7 -8 -8 -9 -10 -11 -11 -10 -9 -8 -6 -3 0 2 1 -1 -3 -3 -2 -1 1 2 2 2 -0 -3 -5 -5 -5 -4 -3 -2 -2 -3 -4 -3 -2 -0 -0 -3 -6 -7 -6 -4 -3 -3 -3 -3 -2 -1 -0 -1 -1 -3 -5 -7 -7 -8 -9 -8 -6 -5 -6 -6 -5 -6 -9 -12 -13 -11 -8 -7 -7 -6 -4 -3 -1 3 7 8 8 5 -1 -11 -17 -19 -17 -16 -17 -17 -15 -13 -10 -6 -4 -3 1 3 2 0 -2 -2 -2 -1 1 3 2 1 0 1 3 4 4 4 4 2 -2 -7 -12 -16 -17 -15 -12 -8 -9 -9 -9 -8 -6 -6 -7 -8 -9 -9 -8 -8 -10 -11 -11 -10 -8 -6 -6 -7 -8 -10 -11 -12 -12 -12 -12 -11 -10 -9 -8 -6 -7 -8 -9 -9 -9 -10 -11 -12 -14 -15 -15 -15 -15 -15 -15 -14 -13 -11 -10 -10 -10 -11 -12 -12 -11 -8 -7 -7 -6 -6 -8 -9 -10 -9 -9 -9 -9 -11 -13 -16 -21 -27 -33 -40 -41 -35 -26 -17 -15 -17 -17 -15 -10 -7 -7 -9 -11 -12 -13 -13 -12 -11 -12 -12 -11 -12 -15 -17 -16 -15 -14 -15 -17 -16 -15 -11 -9 -8 -9 -12 -15 -18 -20 -21 -22 -22 -21 -21 -22 -25 -27 -29 -30 -31 -31 -30 -30 -31 -31 -31 -31 -32 -33 -34 -35 -35 -35 -35 -35 -35 -36 -35 -33 -33 -33 -34 -34 -34 -34 -35 -36 -38 -39 -40 -41 -42 -42 -41 -40 -38 -35 -33 -33 -32 -31 -29 -27 -26 -26 -26 -26 -25 -24 -25 -27 -29 -30 -31 -30 -28 -26 -24 -23 -22 -20 -18 -15 -14 -15 -19 -25 -28 -28 -25 -23 -22 -21 -20 -20 -21 -23 -24 -25 -25 -22 -23 -25 -25 -24 -23 -22 -23 -23 -22 -22 -22 -21 -21 -20 -20 -18 -17 -18 -19 -19 -19 -19 -19 -19 -18 -18 -19 -19 -18 -17 -17 -16 -17 -18 -18 -17 -16 -15 -15 -16 -16 -15 -15 -16 -17 -19 -22 -22 -20 -18 -17 -17 -18 -18 -19 -19 -21 -22 -22 -23 -24 -25 -2 -1 -1 -1 -0 2 4 6 4 2 1 1 -0 -2 -3 -4 -4 -5 -6 -7 -7 -8 -9 -10 -11 -12 -11 -10 -8 -6 -1 1 1 -0 -2 -4 -4 -3 -0 1 3 3 2 -1 -4 -5 -5 -5 -5 -4 -3 -2 -3 -3 -3 -2 -0 -1 -2 -5 -7 -6 -4 -4 -3 -4 -3 -2 -1 -1 -1 -0 -2 -4 -7 -8 -8 -8 -7 -6 -7 -7 -5 -2 -3 -9 -16 -20 -18 -10 -3 -0 -2 -4 -3 -2 1 6 8 8 5 -1 -12 -18 -19 -16 -15 -17 -17 -15 -10 -6 -4 -3 -3 -2 0 1 1 -1 -2 -3 -2 1 3 4 3 2 0 1 1 1 0 1 -1 -4 -8 -13 -15 -14 -10 -6 -4 -6 -8 -9 -9 -7 -6 -6 -7 -8 -9 -9 -9 -9 -11 -11 -11 -10 -8 -6 -6 -7 -9 -10 -11 -12 -13 -13 -13 -12 -11 -10 -9 -8 -8 -8 -7 -7 -8 -10 -11 -13 -13 -13 -13 -14 -16 -16 -16 -15 -12 -10 -9 -9 -10 -12 -13 -13 -11 -9 -8 -7 -6 -6 -8 -9 -9 -9 -8 -8 -8 -10 -14 -20 -26 -34 -40 -40 -35 -27 -20 -17 -15 -13 -12 -11 -9 -7 -7 -9 -10 -12 -13 -12 -11 -11 -11 -11 -13 -16 -17 -17 -16 -15 -16 -18 -19 -18 -13 -9 -7 -7 -10 -14 -18 -21 -22 -22 -22 -21 -20 -22 -26 -28 -30 -31 -32 -33 -33 -33 -33 -32 -31 -31 -32 -33 -35 -36 -37 -37 -36 -36 -36 -37 -36 -35 -34 -33 -33 -33 -32 -33 -34 -36 -37 -39 -40 -41 -42 -43 -42 -41 -39 -36 -34 -33 -31 -30 -28 -26 -26 -26 -27 -26 -24 -23 -24 -25 -27 -30 -31 -31 -30 -28 -26 -24 -23 -21 -18 -16 -15 -16 -19 -24 -27 -27 -25 -23 -22 -22 -21 -21 -21 -23 -25 -26 -26 -23 -24 -25 -25 -24 -23 -23 -23 -23 -23 -23 -23 -22 -22 -22 -21 -20 -19 -18 -17 -18 -18 -18 -19 -20 -19 -18 -19 -20 -19 -17 -16 -17 -18 -20 -18 -15 -14 -14 -15 -16 -15 -15 -16 -17 -18 -20 -20 -19 -19 -19 -18 -16 -17 -18 -19 -19 -21 -23 -24 -24 -25 -26 -3 -2 -2 -2 -0 2 5 6 4 3 2 2 0 -2 -5 -6 -6 -6 -6 -6 -7 -8 -8 -10 -11 -12 -11 -9 -7 -3 1 2 1 -1 -3 -4 -4 -3 -1 2 3 3 1 -2 -4 -5 -5 -5 -6 -5 -4 -2 -2 -3 -3 -2 0 0 -2 -4 -6 -5 -5 -4 -3 -3 -2 -3 -3 -2 -0 1 -0 -3 -6 -7 -8 -8 -8 -8 -9 -7 -4 -0 -1 -8 -16 -23 -22 -11 -2 2 0 -3 -4 -2 1 6 9 9 5 -2 -12 -18 -19 -15 -14 -17 -20 -18 -9 -3 -2 -2 -1 -1 -1 0 1 0 -1 -2 -3 -2 1 3 4 3 1 0 -0 -1 -3 -4 -4 -6 -8 -9 -10 -10 -9 -7 -6 -6 -7 -9 -10 -8 -7 -6 -7 -8 -9 -9 -9 -9 -10 -11 -11 -11 -10 -8 -7 -7 -8 -9 -9 -11 -12 -14 -15 -14 -13 -11 -11 -10 -9 -7 -7 -7 -7 -8 -10 -11 -12 -12 -12 -13 -15 -18 -19 -18 -15 -12 -9 -8 -8 -11 -12 -13 -12 -11 -10 -8 -6 -6 -7 -8 -9 -9 -8 -7 -7 -8 -11 -16 -23 -31 -38 -39 -34 -27 -20 -16 -14 -13 -14 -15 -14 -11 -7 -5 -6 -8 -10 -11 -11 -11 -12 -13 -14 -15 -16 -17 -17 -17 -17 -19 -20 -18 -14 -10 -8 -8 -9 -14 -19 -22 -23 -23 -22 -21 -20 -22 -26 -29 -31 -32 -34 -35 -35 -36 -35 -33 -32 -31 -32 -33 -35 -37 -38 -38 -37 -37 -37 -38 -38 -37 -35 -34 -33 -32 -31 -32 -34 -35 -37 -39 -40 -42 -43 -43 -43 -43 -41 -38 -35 -32 -30 -28 -26 -26 -27 -28 -28 -27 -25 -23 -22 -24 -26 -28 -30 -32 -32 -30 -28 -25 -23 -20 -18 -18 -18 -18 -20 -24 -26 -26 -24 -23 -22 -22 -22 -21 -21 -23 -25 -26 -25 -25 -25 -26 -26 -25 -24 -23 -22 -23 -23 -23 -22 -22 -22 -22 -21 -20 -19 -18 -17 -17 -17 -18 -20 -20 -19 -19 -20 -20 -18 -17 -17 -17 -19 -21 -17 -15 -14 -15 -15 -15 -15 -15 -16 -17 -18 -19 -20 -18 -18 -19 -19 -18 -17 -17 -18 -19 -21 -23 -24 -25 -25 -26 -3 -2 -2 -2 0 3 5 6 4 3 3 2 -0 -3 -6 -7 -6 -6 -6 -6 -7 -7 -8 -9 -11 -13 -11 -8 -4 -0 1 1 -0 -1 -3 -4 -5 -4 -1 2 3 2 -1 -4 -5 -5 -5 -5 -7 -6 -5 -3 -2 -3 -3 -2 -1 0 -1 -3 -4 -5 -6 -6 -4 -2 -1 -1 -1 0 3 3 0 -3 -6 -7 -6 -7 -8 -9 -8 -5 -2 -1 -3 -9 -16 -22 -20 -11 -2 2 0 -3 -4 -3 1 7 9 9 5 -2 -11 -17 -18 -15 -13 -17 -19 -18 -10 -2 -0 0 1 2 1 1 0 -0 -1 -2 -2 -2 -1 0 1 2 3 3 3 1 -2 -5 -6 -6 -6 -6 -7 -8 -10 -11 -11 -9 -8 -9 -9 -8 -8 -7 -8 -8 -8 -9 -9 -9 -10 -10 -11 -11 -11 -10 -9 -8 -8 -8 -8 -9 -11 -14 -16 -15 -13 -11 -11 -11 -9 -8 -7 -7 -7 -8 -9 -9 -10 -10 -10 -12 -14 -17 -20 -20 -18 -15 -12 -9 -8 -9 -11 -12 -12 -12 -11 -10 -8 -6 -6 -7 -9 -10 -9 -8 -8 -7 -9 -13 -19 -27 -35 -37 -34 -27 -20 -16 -14 -14 -15 -16 -17 -16 -12 -6 -3 -4 -7 -10 -12 -13 -14 -15 -14 -14 -14 -16 -17 -17 -17 -18 -18 -16 -13 -12 -10 -9 -10 -14 -18 -21 -23 -24 -24 -23 -22 -25 -27 -30 -32 -34 -35 -36 -37 -37 -36 -34 -33 -32 -32 -33 -35 -38 -40 -39 -38 -36 -36 -38 -39 -38 -36 -34 -33 -32 -31 -32 -33 -35 -37 -39 -40 -42 -43 -44 -44 -44 -43 -40 -37 -32 -29 -26 -25 -27 -30 -31 -30 -29 -27 -23 -22 -22 -24 -27 -29 -31 -31 -31 -29 -26 -24 -21 -19 -21 -22 -22 -22 -24 -25 -23 -22 -22 -22 -22 -21 -20 -20 -22 -25 -25 -24 -24 -25 -26 -26 -26 -24 -22 -21 -22 -22 -22 -21 -22 -22 -21 -21 -19 -17 -17 -17 -16 -17 -18 -20 -20 -20 -20 -19 -19 -17 -17 -17 -18 -19 -21 -18 -17 -16 -15 -16 -16 -16 -15 -16 -17 -18 -19 -20 -18 -18 -18 -19 -19 -19 -19 -19 -19 -22 -24 -25 -25 -25 -26 -4 -3 -3 -2 1 3 5 5 5 4 3 1 -1 -4 -6 -7 -7 -7 -6 -6 -7 -8 -8 -9 -11 -12 -9 -5 -2 1 1 1 -0 -1 -2 -4 -5 -4 -2 2 3 1 -2 -4 -4 -4 -5 -6 -8 -7 -5 -3 -3 -3 -2 -2 -2 -2 -1 -1 -3 -6 -8 -7 -5 -1 0 0 1 3 5 3 -2 -5 -7 -5 -3 -4 -7 -8 -5 -3 -1 -3 -6 -11 -16 -19 -16 -7 -1 1 -2 -6 -6 -3 3 9 10 8 4 -3 -11 -16 -17 -14 -13 -16 -18 -17 -11 -3 -0 1 2 4 4 3 1 -0 -2 -3 -2 -1 0 -0 -1 -0 1 3 4 3 1 -1 -3 -4 -6 -7 -7 -8 -10 -13 -15 -14 -12 -10 -9 -7 -7 -8 -10 -9 -9 -9 -9 -9 -9 -9 -10 -10 -11 -11 -11 -10 -9 -9 -8 -9 -11 -14 -16 -16 -13 -10 -11 -11 -9 -8 -7 -7 -7 -7 -8 -9 -9 -9 -10 -11 -13 -16 -19 -21 -20 -18 -15 -12 -11 -10 -11 -11 -12 -11 -11 -10 -9 -8 -7 -6 -7 -9 -10 -10 -10 -9 -8 -10 -15 -23 -32 -36 -34 -28 -19 -15 -14 -14 -15 -16 -18 -19 -18 -13 -6 -3 -3 -6 -9 -12 -14 -15 -14 -13 -14 -15 -16 -16 -18 -18 -17 -14 -13 -12 -12 -11 -11 -13 -16 -18 -20 -24 -25 -26 -26 -26 -28 -30 -34 -36 -37 -37 -37 -36 -36 -35 -34 -33 -32 -32 -35 -38 -40 -39 -38 -36 -35 -37 -38 -38 -37 -35 -34 -33 -32 -32 -33 -34 -36 -38 -40 -42 -43 -44 -44 -45 -44 -42 -39 -34 -29 -26 -26 -27 -30 -31 -30 -29 -26 -23 -21 -21 -23 -25 -27 -29 -30 -30 -29 -27 -24 -22 -21 -22 -24 -24 -25 -26 -25 -23 -21 -20 -21 -21 -21 -20 -21 -23 -26 -26 -25 -25 -26 -25 -25 -25 -25 -22 -21 -22 -22 -21 -20 -21 -22 -22 -21 -19 -17 -17 -17 -17 -16 -17 -17 -18 -19 -18 -18 -18 -17 -17 -17 -18 -18 -20 -19 -17 -16 -16 -16 -16 -16 -16 -16 -16 -17 -19 -18 -18 -18 -18 -19 -20 -21 -21 -21 -21 -23 -25 -25 -25 -25 -25 -4 -4 -3 -1 1 3 5 5 5 4 2 -0 -2 -4 -6 -7 -7 -6 -6 -6 -7 -8 -9 -10 -11 -11 -7 -4 -1 0 1 1 1 -1 -3 -5 -6 -4 -2 1 1 -0 -2 -3 -3 -3 -5 -7 -8 -7 -5 -3 -3 -3 -2 -1 -2 -3 -2 -1 -3 -8 -10 -8 -4 -1 0 2 3 4 4 -0 -4 -7 -6 -2 -1 -2 -6 -7 -3 -1 -1 -4 -9 -14 -18 -17 -11 -4 0 -1 -6 -9 -7 -2 5 10 10 7 2 -5 -12 -16 -16 -13 -12 -15 -17 -16 -11 -5 -1 0 1 4 6 6 4 1 -1 -3 -4 -2 1 1 -0 -2 -2 1 3 4 3 2 -0 -3 -5 -6 -7 -8 -10 -13 -15 -17 -17 -14 -11 -7 -6 -7 -10 -11 -10 -10 -9 -9 -9 -8 -8 -8 -10 -11 -12 -12 -10 -9 -9 -10 -11 -15 -16 -15 -12 -9 -10 -10 -10 -8 -8 -8 -7 -7 -8 -9 -9 -9 -10 -11 -12 -14 -17 -20 -21 -20 -18 -16 -14 -13 -12 -12 -11 -11 -10 -9 -9 -9 -9 -8 -7 -8 -10 -11 -12 -11 -10 -10 -13 -19 -29 -34 -34 -28 -19 -13 -12 -13 -14 -15 -17 -19 -20 -19 -13 -7 -3 -2 -5 -9 -12 -14 -13 -14 -15 -16 -16 -17 -19 -19 -17 -14 -13 -13 -13 -13 -13 -14 -14 -14 -17 -22 -26 -28 -28 -29 -29 -31 -34 -38 -39 -37 -34 -33 -35 -36 -36 -34 -33 -33 -34 -37 -41 -40 -39 -37 -36 -37 -38 -39 -38 -37 -35 -34 -33 -32 -32 -34 -36 -38 -40 -42 -43 -44 -45 -45 -45 -44 -41 -36 -30 -27 -26 -27 -28 -28 -28 -28 -25 -22 -21 -21 -22 -24 -25 -27 -28 -28 -27 -26 -24 -23 -22 -22 -23 -25 -27 -27 -26 -23 -21 -21 -20 -20 -20 -22 -24 -26 -28 -27 -26 -26 -26 -25 -23 -24 -24 -23 -23 -23 -22 -20 -19 -20 -21 -22 -22 -20 -18 -18 -19 -18 -17 -16 -16 -16 -17 -17 -17 -17 -17 -18 -18 -18 -18 -19 -18 -17 -16 -16 -16 -16 -16 -16 -16 -16 -17 -19 -18 -18 -19 -20 -21 -20 -20 -21 -22 -21 -23 -25 -26 -25 -26 -25 -5 -4 -3 -1 1 3 4 5 5 3 1 -2 -3 -5 -6 -7 -6 -5 -5 -5 -6 -8 -9 -9 -10 -9 -6 -3 -1 -0 1 2 1 -1 -5 -6 -6 -4 -2 0 -1 -2 -3 -3 -3 -3 -5 -7 -8 -6 -5 -4 -3 -2 -1 -1 -2 -4 -2 -1 -3 -9 -10 -8 -4 -1 1 3 4 4 2 -2 -6 -7 -4 0 1 -2 -5 -6 -2 0 -1 -5 -12 -17 -18 -15 -7 -1 -1 -4 -10 -12 -8 -1 7 11 10 6 1 -6 -13 -17 -16 -13 -11 -13 -15 -15 -11 -5 -2 -1 -1 2 5 6 5 3 1 -2 -4 -4 -0 2 1 -1 -3 -2 1 3 4 3 1 -1 -4 -6 -7 -9 -10 -13 -14 -17 -19 -18 -13 -8 -5 -6 -9 -10 -10 -10 -10 -11 -10 -9 -8 -8 -8 -10 -11 -12 -11 -9 -8 -8 -11 -14 -17 -16 -11 -8 -9 -9 -10 -10 -10 -9 -8 -7 -7 -8 -9 -9 -10 -10 -11 -13 -15 -18 -21 -22 -21 -19 -16 -14 -13 -12 -12 -11 -10 -9 -9 -9 -9 -9 -8 -8 -9 -11 -13 -14 -13 -11 -12 -16 -24 -30 -31 -26 -18 -12 -10 -10 -12 -13 -15 -17 -20 -22 -19 -14 -7 -3 -3 -6 -10 -13 -13 -13 -13 -14 -16 -18 -19 -18 -17 -15 -13 -12 -12 -13 -15 -16 -15 -14 -16 -21 -26 -29 -31 -32 -32 -32 -34 -38 -39 -37 -33 -32 -34 -36 -36 -35 -34 -33 -34 -37 -40 -41 -41 -39 -38 -38 -39 -40 -40 -38 -37 -35 -34 -33 -33 -34 -36 -38 -40 -42 -43 -45 -45 -45 -45 -44 -42 -37 -32 -29 -27 -26 -26 -26 -27 -26 -24 -22 -21 -21 -22 -23 -25 -25 -26 -26 -26 -24 -23 -23 -22 -22 -23 -25 -28 -28 -27 -26 -24 -22 -21 -19 -19 -24 -26 -27 -27 -27 -26 -26 -25 -24 -22 -22 -23 -23 -24 -24 -22 -20 -18 -20 -21 -22 -22 -20 -19 -19 -20 -19 -18 -16 -15 -16 -17 -18 -18 -18 -18 -18 -18 -19 -19 -19 -19 -18 -17 -17 -17 -17 -16 -16 -16 -16 -18 -18 -18 -19 -21 -22 -22 -20 -19 -21 -23 -22 -23 -24 -26 -25 -26 -25 -5 -4 -2 0 1 3 4 5 5 3 -0 -3 -5 -6 -6 -6 -5 -5 -4 -5 -6 -8 -9 -8 -8 -7 -4 -2 -1 0 1 2 0 -2 -5 -6 -5 -4 -2 -1 -3 -4 -4 -2 -3 -4 -6 -7 -6 -5 -5 -4 -3 -2 -1 -1 -2 -4 -2 -2 -4 -9 -10 -7 -4 -1 2 4 4 3 1 -3 -5 -5 -2 2 1 -2 -6 -5 -2 -1 -2 -6 -13 -18 -16 -10 -2 -1 -3 -7 -11 -11 -7 1 8 12 11 7 1 -6 -14 -19 -19 -15 -9 -9 -10 -11 -10 -6 -4 -3 -4 -2 0 3 5 5 4 1 -2 -4 -2 1 2 1 -2 -2 0 2 3 2 0 -1 -3 -6 -8 -10 -11 -13 -14 -17 -19 -19 -15 -9 -6 -6 -7 -9 -9 -10 -10 -11 -10 -10 -9 -9 -9 -9 -11 -13 -12 -10 -8 -8 -9 -13 -16 -16 -12 -8 -9 -9 -10 -10 -10 -10 -9 -8 -8 -8 -8 -9 -10 -10 -10 -11 -13 -17 -21 -24 -24 -22 -17 -14 -13 -13 -13 -11 -10 -9 -8 -8 -9 -9 -8 -8 -10 -12 -14 -16 -16 -15 -15 -16 -21 -26 -28 -27 -20 -12 -8 -7 -8 -10 -12 -15 -18 -20 -21 -19 -14 -8 -5 -6 -10 -14 -14 -12 -11 -13 -16 -18 -18 -17 -15 -13 -12 -11 -12 -14 -18 -19 -18 -15 -16 -20 -24 -29 -33 -36 -36 -35 -37 -40 -40 -38 -34 -33 -34 -35 -37 -37 -36 -35 -35 -36 -39 -41 -42 -41 -40 -39 -39 -40 -41 -39 -38 -36 -35 -34 -34 -35 -36 -37 -39 -41 -43 -45 -46 -46 -46 -44 -42 -37 -34 -31 -28 -26 -25 -25 -26 -26 -24 -23 -22 -22 -23 -24 -25 -24 -24 -24 -24 -23 -23 -23 -22 -22 -23 -26 -29 -29 -29 -28 -27 -26 -23 -20 -19 -21 -23 -24 -24 -24 -25 -25 -24 -24 -23 -22 -22 -23 -24 -24 -23 -21 -20 -20 -21 -22 -21 -19 -19 -20 -21 -20 -18 -17 -16 -16 -17 -19 -19 -18 -18 -18 -18 -19 -20 -20 -20 -19 -18 -17 -17 -17 -16 -16 -15 -16 -16 -16 -18 -19 -21 -23 -23 -20 -19 -19 -22 -21 -23 -25 -26 -26 -26 -25 -5 -3 -1 -0 1 3 4 5 5 2 -2 -4 -6 -7 -7 -6 -5 -5 -5 -5 -6 -8 -8 -7 -6 -6 -4 -2 -1 0 1 1 -1 -3 -5 -6 -4 -3 -2 -3 -4 -4 -3 -2 -3 -5 -7 -7 -6 -4 -4 -4 -3 -2 -1 -1 -2 -2 -2 -2 -4 -7 -8 -6 -3 -1 2 4 4 2 0 -4 -5 -4 -0 3 1 -2 -5 -4 -2 -3 -5 -10 -14 -14 -10 -3 1 -2 -7 -10 -11 -9 -4 2 8 12 12 9 3 -6 -16 -23 -24 -19 -8 -3 -2 -4 -7 -6 -5 -5 -5 -5 -4 -1 2 6 6 5 2 -1 -2 -1 0 1 1 1 1 2 1 -0 -2 -3 -3 -6 -9 -12 -14 -16 -16 -17 -17 -18 -14 -10 -7 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -11 -13 -14 -13 -10 -7 -7 -10 -13 -14 -11 -8 -8 -9 -9 -10 -10 -10 -9 -9 -9 -9 -9 -10 -10 -10 -10 -11 -12 -16 -20 -25 -27 -25 -19 -15 -12 -13 -13 -11 -10 -9 -8 -8 -8 -8 -9 -9 -10 -12 -15 -17 -18 -18 -18 -18 -19 -22 -25 -26 -22 -15 -9 -6 -5 -6 -9 -12 -15 -16 -19 -20 -19 -15 -9 -8 -11 -16 -16 -12 -10 -11 -15 -17 -17 -16 -14 -12 -11 -11 -12 -15 -20 -22 -22 -18 -17 -19 -23 -27 -33 -37 -39 -39 -40 -42 -41 -39 -35 -33 -34 -35 -36 -37 -36 -36 -36 -36 -38 -39 -40 -40 -41 -40 -40 -41 -41 -40 -39 -38 -37 -36 -36 -36 -36 -37 -38 -41 -43 -45 -46 -46 -45 -43 -40 -38 -35 -33 -30 -26 -25 -25 -26 -26 -25 -24 -23 -22 -23 -24 -24 -24 -23 -23 -23 -23 -23 -22 -22 -21 -23 -26 -28 -28 -28 -27 -28 -27 -25 -23 -21 -20 -19 -20 -20 -21 -21 -22 -22 -23 -23 -23 -23 -23 -24 -24 -23 -22 -22 -20 -20 -20 -20 -19 -19 -19 -19 -19 -19 -18 -17 -17 -18 -19 -19 -18 -18 -18 -19 -20 -19 -20 -20 -21 -19 -17 -16 -15 -15 -15 -14 -14 -15 -15 -17 -19 -19 -21 -22 -20 -19 -18 -19 -21 -22 -24 -25 -26 -26 -25 -5 -2 -1 -1 1 2 4 5 4 1 -2 -5 -7 -7 -7 -6 -5 -5 -5 -6 -6 -7 -5 -4 -4 -5 -4 -2 -1 0 1 -0 -2 -3 -4 -4 -3 -3 -3 -4 -5 -4 -3 -2 -4 -6 -7 -7 -6 -4 -4 -4 -4 -2 -2 -2 -2 -1 -0 -1 -4 -7 -6 -4 -2 1 2 3 3 2 -0 -4 -6 -5 -1 2 1 -2 -4 -3 -3 -6 -10 -15 -13 -8 -4 -1 -2 -5 -8 -9 -8 -5 -2 1 5 12 13 10 4 -5 -15 -24 -28 -23 -7 3 6 4 0 -2 -3 -4 -6 -7 -8 -7 -3 3 7 7 6 4 2 -0 -2 -2 -1 2 3 2 1 -1 -5 -6 -5 -5 -10 -14 -18 -20 -20 -18 -16 -14 -11 -9 -8 -7 -7 -6 -6 -7 -7 -7 -8 -9 -10 -11 -10 -11 -12 -14 -16 -16 -13 -10 -7 -8 -10 -11 -10 -8 -8 -8 -9 -9 -9 -10 -10 -11 -10 -10 -9 -8 -8 -8 -9 -11 -12 -15 -20 -25 -29 -28 -22 -17 -12 -11 -12 -12 -11 -9 -9 -8 -8 -8 -9 -9 -10 -13 -16 -18 -20 -21 -21 -20 -20 -20 -22 -23 -23 -20 -16 -10 -6 -5 -6 -8 -12 -14 -17 -19 -21 -17 -12 -11 -13 -17 -17 -13 -10 -10 -13 -15 -16 -15 -13 -12 -11 -11 -12 -17 -22 -26 -25 -21 -19 -19 -21 -25 -31 -36 -39 -41 -43 -43 -42 -40 -36 -33 -33 -34 -35 -36 -36 -36 -37 -36 -37 -38 -39 -40 -41 -41 -41 -41 -41 -42 -41 -41 -40 -38 -37 -36 -36 -37 -39 -41 -43 -45 -46 -46 -45 -43 -39 -38 -36 -35 -33 -28 -25 -24 -25 -26 -26 -25 -24 -23 -23 -24 -24 -24 -23 -23 -23 -22 -22 -22 -21 -21 -22 -24 -25 -24 -24 -24 -26 -26 -25 -24 -22 -20 -19 -18 -18 -18 -18 -19 -20 -21 -22 -23 -25 -23 -24 -24 -23 -23 -23 -21 -20 -20 -20 -19 -18 -18 -18 -19 -19 -19 -18 -18 -19 -20 -20 -19 -19 -19 -19 -20 -19 -19 -20 -20 -19 -17 -15 -14 -13 -13 -14 -14 -14 -16 -17 -18 -18 -19 -20 -20 -19 -18 -18 -20 -21 -22 -24 -25 -25 -25 -4 -1 -0 -1 0 2 3 4 3 0 -2 -5 -7 -7 -7 -7 -6 -5 -5 -6 -6 -6 -3 -3 -4 -5 -4 -3 -1 -0 0 -1 -3 -3 -3 -2 -2 -2 -4 -5 -5 -4 -3 -2 -5 -7 -8 -7 -6 -5 -5 -5 -4 -2 -2 -3 -4 -3 -1 -1 -4 -6 -6 -4 -1 2 3 4 5 3 -1 -6 -8 -6 -2 1 1 -0 -2 -2 -6 -11 -15 -15 -9 -4 -2 -3 -5 -7 -7 -7 -5 -2 -1 0 2 8 13 11 4 -6 -17 -24 -25 -19 -5 4 7 7 6 4 1 -2 -5 -7 -10 -11 -9 -3 3 7 10 11 9 5 0 -4 -7 -4 0 2 2 -1 -5 -6 -5 -6 -11 -16 -21 -24 -23 -19 -15 -11 -10 -8 -7 -6 -6 -7 -7 -7 -6 -6 -7 -8 -8 -9 -9 -10 -11 -14 -17 -18 -16 -14 -10 -9 -9 -9 -9 -8 -8 -8 -8 -9 -9 -10 -10 -12 -12 -11 -9 -8 -7 -7 -9 -10 -12 -16 -20 -25 -29 -29 -26 -20 -14 -11 -12 -13 -12 -10 -9 -8 -8 -8 -8 -9 -11 -14 -17 -20 -21 -22 -23 -22 -21 -20 -20 -20 -21 -21 -20 -16 -12 -8 -6 -5 -7 -9 -12 -15 -18 -16 -14 -14 -14 -16 -15 -13 -11 -11 -13 -14 -14 -13 -11 -11 -11 -11 -13 -18 -24 -28 -28 -24 -21 -20 -22 -26 -31 -35 -39 -41 -42 -43 -42 -41 -37 -34 -34 -34 -35 -35 -36 -37 -37 -37 -36 -37 -38 -39 -41 -42 -42 -43 -43 -43 -43 -43 -42 -40 -39 -38 -37 -38 -40 -42 -43 -44 -45 -46 -46 -44 -40 -38 -37 -36 -34 -30 -26 -24 -24 -25 -26 -26 -24 -23 -23 -23 -24 -24 -24 -24 -23 -22 -22 -22 -22 -21 -21 -21 -21 -21 -21 -22 -24 -25 -23 -22 -22 -20 -19 -17 -17 -17 -18 -19 -19 -21 -23 -25 -26 -25 -24 -23 -22 -23 -23 -22 -21 -19 -20 -19 -17 -17 -17 -17 -18 -19 -19 -19 -19 -20 -20 -20 -19 -19 -20 -20 -20 -20 -20 -20 -19 -18 -16 -14 -12 -13 -14 -15 -15 -16 -17 -18 -17 -18 -18 -19 -20 -21 -20 -19 -20 -20 -22 -23 -24 -25 -2 -0 0 -1 0 2 2 2 2 -0 -3 -5 -6 -7 -7 -6 -6 -6 -6 -6 -6 -4 -2 -3 -3 -4 -4 -3 -2 -1 -0 -2 -4 -4 -2 -1 -1 -3 -4 -5 -5 -4 -3 -3 -5 -7 -7 -6 -5 -6 -6 -6 -5 -3 -2 -3 -4 -3 -1 -1 -3 -5 -5 -3 -0 3 4 5 4 1 -4 -7 -8 -6 -3 -1 0 1 0 -2 -9 -15 -17 -13 -7 -3 -3 -5 -6 -8 -8 -6 -2 -0 -0 -1 -0 5 10 10 4 -6 -17 -22 -20 -11 -1 3 5 6 7 6 5 2 -3 -6 -9 -12 -13 -10 -4 4 10 14 11 9 6 1 -6 -7 -5 -3 -2 -1 -3 -5 -7 -9 -13 -17 -21 -24 -25 -20 -14 -10 -11 -9 -7 -5 -5 -6 -7 -8 -8 -7 -8 -8 -7 -6 -7 -8 -10 -13 -15 -17 -18 -16 -14 -13 -11 -10 -8 -7 -7 -8 -8 -9 -9 -9 -10 -11 -12 -12 -11 -9 -7 -7 -7 -8 -11 -15 -20 -25 -28 -29 -27 -22 -17 -13 -13 -14 -13 -12 -11 -10 -9 -9 -8 -9 -11 -14 -18 -20 -22 -23 -23 -23 -21 -20 -19 -19 -19 -20 -20 -20 -18 -13 -8 -5 -4 -5 -7 -9 -12 -12 -13 -15 -16 -16 -14 -14 -14 -15 -14 -13 -11 -10 -9 -9 -10 -12 -14 -20 -25 -28 -29 -26 -23 -22 -24 -27 -32 -36 -38 -41 -42 -42 -42 -41 -39 -36 -34 -34 -35 -36 -36 -37 -37 -37 -37 -37 -37 -39 -40 -42 -43 -43 -43 -44 -45 -45 -43 -41 -40 -39 -39 -40 -41 -42 -43 -43 -45 -46 -46 -45 -42 -39 -38 -38 -36 -32 -28 -26 -25 -25 -25 -25 -24 -24 -24 -24 -24 -24 -25 -25 -25 -23 -22 -22 -22 -22 -21 -20 -20 -21 -21 -23 -25 -25 -24 -21 -20 -20 -19 -18 -18 -18 -19 -19 -21 -23 -25 -28 -28 -27 -24 -23 -21 -22 -23 -23 -23 -20 -20 -18 -17 -17 -17 -17 -18 -20 -20 -19 -19 -20 -20 -20 -20 -20 -20 -20 -20 -20 -20 -20 -19 -17 -16 -16 -14 -14 -15 -16 -16 -16 -17 -18 -18 -18 -18 -18 -19 -21 -21 -20 -20 -19 -20 -21 -22 -25 -1 -0 -0 -1 0 1 1 1 1 -0 -2 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -4 -4 -4 -4 -3 -1 -1 -3 -4 -4 -2 -1 -2 -3 -3 -4 -4 -4 -4 -3 -6 -8 -7 -5 -4 -5 -6 -7 -5 -4 -3 -3 -3 -2 -1 -1 -3 -4 -3 -2 0 3 5 5 2 -2 -8 -8 -7 -5 -3 -1 0 1 0 -3 -11 -16 -17 -11 -5 -5 -5 -6 -6 -8 -8 -7 -3 -1 -1 -1 -1 2 6 7 4 -3 -12 -17 -16 -9 -2 1 3 4 5 6 5 4 0 -4 -7 -10 -12 -13 -8 -1 5 9 9 10 9 6 1 -3 -5 -6 -6 -3 -3 -5 -7 -10 -13 -17 -21 -24 -23 -18 -12 -8 -11 -11 -9 -6 -4 -5 -7 -8 -8 -9 -9 -8 -7 -6 -6 -7 -9 -11 -13 -15 -17 -17 -16 -14 -12 -11 -9 -8 -7 -7 -8 -9 -9 -9 -9 -10 -12 -13 -13 -11 -9 -7 -6 -6 -9 -14 -19 -25 -28 -29 -28 -25 -21 -16 -14 -14 -14 -14 -12 -12 -11 -10 -10 -10 -10 -12 -15 -19 -21 -23 -23 -23 -21 -20 -20 -18 -17 -17 -19 -20 -21 -18 -14 -9 -5 -4 -4 -5 -6 -7 -11 -14 -17 -17 -15 -15 -16 -18 -16 -13 -11 -9 -7 -7 -9 -12 -16 -21 -25 -28 -29 -28 -26 -25 -27 -31 -35 -37 -39 -41 -41 -41 -41 -41 -39 -37 -35 -35 -35 -36 -37 -37 -37 -37 -37 -38 -38 -38 -40 -41 -42 -42 -43 -44 -46 -46 -44 -43 -43 -42 -41 -41 -42 -42 -43 -43 -45 -46 -46 -46 -44 -41 -39 -39 -38 -34 -30 -27 -25 -25 -25 -25 -24 -24 -24 -24 -24 -24 -26 -27 -27 -26 -23 -22 -22 -23 -23 -22 -22 -23 -24 -26 -27 -27 -25 -21 -20 -20 -19 -19 -19 -19 -19 -20 -22 -25 -28 -30 -31 -29 -26 -23 -21 -21 -22 -23 -24 -21 -20 -18 -17 -17 -18 -18 -19 -20 -20 -20 -19 -19 -21 -21 -21 -20 -20 -20 -20 -20 -20 -20 -19 -18 -16 -16 -16 -15 -16 -17 -17 -17 -18 -20 -20 -19 -19 -18 -18 -19 -19 -20 -21 -20 -21 -22 -23 -24 -0 0 -0 -1 -0 -0 0 0 1 -1 -3 -4 -5 -5 -5 -6 -7 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -4 -5 -4 -2 -0 -2 -3 -3 -3 -4 -4 -5 -5 -6 -8 -8 -6 -4 -5 -6 -6 -5 -5 -5 -4 -2 -0 -1 -1 -2 -2 -2 -1 0 3 5 3 -1 -6 -10 -9 -7 -4 -2 -1 -1 -1 -2 -5 -11 -14 -14 -8 -5 -5 -6 -6 -6 -8 -9 -8 -6 -3 -2 -1 -0 0 2 3 2 -0 -6 -13 -15 -13 -5 0 3 4 4 4 4 4 2 -1 -4 -7 -9 -11 -10 -5 0 5 6 7 6 5 3 0 -2 -4 -6 -5 -4 -4 -6 -8 -12 -17 -22 -24 -21 -15 -9 -6 -9 -10 -10 -8 -6 -6 -7 -7 -8 -10 -10 -10 -9 -7 -6 -7 -9 -11 -11 -12 -14 -16 -16 -16 -14 -12 -10 -8 -7 -7 -8 -9 -9 -8 -8 -8 -10 -12 -13 -12 -10 -8 -6 -6 -7 -12 -18 -24 -29 -29 -28 -26 -23 -19 -16 -14 -14 -14 -13 -13 -12 -12 -11 -11 -11 -11 -13 -16 -19 -21 -22 -21 -20 -20 -19 -17 -15 -16 -17 -19 -21 -20 -18 -14 -9 -7 -6 -5 -3 -4 -7 -11 -15 -16 -17 -18 -18 -17 -14 -11 -9 -8 -7 -7 -9 -12 -17 -21 -24 -27 -29 -30 -30 -30 -31 -35 -37 -39 -40 -41 -41 -40 -40 -41 -39 -38 -36 -36 -37 -37 -37 -37 -37 -38 -38 -39 -38 -38 -39 -39 -40 -40 -42 -43 -45 -47 -47 -46 -46 -45 -44 -43 -43 -43 -43 -44 -44 -45 -45 -46 -44 -41 -38 -39 -38 -35 -31 -28 -27 -26 -25 -25 -25 -25 -25 -25 -24 -24 -25 -27 -29 -29 -25 -23 -22 -24 -25 -24 -23 -24 -26 -27 -27 -26 -24 -21 -20 -20 -20 -20 -20 -20 -20 -21 -23 -26 -30 -34 -35 -33 -29 -24 -22 -21 -22 -23 -23 -22 -21 -19 -18 -18 -19 -19 -19 -19 -19 -19 -19 -19 -21 -21 -21 -21 -20 -20 -20 -20 -20 -20 -19 -18 -17 -18 -19 -19 -18 -19 -19 -19 -20 -22 -22 -21 -20 -19 -18 -18 -19 -20 -21 -21 -22 -24 -25 -25 -0 -1 -1 -1 -1 -1 -0 0 0 -1 -3 -4 -5 -4 -4 -6 -7 -7 -6 -6 -5 -5 -4 -4 -4 -4 -3 -3 -3 -2 -3 -4 -4 -4 -2 -1 -2 -3 -3 -2 -3 -5 -5 -6 -7 -8 -8 -6 -4 -5 -5 -4 -3 -5 -6 -4 -1 1 0 -0 -0 -1 -2 -2 -1 1 3 0 -5 -9 -11 -9 -5 -2 -0 -1 -3 -5 -7 -9 -11 -10 -8 -5 -4 -6 -6 -6 -6 -7 -8 -8 -7 -5 -4 -2 -1 -1 -1 -1 -1 -1 -5 -11 -16 -17 -9 -0 4 5 4 4 3 2 1 -1 -2 -3 -5 -7 -8 -7 -3 2 4 4 2 0 -0 -1 -2 -3 -5 -6 -6 -5 -5 -6 -10 -15 -21 -24 -19 -12 -6 -4 -7 -9 -9 -9 -8 -8 -8 -8 -9 -10 -11 -11 -10 -9 -9 -9 -10 -13 -13 -13 -12 -13 -14 -15 -15 -13 -11 -8 -7 -7 -7 -8 -8 -8 -8 -7 -8 -10 -12 -12 -11 -9 -8 -6 -7 -10 -16 -22 -27 -27 -26 -25 -24 -22 -18 -15 -13 -13 -14 -14 -13 -13 -12 -12 -12 -12 -12 -14 -16 -18 -18 -18 -18 -18 -18 -16 -14 -15 -16 -18 -20 -20 -19 -17 -13 -11 -10 -9 -6 -4 -5 -7 -10 -14 -17 -20 -21 -18 -14 -10 -8 -7 -7 -8 -10 -13 -18 -21 -24 -26 -30 -32 -33 -34 -36 -38 -39 -40 -40 -41 -42 -41 -41 -41 -39 -38 -37 -37 -38 -38 -38 -38 -37 -38 -39 -40 -39 -38 -38 -38 -38 -39 -40 -42 -45 -47 -49 -49 -48 -47 -46 -44 -43 -43 -43 -43 -43 -43 -43 -45 -43 -40 -38 -38 -37 -35 -32 -30 -29 -28 -27 -25 -25 -25 -25 -24 -24 -23 -24 -26 -28 -29 -26 -23 -22 -24 -25 -25 -24 -24 -26 -27 -25 -23 -22 -21 -20 -20 -20 -20 -21 -21 -21 -21 -23 -26 -31 -36 -37 -34 -30 -25 -24 -22 -22 -22 -22 -22 -22 -21 -20 -20 -20 -20 -19 -19 -18 -18 -18 -19 -20 -21 -21 -21 -20 -20 -20 -20 -20 -20 -20 -19 -17 -18 -20 -21 -21 -21 -20 -19 -20 -22 -22 -21 -20 -19 -19 -18 -18 -19 -21 -22 -23 -24 -25 -25 -1 -1 -2 -2 -2 -1 -1 0 0 -1 -2 -3 -3 -3 -4 -6 -7 -8 -7 -6 -5 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -2 -1 -2 -2 -2 -2 -3 -5 -6 -7 -8 -9 -7 -5 -3 -5 -4 -2 -2 -5 -7 -5 -1 2 2 2 2 -1 -2 -3 -3 -1 0 -3 -7 -10 -10 -6 -4 -1 -1 -2 -5 -9 -12 -13 -10 -6 -4 -3 -5 -6 -5 -3 -4 -6 -7 -7 -5 -3 -3 -3 -3 -3 -3 -3 -4 -5 -7 -12 -17 -18 -10 -1 5 6 5 5 3 1 -1 -2 -1 -1 -1 -3 -5 -6 -4 -0 3 3 1 -2 -4 -5 -6 -6 -8 -9 -9 -8 -7 -7 -9 -12 -17 -20 -15 -9 -4 -4 -5 -7 -8 -8 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -11 -13 -14 -13 -12 -11 -12 -12 -13 -12 -12 -10 -8 -6 -7 -7 -8 -9 -9 -8 -8 -9 -9 -10 -10 -10 -9 -9 -10 -11 -14 -19 -23 -24 -23 -23 -23 -22 -19 -16 -14 -13 -14 -14 -13 -13 -13 -13 -13 -12 -12 -13 -14 -15 -15 -15 -16 -17 -18 -16 -14 -14 -14 -16 -18 -19 -19 -19 -16 -14 -13 -13 -11 -8 -5 -5 -7 -11 -16 -20 -21 -18 -14 -11 -8 -6 -7 -9 -12 -14 -17 -20 -24 -28 -31 -33 -35 -37 -38 -39 -41 -42 -41 -41 -43 -43 -42 -42 -40 -39 -38 -38 -39 -40 -40 -39 -39 -40 -40 -41 -40 -39 -38 -37 -37 -38 -40 -42 -45 -47 -49 -50 -49 -49 -48 -45 -44 -43 -43 -42 -41 -41 -42 -44 -42 -40 -38 -38 -37 -35 -34 -32 -31 -30 -28 -26 -25 -25 -25 -24 -23 -23 -23 -25 -26 -27 -25 -23 -22 -23 -24 -25 -25 -25 -25 -25 -23 -20 -20 -19 -19 -20 -20 -20 -21 -21 -21 -21 -23 -26 -31 -36 -35 -33 -29 -25 -24 -23 -23 -22 -23 -24 -25 -24 -23 -22 -22 -21 -20 -19 -18 -17 -18 -19 -20 -21 -21 -20 -20 -19 -20 -21 -21 -21 -20 -19 -18 -17 -18 -20 -22 -22 -20 -18 -19 -21 -21 -21 -20 -19 -18 -17 -17 -18 -21 -23 -24 -25 -25 -25 -1 -2 -3 -4 -3 -2 -1 -0 0 -0 -1 -2 -2 -2 -3 -6 -7 -7 -7 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -2 -2 -2 -2 -2 -3 -5 -7 -9 -9 -8 -6 -3 -2 -3 -3 -1 -1 -4 -6 -5 -2 2 4 4 2 -2 -3 -3 -2 -2 -2 -6 -9 -10 -8 -4 -2 -2 -3 -5 -9 -12 -13 -11 -7 -3 -3 -5 -8 -6 -3 -0 -2 -4 -5 -4 -2 -1 -1 -1 -2 -3 -4 -5 -6 -6 -7 -11 -16 -19 -13 -3 5 9 8 8 4 0 -3 -3 -2 -0 0 -1 -3 -4 -4 -1 3 5 3 -1 -5 -8 -9 -10 -11 -13 -13 -12 -11 -10 -10 -11 -12 -13 -11 -7 -5 -4 -4 -5 -6 -6 -8 -9 -10 -10 -9 -10 -10 -10 -10 -10 -10 -10 -10 -12 -13 -13 -12 -11 -11 -11 -11 -11 -11 -10 -8 -7 -6 -7 -8 -9 -10 -10 -10 -9 -8 -7 -8 -8 -10 -12 -14 -14 -15 -16 -18 -19 -19 -19 -20 -20 -19 -17 -16 -15 -14 -14 -13 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -13 -15 -16 -17 -16 -14 -13 -14 -15 -16 -18 -19 -21 -18 -16 -14 -15 -15 -13 -10 -7 -7 -10 -14 -17 -19 -16 -14 -12 -9 -7 -8 -10 -13 -16 -18 -21 -24 -28 -32 -34 -36 -38 -41 -42 -43 -43 -42 -42 -43 -44 -44 -43 -42 -40 -39 -39 -39 -41 -41 -41 -41 -42 -42 -42 -42 -40 -39 -38 -38 -39 -41 -43 -45 -47 -48 -49 -50 -50 -49 -46 -44 -44 -43 -41 -40 -39 -40 -43 -43 -41 -40 -39 -37 -37 -36 -35 -33 -31 -29 -27 -26 -26 -25 -23 -23 -23 -23 -23 -24 -24 -24 -23 -22 -22 -24 -25 -26 -25 -24 -23 -21 -19 -18 -18 -18 -19 -19 -19 -20 -20 -20 -21 -23 -26 -30 -33 -33 -30 -27 -24 -24 -24 -24 -24 -24 -25 -26 -27 -26 -25 -23 -22 -21 -20 -18 -18 -18 -19 -20 -21 -20 -20 -19 -19 -20 -22 -23 -22 -21 -19 -19 -16 -15 -17 -20 -21 -20 -19 -19 -21 -22 -22 -20 -19 -18 -16 -15 -16 -20 -23 -24 -24 -24 -24 -1 -3 -4 -5 -4 -3 -1 -0 0 -0 -0 -1 -1 -1 -3 -5 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -3 -3 -3 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -4 -6 -8 -9 -9 -7 -4 -2 -1 -2 -2 -1 -1 -3 -4 -3 -1 3 5 4 1 -2 -2 -2 -2 -3 -5 -7 -8 -7 -4 -2 -2 -4 -7 -10 -12 -12 -10 -6 -3 -3 -6 -8 -8 -5 -2 -1 -3 -4 -3 -1 0 0 1 1 1 0 -2 -4 -5 -5 -5 -8 -13 -18 -15 -7 2 9 10 9 6 2 -2 -3 -2 -1 0 -1 -3 -4 -4 -2 2 4 5 2 -3 -6 -8 -10 -12 -15 -17 -17 -16 -14 -12 -11 -10 -9 -8 -7 -6 -5 -4 -4 -5 -5 -6 -8 -9 -10 -11 -11 -10 -10 -10 -11 -11 -10 -10 -11 -12 -12 -12 -12 -11 -10 -9 -9 -10 -10 -9 -7 -6 -7 -8 -10 -11 -11 -11 -11 -10 -8 -8 -8 -9 -11 -14 -15 -15 -15 -16 -16 -16 -17 -17 -18 -19 -19 -18 -17 -16 -14 -13 -11 -11 -11 -11 -11 -12 -13 -14 -14 -13 -13 -13 -15 -16 -16 -15 -15 -14 -14 -15 -16 -18 -19 -19 -18 -16 -15 -16 -16 -15 -12 -10 -11 -13 -15 -15 -14 -12 -12 -12 -11 -10 -11 -14 -17 -20 -22 -25 -29 -33 -35 -37 -39 -43 -45 -46 -45 -43 -43 -43 -44 -44 -44 -43 -42 -41 -40 -40 -41 -42 -42 -43 -44 -44 -44 -43 -42 -40 -39 -39 -40 -41 -43 -44 -45 -46 -47 -48 -50 -50 -47 -46 -45 -43 -42 -40 -39 -40 -42 -42 -41 -41 -39 -38 -38 -39 -38 -35 -33 -31 -30 -28 -26 -25 -24 -23 -23 -23 -23 -22 -22 -22 -22 -23 -22 -24 -25 -27 -26 -25 -23 -21 -19 -18 -17 -18 -18 -18 -18 -19 -20 -21 -23 -25 -27 -30 -32 -31 -29 -26 -25 -24 -25 -25 -26 -25 -26 -27 -28 -28 -26 -24 -23 -23 -21 -20 -19 -19 -20 -21 -21 -20 -19 -19 -19 -21 -23 -25 -24 -21 -19 -18 -16 -15 -14 -17 -20 -21 -21 -19 -21 -21 -21 -19 -18 -17 -16 -15 -16 -19 -21 -22 -23 -23 -22 -2 -4 -5 -6 -5 -3 -1 -0 1 0 0 0 -0 -1 -2 -4 -6 -6 -6 -7 -7 -7 -7 -6 -5 -4 -3 -3 -3 -3 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -5 -7 -9 -9 -8 -6 -3 -1 -1 -2 -2 -1 -0 -2 -3 -2 1 5 4 2 -1 -3 -2 -1 -1 -3 -6 -7 -6 -4 -1 -1 -3 -7 -12 -13 -12 -8 -5 -4 -5 -7 -8 -9 -7 -5 -3 -4 -6 -6 -4 -2 -0 -0 1 3 4 3 1 -1 -3 -5 -4 -6 -10 -15 -13 -7 1 8 11 10 7 4 0 -2 -2 -1 -1 -2 -3 -3 -4 -3 -1 2 3 2 -1 -3 -5 -7 -10 -14 -18 -21 -22 -16 -12 -9 -9 -9 -9 -8 -7 -6 -6 -5 -5 -5 -6 -6 -7 -9 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -10 -9 -8 -8 -9 -8 -7 -7 -8 -9 -10 -11 -12 -13 -13 -12 -11 -10 -9 -8 -10 -12 -13 -13 -13 -14 -15 -16 -16 -16 -17 -19 -20 -19 -18 -16 -15 -13 -11 -10 -11 -11 -12 -12 -13 -14 -15 -14 -14 -14 -14 -15 -16 -16 -16 -16 -16 -15 -15 -16 -18 -21 -21 -20 -18 -18 -19 -18 -17 -15 -14 -14 -14 -14 -12 -10 -11 -14 -15 -14 -14 -15 -18 -19 -21 -24 -29 -33 -35 -36 -38 -42 -46 -47 -46 -44 -43 -44 -45 -45 -45 -45 -45 -44 -42 -41 -41 -42 -43 -43 -44 -45 -45 -45 -43 -41 -40 -40 -41 -42 -43 -43 -43 -44 -45 -46 -48 -49 -49 -47 -46 -44 -43 -42 -40 -40 -41 -42 -42 -42 -41 -39 -38 -39 -39 -38 -35 -32 -31 -30 -28 -26 -24 -24 -24 -24 -23 -22 -22 -22 -21 -22 -22 -23 -25 -27 -26 -26 -24 -22 -20 -18 -17 -17 -18 -18 -18 -18 -20 -22 -24 -26 -27 -28 -30 -31 -30 -28 -26 -26 -25 -25 -26 -25 -26 -28 -29 -30 -28 -26 -25 -25 -23 -21 -20 -20 -21 -22 -22 -20 -19 -18 -19 -21 -23 -24 -24 -22 -19 -18 -17 -16 -15 -15 -18 -20 -21 -20 -19 -19 -19 -19 -19 -18 -17 -16 -16 -17 -19 -21 -22 -21 -20 -2 -4 -5 -6 -6 -4 -2 -0 1 1 1 1 0 -1 -2 -3 -5 -5 -6 -7 -7 -7 -7 -7 -6 -4 -3 -3 -3 -3 -4 -4 -5 -4 -3 -2 -1 -2 -3 -3 -6 -7 -8 -7 -5 -5 -4 -4 -3 -2 -1 -1 -1 -3 -3 -0 4 6 3 -0 -3 -4 -1 -0 -1 -4 -7 -6 -4 -1 0 -2 -6 -10 -14 -13 -8 -4 -3 -8 -11 -11 -9 -8 -6 -5 -5 -7 -9 -9 -7 -5 -4 -3 -1 2 5 5 5 2 -1 -4 -6 -9 -12 -13 -9 -2 4 9 11 10 8 6 3 -0 -1 -2 -2 -4 -4 -4 -4 -3 -1 2 2 1 -1 -3 -4 -5 -7 -11 -16 -22 -26 -20 -12 -8 -7 -9 -10 -10 -8 -6 -6 -5 -5 -5 -5 -5 -6 -7 -8 -9 -10 -11 -11 -12 -12 -12 -12 -12 -11 -11 -11 -11 -12 -11 -9 -8 -7 -7 -7 -7 -7 -8 -9 -10 -12 -13 -14 -14 -14 -13 -13 -11 -10 -9 -10 -10 -11 -12 -13 -14 -15 -16 -16 -17 -19 -20 -20 -19 -18 -16 -14 -12 -11 -11 -12 -12 -12 -13 -14 -15 -15 -16 -15 -15 -14 -15 -16 -17 -18 -18 -17 -16 -16 -18 -20 -21 -21 -20 -20 -22 -22 -22 -19 -17 -15 -15 -16 -13 -12 -12 -16 -20 -19 -18 -15 -16 -17 -19 -22 -27 -34 -36 -36 -35 -40 -45 -47 -46 -44 -43 -44 -46 -46 -47 -47 -48 -47 -46 -44 -43 -42 -43 -43 -44 -45 -45 -45 -44 -43 -41 -40 -41 -42 -43 -42 -41 -41 -42 -44 -45 -48 -49 -48 -47 -46 -44 -43 -41 -39 -40 -41 -42 -43 -41 -39 -37 -36 -37 -38 -37 -33 -32 -31 -29 -27 -25 -25 -25 -25 -25 -23 -23 -22 -21 -22 -22 -23 -25 -26 -26 -26 -25 -23 -21 -18 -17 -17 -18 -17 -17 -18 -20 -23 -24 -24 -24 -26 -28 -29 -29 -28 -28 -26 -24 -22 -25 -25 -27 -28 -30 -31 -30 -29 -27 -26 -24 -22 -21 -21 -23 -23 -23 -20 -18 -18 -19 -20 -22 -23 -23 -21 -18 -17 -17 -18 -18 -16 -15 -16 -18 -18 -18 -17 -17 -20 -21 -20 -19 -17 -17 -17 -19 -21 -21 -19 -18 -3 -4 -5 -6 -6 -4 -2 -0 1 2 2 1 0 -1 -2 -3 -4 -4 -5 -6 -7 -7 -8 -7 -6 -5 -4 -3 -3 -3 -4 -5 -5 -5 -3 -2 -1 -2 -3 -4 -6 -7 -6 -3 -2 -4 -6 -6 -5 -2 -1 -1 -2 -4 -2 1 5 6 2 -2 -4 -4 -2 -1 -3 -6 -7 -5 -2 -0 -1 -4 -9 -12 -12 -9 -3 -1 -5 -15 -17 -14 -9 -7 -5 -4 -6 -9 -12 -11 -10 -8 -8 -8 -6 -2 3 6 6 5 1 -3 -8 -14 -18 -17 -7 3 9 11 11 10 9 7 3 1 -1 -2 -2 -5 -6 -6 -6 -5 -2 2 3 3 -0 -3 -5 -6 -7 -8 -12 -18 -23 -19 -12 -7 -6 -7 -9 -10 -10 -8 -6 -5 -4 -3 -4 -5 -6 -7 -8 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -11 -11 -11 -12 -11 -10 -9 -8 -7 -6 -6 -7 -8 -9 -10 -12 -14 -15 -16 -16 -15 -15 -13 -12 -10 -9 -9 -9 -10 -11 -13 -14 -16 -17 -17 -19 -20 -20 -20 -19 -17 -15 -13 -12 -12 -11 -11 -12 -13 -14 -15 -16 -17 -17 -16 -15 -15 -15 -16 -18 -20 -20 -18 -18 -19 -19 -19 -19 -20 -21 -22 -24 -25 -23 -21 -19 -18 -18 -17 -16 -15 -16 -19 -21 -20 -16 -14 -15 -17 -20 -26 -33 -36 -36 -35 -39 -43 -45 -45 -44 -43 -44 -46 -47 -47 -48 -48 -49 -48 -46 -44 -43 -42 -41 -42 -43 -44 -45 -45 -44 -42 -40 -41 -42 -43 -41 -39 -40 -41 -43 -45 -47 -48 -48 -48 -47 -46 -44 -41 -39 -40 -41 -42 -42 -41 -39 -37 -35 -36 -38 -39 -36 -33 -33 -31 -29 -27 -25 -25 -26 -26 -24 -23 -23 -22 -22 -23 -24 -26 -27 -27 -27 -26 -23 -22 -20 -18 -17 -17 -17 -17 -17 -20 -24 -24 -22 -22 -24 -26 -28 -28 -27 -27 -25 -22 -20 -22 -24 -26 -29 -31 -32 -31 -30 -28 -27 -25 -24 -23 -22 -23 -23 -22 -20 -18 -18 -19 -20 -22 -22 -22 -20 -18 -17 -16 -17 -17 -17 -15 -14 -15 -17 -17 -17 -17 -20 -21 -21 -20 -19 -18 -18 -19 -20 -20 -19 -18 -3 -4 -5 -5 -6 -4 -3 -1 1 2 2 1 0 -1 -2 -2 -3 -4 -4 -5 -6 -7 -9 -8 -7 -5 -4 -3 -3 -3 -4 -6 -6 -5 -4 -3 -2 -3 -4 -5 -6 -5 -3 0 -0 -4 -6 -7 -5 -3 -3 -3 -4 -4 -1 2 5 4 0 -3 -4 -4 -3 -4 -6 -8 -6 -3 -1 -1 -4 -8 -10 -11 -9 -4 -0 -2 -9 -19 -18 -13 -8 -7 -4 -3 -5 -9 -13 -12 -10 -9 -10 -11 -9 -5 -0 5 6 4 1 -2 -9 -17 -23 -23 -11 3 12 14 12 11 9 7 3 -1 -2 -2 -2 -4 -6 -8 -9 -9 -6 -2 2 3 2 -1 -5 -8 -10 -9 -10 -12 -15 -14 -10 -7 -5 -5 -7 -9 -10 -10 -8 -5 -3 -2 -2 -3 -4 -5 -7 -8 -10 -11 -12 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -11 -11 -10 -9 -7 -6 -6 -7 -8 -9 -10 -11 -13 -16 -18 -19 -18 -16 -15 -13 -11 -10 -10 -9 -10 -10 -12 -13 -15 -16 -17 -18 -19 -19 -19 -19 -18 -17 -14 -13 -12 -11 -11 -12 -13 -14 -16 -17 -18 -19 -19 -18 -16 -16 -16 -18 -20 -21 -21 -22 -23 -21 -18 -16 -18 -18 -20 -23 -25 -25 -25 -23 -22 -21 -21 -21 -19 -18 -19 -19 -19 -16 -16 -18 -19 -21 -25 -32 -35 -36 -36 -39 -42 -43 -43 -43 -43 -43 -44 -46 -47 -48 -48 -49 -48 -46 -45 -44 -42 -41 -40 -41 -42 -44 -44 -43 -42 -40 -41 -42 -42 -40 -38 -39 -40 -43 -45 -47 -49 -50 -49 -49 -49 -47 -43 -41 -40 -41 -41 -41 -40 -39 -37 -36 -36 -39 -41 -38 -35 -34 -34 -32 -29 -28 -27 -26 -26 -25 -24 -23 -23 -22 -23 -24 -26 -28 -28 -27 -26 -23 -22 -20 -18 -18 -18 -18 -17 -17 -20 -23 -23 -21 -21 -24 -27 -28 -27 -24 -24 -22 -20 -18 -18 -20 -24 -28 -30 -32 -32 -31 -29 -27 -26 -24 -23 -23 -22 -22 -22 -20 -19 -18 -19 -20 -21 -21 -21 -19 -17 -16 -16 -16 -16 -15 -15 -15 -17 -18 -18 -19 -18 -19 -20 -21 -21 -20 -19 -18 -18 -18 -18 -18 -18 -5 -4 -4 -5 -5 -4 -3 -1 1 3 3 2 -0 -1 -1 -2 -2 -3 -3 -4 -5 -7 -10 -9 -7 -5 -4 -3 -3 -4 -5 -6 -6 -6 -5 -4 -3 -4 -5 -5 -5 -3 0 2 -0 -4 -6 -6 -4 -4 -5 -6 -5 -4 -1 2 4 2 -2 -4 -5 -5 -5 -6 -7 -8 -6 -4 -3 -5 -8 -10 -11 -9 -5 -1 -1 -4 -11 -17 -14 -10 -7 -6 -4 -3 -4 -8 -12 -11 -10 -9 -11 -11 -10 -7 -3 1 2 2 -0 -3 -8 -14 -20 -22 -12 0 10 15 14 12 9 6 2 -4 -6 -5 -2 -1 -4 -6 -9 -12 -11 -8 -3 1 2 1 -3 -7 -11 -12 -12 -11 -11 -10 -8 -6 -4 -4 -5 -6 -8 -9 -8 -7 -5 -3 -2 -2 -3 -4 -5 -6 -8 -10 -12 -14 -15 -15 -15 -15 -14 -14 -13 -13 -13 -11 -10 -9 -9 -7 -6 -6 -6 -8 -9 -10 -10 -12 -15 -18 -21 -22 -19 -16 -13 -12 -12 -11 -10 -10 -10 -10 -12 -13 -15 -17 -18 -19 -19 -19 -19 -18 -18 -16 -14 -13 -12 -11 -12 -13 -15 -16 -17 -18 -19 -20 -20 -18 -17 -16 -16 -18 -20 -22 -25 -26 -24 -20 -16 -14 -14 -16 -19 -22 -25 -27 -27 -25 -24 -26 -27 -26 -24 -21 -19 -18 -17 -18 -20 -21 -22 -26 -31 -35 -37 -38 -39 -41 -42 -42 -42 -42 -42 -43 -44 -46 -48 -49 -49 -47 -45 -44 -44 -43 -41 -40 -40 -41 -43 -43 -42 -41 -40 -41 -41 -41 -39 -38 -39 -40 -42 -45 -47 -49 -50 -51 -52 -52 -51 -49 -45 -43 -41 -41 -39 -38 -38 -39 -38 -38 -40 -41 -38 -35 -35 -35 -34 -32 -31 -30 -29 -28 -26 -25 -23 -23 -22 -22 -23 -25 -27 -28 -27 -26 -23 -21 -19 -18 -18 -19 -19 -18 -18 -20 -22 -23 -22 -22 -25 -27 -27 -25 -21 -21 -20 -19 -17 -16 -17 -21 -26 -29 -30 -31 -30 -28 -27 -26 -25 -23 -23 -23 -23 -22 -20 -19 -19 -18 -19 -20 -21 -20 -18 -17 -16 -15 -14 -15 -14 -14 -14 -16 -18 -19 -20 -19 -19 -19 -20 -21 -20 -20 -19 -17 -16 -15 -16 -17 -5 -4 -4 -5 -6 -5 -4 -2 1 3 3 2 -0 -1 -1 -2 -3 -3 -2 -3 -5 -7 -10 -9 -8 -5 -3 -2 -4 -5 -6 -6 -7 -7 -6 -5 -5 -4 -5 -5 -5 -2 0 1 -2 -4 -6 -6 -5 -6 -7 -7 -7 -5 -2 0 2 0 -3 -4 -5 -6 -6 -7 -7 -7 -6 -6 -8 -9 -10 -10 -9 -7 -4 -2 -5 -9 -13 -14 -10 -6 -4 -4 -3 -3 -3 -5 -7 -8 -9 -10 -9 -7 -6 -6 -6 -5 -5 -4 -4 -4 -6 -8 -10 -11 -9 -3 4 11 15 13 10 6 1 -5 -10 -11 -7 -1 1 -1 -5 -11 -14 -12 -8 -4 -1 -0 -2 -4 -7 -11 -14 -15 -13 -9 -6 -5 -4 -4 -4 -5 -6 -7 -8 -7 -7 -5 -4 -3 -2 -3 -3 -4 -5 -7 -10 -13 -16 -17 -17 -16 -16 -15 -15 -14 -13 -11 -9 -8 -8 -7 -6 -6 -6 -8 -9 -10 -10 -11 -14 -18 -21 -24 -23 -19 -15 -13 -12 -11 -10 -10 -10 -10 -11 -12 -14 -16 -18 -19 -19 -19 -19 -19 -19 -18 -16 -14 -13 -12 -12 -13 -15 -17 -18 -19 -20 -20 -20 -20 -19 -19 -19 -19 -20 -23 -26 -28 -28 -25 -20 -14 -11 -12 -14 -18 -24 -28 -29 -26 -25 -28 -31 -33 -31 -27 -24 -21 -20 -20 -21 -22 -23 -26 -29 -32 -35 -38 -40 -41 -42 -41 -41 -41 -42 -42 -44 -46 -49 -50 -49 -48 -46 -44 -43 -42 -40 -39 -39 -40 -41 -42 -41 -40 -39 -39 -39 -40 -40 -39 -39 -40 -42 -45 -47 -49 -50 -52 -54 -55 -55 -53 -49 -46 -42 -41 -39 -37 -38 -40 -40 -40 -40 -40 -37 -35 -35 -36 -36 -35 -34 -33 -31 -29 -27 -25 -24 -23 -22 -23 -23 -24 -26 -27 -28 -27 -24 -22 -20 -19 -19 -20 -20 -20 -20 -21 -24 -25 -24 -25 -26 -26 -26 -25 -21 -19 -19 -18 -18 -18 -19 -21 -22 -25 -26 -28 -28 -26 -26 -26 -26 -24 -24 -23 -23 -22 -21 -20 -19 -19 -19 -20 -21 -19 -18 -17 -16 -15 -13 -14 -14 -14 -13 -15 -17 -19 -20 -19 -19 -19 -19 -20 -20 -20 -19 -17 -14 -13 -15 -17 -4 -4 -4 -5 -6 -6 -4 -2 1 4 4 2 0 -1 -1 -2 -3 -3 -2 -3 -5 -7 -9 -8 -7 -5 -3 -3 -5 -6 -7 -7 -7 -7 -7 -6 -5 -5 -4 -3 -4 -2 -1 -0 -3 -5 -6 -7 -8 -7 -7 -7 -7 -6 -3 -1 0 -1 -3 -5 -6 -6 -6 -6 -6 -5 -6 -8 -10 -11 -10 -9 -8 -7 -6 -6 -9 -11 -12 -11 -7 -5 -4 -4 -5 -5 -4 -3 -3 -8 -12 -13 -8 -1 0 -1 -4 -10 -14 -14 -9 -3 -3 -3 -3 -3 -3 -2 0 6 13 13 10 5 -1 -6 -11 -14 -14 -6 0 2 -2 -8 -12 -11 -9 -7 -5 -5 -4 -4 -4 -8 -13 -17 -16 -11 -8 -6 -4 -5 -5 -5 -5 -5 -6 -6 -7 -8 -7 -5 -3 -2 -1 -1 -3 -5 -8 -12 -14 -16 -16 -17 -17 -17 -16 -15 -13 -11 -9 -8 -7 -7 -6 -6 -6 -7 -9 -10 -10 -12 -15 -19 -22 -23 -22 -19 -16 -14 -12 -10 -10 -10 -10 -10 -10 -12 -13 -15 -17 -19 -20 -20 -20 -20 -20 -19 -18 -16 -14 -13 -13 -14 -15 -17 -19 -20 -20 -20 -20 -20 -21 -21 -21 -21 -23 -26 -30 -33 -34 -32 -26 -19 -14 -13 -14 -17 -22 -26 -27 -25 -24 -26 -30 -34 -35 -33 -30 -28 -25 -23 -22 -23 -25 -29 -30 -31 -32 -35 -39 -42 -44 -43 -42 -41 -40 -41 -43 -45 -47 -49 -49 -48 -47 -45 -43 -42 -40 -39 -38 -39 -40 -40 -40 -39 -38 -37 -38 -39 -40 -40 -39 -39 -41 -44 -47 -49 -50 -52 -55 -57 -58 -56 -53 -48 -44 -41 -38 -36 -36 -40 -41 -42 -42 -39 -36 -35 -35 -36 -36 -36 -36 -35 -33 -31 -28 -26 -25 -24 -23 -23 -23 -24 -25 -27 -29 -28 -26 -23 -21 -20 -20 -20 -21 -21 -21 -24 -25 -26 -25 -25 -25 -23 -23 -24 -21 -19 -18 -18 -20 -21 -22 -22 -21 -21 -22 -23 -24 -25 -26 -27 -26 -26 -25 -24 -23 -22 -21 -20 -19 -19 -19 -20 -20 -19 -19 -18 -16 -14 -13 -14 -14 -14 -13 -14 -16 -18 -19 -19 -19 -19 -19 -20 -20 -20 -19 -16 -13 -12 -14 -17