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 1 1 2 5 12 24 38 44 25 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 1 1 0 0 0 0 0 0 0 0 0 0 0 2 3 5 6 3 1 0 0 0 0 0 3 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 8 9 10 12 14 16 17 17 13 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 6 8 10 12 12 13 14 17 21 26 30 36 41 46 51 56 60 62 60 56 50 47 47 49 51 54 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 8 16 25 28 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 2 2 0 0 0 0 0 0 0 0 0 0 0 1 3 5 5 2 0 0 0 0 0 1 4 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 8 10 11 13 16 19 21 22 19 12 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 8 10 11 11 12 13 15 17 19 22 26 30 35 41 46 50 53 52 50 48 46 44 44 46 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 10 13 10 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 1 0 0 0 0 0 3 6 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 8 10 12 14 16 20 23 25 25 20 14 8 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 8 9 10 11 11 12 13 13 15 17 20 24 28 32 37 42 44 45 45 43 40 37 38 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 10 11 13 16 20 23 26 28 26 22 17 11 8 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 5 7 8 9 10 10 11 11 11 11 12 14 16 19 22 26 30 34 37 38 37 34 32 31 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 1 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 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 1 4 7 9 10 12 15 19 22 26 28 29 28 26 22 16 11 7 4 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 5 6 7 8 9 10 10 10 10 10 11 11 12 14 16 19 22 25 27 29 29 28 27 27 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 3 5 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 1 2 5 7 9 11 14 17 21 24 26 29 31 32 30 26 21 16 11 8 6 4 3 3 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 3 4 6 7 8 9 9 10 10 11 11 11 11 11 10 11 12 14 16 19 22 23 23 23 23 23 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 4 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 1 2 5 7 9 12 15 18 21 24 26 30 33 35 34 31 26 22 17 13 11 9 8 7 5 4 3 3 2 2 2 1 0 0 0 0 0 0 1 3 4 5 6 8 9 10 11 11 11 12 12 12 12 11 10 10 10 11 13 15 17 18 19 19 19 20 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 5 7 10 12 15 18 20 23 26 30 34 36 36 34 30 26 23 20 17 14 12 11 9 7 6 5 5 4 4 3 3 2 2 2 2 3 4 5 6 7 9 10 12 13 13 12 12 12 12 12 12 11 10 10 11 12 13 14 16 16 17 17 18 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 2 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 1 3 5 8 10 12 14 17 19 22 26 30 34 38 39 38 35 31 28 26 24 22 19 16 13 11 9 8 8 7 7 6 6 5 4 4 4 5 5 6 7 9 11 13 14 14 14 13 13 13 12 12 12 11 11 12 12 12 13 14 15 15 16 17 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 2 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 1 3 5 7 9 11 13 16 19 22 25 30 35 39 41 40 38 35 34 32 32 30 27 24 20 16 14 12 11 10 9 8 7 6 5 5 5 5 6 7 9 11 13 14 15 15 15 15 14 13 13 12 12 12 13 13 13 13 14 14 15 15 17 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 7 9 10 13 16 18 21 25 30 36 40 41 40 39 38 38 38 39 38 35 32 28 24 20 17 15 13 11 10 9 7 6 6 6 6 8 9 12 14 16 18 19 19 19 18 16 15 14 14 14 14 14 14 14 14 15 15 15 16 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 8 10 12 15 18 21 26 31 35 38 38 38 38 38 39 41 42 43 43 41 36 32 28 24 20 17 15 13 11 10 9 9 9 10 12 14 18 21 24 25 26 26 24 22 20 18 17 17 17 17 17 17 17 17 17 17 17 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 2 4 6 8 10 12 14 18 21 25 29 32 34 34 34 34 35 37 39 42 44 46 45 43 40 35 31 28 25 22 19 17 16 15 15 16 18 21 24 28 31 33 34 33 32 29 27 25 24 23 23 24 24 24 23 23 22 21 20 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 8 9 12 14 16 20 23 26 28 30 30 30 30 32 34 36 38 41 43 44 45 45 44 41 38 34 32 30 28 26 24 24 25 26 29 32 36 39 40 40 38 36 34 32 32 32 32 34 35 36 36 36 33 29 25 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 7 9 11 13 15 18 21 24 25 26 26 26 28 29 30 31 33 36 38 40 42 44 44 45 45 44 42 39 35 32 30 28 28 29 30 32 34 37 39 39 38 38 39 40 41 43 45 47 50 52 51 47 40 34 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 3 4 6 7 9 10 12 14 17 19 21 22 23 24 24 26 26 27 28 29 31 33 35 37 38 39 41 43 43 41 38 34 30 28 26 25 24 25 27 29 32 34 36 38 41 45 48 51 53 56 59 60 60 52 43 35 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 9 10 12 13 15 16 18 19 20 22 23 23 24 24 25 26 28 30 31 32 33 33 33 33 32 30 29 26 24 22 20 20 20 21 23 26 30 33 36 40 44 48 52 54 57 60 61 57 48 39 32 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 2 4 5 6 8 9 10 11 12 14 15 16 17 18 20 21 21 22 23 24 25 26 27 28 28 29 28 28 27 25 24 22 21 19 18 17 17 18 20 23 27 31 35 38 41 44 47 49 52 55 54 49 41 34 30 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 1 3 5 6 7 7 8 9 10 12 13 14 15 16 16 18 19 20 21 22 23 24 25 25 26 26 26 25 24 22 21 20 18 17 16 16 16 17 19 21 25 29 33 36 39 41 43 45 47 48 46 41 35 31 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 1 2 4 5 6 6 7 8 9 10 12 13 14 14 15 15 16 17 19 20 21 22 23 23 23 24 24 23 22 20 19 17 15 14 14 14 15 16 18 20 23 26 30 33 36 38 40 42 43 43 40 36 32 30 28 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 12 13 14 14 14 15 15 16 17 19 20 21 21 21 21 21 21 20 19 17 15 14 13 12 13 13 15 17 19 21 24 26 29 31 33 36 38 39 38 36 33 30 27 26 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 1 2 3 4 5 6 7 9 10 11 12 13 14 14 14 14 15 16 17 18 19 19 19 18 18 17 17 15 14 13 12 11 11 12 13 15 18 20 22 23 24 26 28 30 32 33 32 31 28 25 23 23 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 12 12 13 13 13 14 14 14 15 16 17 17 16 16 15 15 14 13 12 11 11 10 10 11 13 16 18 20 21 22 23 24 25 27 27 27 26 24 21 19 19 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 4 5 7 8 9 10 11 12 12 12 12 13 13 14 14 14 14 14 14 14 13 13 12 11 10 10 10 10 11 13 16 18 19 20 21 22 23 24 24 24 23 21 19 18 19 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 1 1 3 4 6 7 8 9 10 10 11 11 11 11 12 12 12 13 13 13 13 12 12 11 11 10 10 10 10 10 12 13 15 17 18 20 21 22 23 23 22 22 20 20 20 21 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 6 7 7 8 9 9 10 10 10 10 10 11 11 11 11 11 11 10 10 10 9 9 9 10 11 12 13 15 17 19 20 22 22 22 22 21 21 22 23 24 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 7 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 10 11 12 13 14 17 19 21 22 22 22 21 22 23 24 25 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 4 5 5 5 6 6 7 7 7 7 8 8 8 8 8 8 8 8 8 9 9 10 10 11 13 14 17 20 21 22 22 22 22 23 23 24 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 3 3 4 5 6 6 6 6 6 7 7 7 8 8 8 8 8 9 9 10 10 11 13 15 18 20 22 22 22 22 22 22 22 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 4 4 4 5 5 6 6 6 7 7 8 8 8 8 8 9 10 11 12 13 16 19 21 22 22 21 20 19 19 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 0 0 0 0 0 0 0 3 3 4 4 5 5 6 6 7 8 8 8 8 8 9 10 12 13 15 17 19 20 20 19 18 17 17 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 4 5 6 7 8 8 8 8 9 10 11 12 14 15 17 18 18 17 16 15 15 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 3 4 6 6 7 8 8 9 9 10 12 13 14 15 16 16 16 15 15 15 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 7 8 8 9 10 11 12 13 13 14 15 15 15 15 14 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 4 7 8 9 10 12 12 13 14 14 14 14 14 14 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 8 10 11 12 13 13 13 13 12 12 12 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 8 10 11 12 12 12 12 11 10 10 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 8 10 11 12 12 11 10 9 9 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 8 10 11 11 10 9 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 7 9 10 10 10 9 8 7 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 10 10 9 8 7 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 7 8 10 10 9 8 7 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 8 9 10 10 9 7 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 7 8 9 10 9 8 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 8 9 9 8 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 8 8 7 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 5 5 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 2 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 16 14 11 9 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 7 7 8 8 8 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 18 17 17 17 17 17 17 16 16 16 16 16 16 16 16 16 16 15 15 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 15 11 7 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 7 7 8 9 9 10 12 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 18 18 18 17 17 17 17 17 16 16 16 16 16 16 16 16 16 15 15 15 15 15 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 18 14 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 8 8 9 10 11 12 14 20 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 18 18 18 17 17 17 16 16 16 16 16 16 16 16 15 15 15 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 8 9 10 11 12 13 16 20 23 26 27 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 18 18 17 17 16 16 16 16 16 16 16 16 15 15 15 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 9 10 11 12 13 15 17 20 22 25 27 27 27 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 18 18 17 17 16 16 16 16 16 16 15 15 15 15 15 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 11 12 13 14 16 18 20 22 24 26 27 27 27 27 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 18 18 18 18 17 17 16 16 16 16 16 15 15 15 15 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 13 14 16 18 19 21 22 23 25 26 27 27 27 27 27 26 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 19 19 19 19 18 18 18 17 17 16 16 16 16 16 15 15 15 15 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 16 17 19 20 21 22 23 24 25 26 27 27 27 27 27 26 26 26 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 20 20 20 20 19 19 19 18 18 17 17 16 16 16 16 15 15 15 15 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 19 20 21 22 23 24 24 25 26 27 27 27 27 27 27 26 26 26 26 25 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 21 21 20 20 19 19 19 18 18 17 17 16 16 16 16 15 15 15 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 21 22 23 24 24 25 25 26 27 27 27 27 27 27 26 26 26 26 26 25 25 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan 22 22 21 21 21 20 20 20 19 19 18 18 17 17 17 16 16 16 15 15 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 23 24 25 25 25 26 26 26 27 27 27 27 27 27 27 26 26 26 26 25 25 25 24 24 24 24 23 nan nan nan nan nan nan nan nan 22 22 22 22 21 21 20 20 20 19 19 18 18 18 17 17 16 16 16 15 15 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 25 25 26 26 26 26 26 27 27 27 27 27 27 27 27 26 26 26 26 25 25 25 25 24 24 24 23 23 nan nan nan nan nan 22 23 22 22 22 22 21 21 20 20 19 19 18 18 18 18 17 17 17 16 16 15 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 26 26 26 26 26 27 27 27 27 27 27 27 27 27 26 26 26 26 26 25 25 25 24 24 24 23 23 23 23 23 23 23 23 23 23 22 22 22 21 21 20 20 19 19 18 18 18 18 17 17 17 16 15 15 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 26 26 26 26 26 27 27 27 27 27 27 27 26 26 26 26 26 26 26 26 25 25 25 24 24 24 23 23 23 23 23 23 23 23 23 23 22 22 21 21 20 19 19 18 18 18 18 18 17 17 16 16 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 26 27 27 27 27 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 24 24 24 24 24 24 24 24 24 24 24 23 23 23 22 21 20 20 19 19 18 18 18 18 17 17 16 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 27 27 26 27 27 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 25 24 24 24 24 24 24 24 24 24 24 24 23 23 22 21 20 20 19 19 19 18 18 17 17 16 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 27 27 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 25 24 24 24 24 24 24 24 24 24 24 24 24 23 23 22 21 20 20 20 19 19 19 18 17 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 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 25 25 25 24 24 24 24 24 24 24 24 24 24 24 24 23 23 22 22 21 21 21 20 20 19 18 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 25 25 24 24 24 24 24 24 24 24 24 24 24 24 24 23 23 23 22 22 22 21 21 20 19 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 25 25 25 25 24 24 24 24 24 24 24 24 24 24 24 23 23 23 23 23 22 22 21 21 19 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 25 25 25 24 24 24 24 24 24 24 24 24 24 24 23 23 23 23 23 23 22 21 20 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 25 25 25 25 24 24 24 24 24 24 24 24 24 23 23 23 23 23 23 23 23 22 21 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 25 25 25 24 24 24 24 24 24 24 24 24 24 24 23 23 23 23 23 23 23 22 22 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 25 25 25 25 25 nan nan 24 24 24 24 24 24 24 24 23 23 23 24 24 23 23 23 23 22 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 26 26 26 26 26 25 25 25 25 25 25 25 25 25 25 nan nan nan 24 24 24 24 24 24 24 23 23 24 24 24 23 23 23 23 23 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan 24 24 24 24 24 24 24 23 23 23 23 23 23 23 23 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 23 23 23 23 23 23 23 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 23 23 23 23 23 23 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 23 23 23 23 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 136 142 150 155 152 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 288 290 292 293 294 294 302 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 79 79 80 81 81 81 82 83 84 85 86 87 88 88 88 88 89 90 91 93 95 95 96 96 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 136 149 165 174 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 289 291 293 295 297 299 303 308 355 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 79 79 79 80 81 82 83 84 86 86 87 88 88 89 89 90 91 93 95 96 97 97 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 128 141 161 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 292 293 295 298 301 304 308 315 340 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 78 78 78 79 80 82 83 85 86 87 88 88 89 90 90 91 93 94 96 97 98 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 296 298 301 304 309 313 320 335 353 9 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 77 78 78 80 82 84 86 87 88 88 89 90 90 91 93 94 95 96 98 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 299 301 304 308 312 318 324 333 344 357 11 21 27 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 75 76 78 80 82 84 86 87 88 89 90 90 91 92 93 95 96 97 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 305 308 311 316 322 328 334 341 349 1 13 22 27 31 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 73 74 75 76 78 80 82 85 86 87 89 90 90 91 92 93 94 96 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 312 315 320 326 331 336 341 346 353 5 15 22 27 29 32 34 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 68 69 70 71 73 74 76 78 80 83 85 87 88 89 90 91 92 93 95 96 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 320 324 329 335 339 342 345 350 359 9 17 23 27 29 31 33 36 38 40 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 64 65 66 67 68 70 71 73 76 78 81 84 86 87 88 89 90 91 93 95 96 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 328 333 338 342 345 347 351 356 4 12 19 24 27 29 31 33 35 37 39 41 43 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 60 61 62 63 65 67 69 71 73 76 78 81 84 85 86 88 89 90 92 94 96 97 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 338 342 346 349 351 353 356 2 8 15 21 24 26 28 30 31 34 36 38 40 42 44 45 47 48 nan nan nan nan nan nan nan nan nan nan nan 57 58 59 60 62 64 66 68 70 73 75 78 80 83 84 85 87 89 90 93 96 97 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 347 350 353 355 356 358 1 6 12 17 21 23 25 26 27 29 31 34 36 39 41 43 44 45 47 48 49 nan nan nan nan nan nan nan nan 54 55 56 58 60 62 64 66 68 71 73 76 78 80 81 83 84 86 88 91 93 96 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 355 357 359 360 1 3 6 10 14 17 20 21 23 23 25 26 28 31 34 36 39 41 42 44 46 47 49 50 nan nan nan nan nan 51 51 52 53 56 58 60 62 64 67 69 72 74 76 78 79 80 81 83 85 88 91 94 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 2 2 3 4 6 9 12 15 17 19 20 20 21 22 23 25 27 30 33 35 38 40 43 44 47 48 49 50 50 49 48 48 48 49 50 52 54 56 59 62 65 68 71 73 75 76 77 78 79 81 84 86 90 92 95 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 5 6 7 9 12 14 16 18 18 18 19 19 20 21 22 24 26 29 31 34 37 40 42 44 45 46 45 45 44 44 44 44 45 47 49 51 53 56 61 65 69 72 74 75 76 77 78 80 82 85 88 91 94 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 7 8 10 12 14 16 17 17 18 18 18 18 19 20 21 22 24 26 28 31 33 36 38 39 40 40 40 40 39 39 40 40 41 42 43 45 48 53 58 63 67 71 73 74 75 76 77 80 83 87 90 94 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 9 10 11 13 15 16 17 17 17 17 18 18 19 19 20 22 23 25 27 28 30 31 33 34 35 35 36 36 37 37 37 37 37 37 38 40 43 48 53 59 64 67 69 71 72 74 75 78 83 88 93 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 13 14 15 16 17 17 17 17 18 18 19 20 22 23 24 26 27 28 28 29 30 31 32 34 34 35 35 34 34 34 33 34 35 36 39 43 49 55 59 62 65 67 68 69 72 77 83 90 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 13 14 15 16 16 16 17 17 18 18 19 21 22 23 25 26 27 27 28 28 29 30 31 33 34 34 33 33 32 31 31 32 32 33 35 38 42 46 51 55 58 60 61 62 65 70 78 86 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 15 16 16 16 16 17 18 18 19 20 22 24 25 26 28 28 28 28 29 30 31 32 33 33 32 31 30 30 30 31 31 32 34 36 39 42 45 48 51 53 54 56 60 65 72 81 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 16 16 16 16 16 17 17 18 19 21 23 24 26 27 28 28 28 29 30 31 31 32 31 30 29 28 28 29 30 31 32 34 36 38 40 42 45 46 48 49 51 55 60 68 76 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 16 16 16 16 16 16 17 18 19 21 22 24 25 26 27 28 28 29 30 31 31 30 29 28 27 28 29 30 32 33 35 36 38 39 40 42 42 43 44 46 50 56 63 71 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 16 16 15 15 15 15 15 16 17 19 20 22 23 24 25 26 27 28 29 29 29 29 28 28 27 28 29 31 32 34 35 37 38 39 39 39 39 39 40 42 46 51 58 66 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 14 14 14 14 15 17 18 20 21 22 23 24 25 26 27 28 28 28 27 27 28 29 30 31 32 34 36 37 38 38 38 37 37 37 38 40 43 47 53 60 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 13 14 15 16 18 19 19 21 22 23 24 25 26 26 26 27 nan nan 29 30 31 32 34 35 36 37 37 37 37 36 36 37 39 41 45 50 55 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 13 15 16 17 18 19 20 20 21 22 24 25 26 27 nan nan nan 29 30 31 33 34 36 36 37 37 36 36 36 37 38 41 43 46 50 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 18 19 19 20 21 22 24 25 nan nan nan nan nan 30 31 32 33 34 35 36 36 36 36 36 37 38 39 41 43 46 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 29 30 30 31 32 33 34 35 36 36 36 37 38 38 39 40 41 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 29 30 31 32 33 34 35 36 36 37 37 37 37 37 38 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 29 30 31 32 33 34 35 36 36 35 35 34 34 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 29 30 31 32 33 34 34 34 33 33 33 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 27 28 29 30 31 32 32 33 32 32 32 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 26 26 27 27 28 29 30 31 32 32 31 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 26 26 27 28 29 30 31 31 31 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 26 27 28 29 30 31 30 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 26 26 27 27 28 29 30 30 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 26 26 27 27 28 28 29 29 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 26 26 26 26 27 28 28 29 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 26 26 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Helicity 6 6 6 7 7 7 7 7 7 6 5 5 5 5 6 7 8 11 12 11 9 5 5 7 7 8 9 9 9 9 8 8 8 9 10 12 15 18 23 26 26 21 12 4 2 3 4 3 2 2 3 4 4 3 4 4 4 3 3 4 6 7 10 12 14 15 13 10 7 4 2 -1 -4 -8 -10 -11 -10 -9 -8 -7 -6 -5 -5 -6 -6 -6 -6 -7 -5 -1 2 1 -5 -11 -14 -18 -20 -20 -20 -20 -20 -21 -21 -21 -20 -18 -17 -16 -15 -14 -13 -12 -10 -9 -8 -9 -10 -12 -13 -14 -14 -12 -9 -6 -6 -8 -11 -13 -13 -11 -10 -10 -10 -10 -9 -8 -6 -6 -7 -8 -8 -7 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -1 -0 -0 -0 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 5 6 6 6 6 6 5 5 5 7 10 11 11 10 9 8 9 9 9 9 9 9 10 11 11 12 12 13 13 13 13 13 12 12 12 12 11 10 10 9 9 8 7 7 6 6 6 7 7 8 8 9 9 10 11 11 12 12 13 13 14 14 14 14 15 15 16 16 16 16 16 15 14 13 11 10 10 9 8 7 7 6 6 5 4 3 1 -0 -0 -1 -1 -1 -1 -1 -0 -0 1 2 2 3 4 6 7 9 11 12 13 13 13 13 13 14 14 14 12 9 6 8 5 3 1 -0 -2 -4 -5 -6 -7 -8 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -11 -11 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -13 -13 -14 -14 -15 -16 -16 -17 -18 -20 -20 -20 -18 -16 -14 -12 -10 -7 -3 2 7 8 8 8 8 8 8 7 6 6 5 6 6 6 7 8 9 11 12 11 9 7 7 8 8 9 9 9 9 9 8 7 8 8 8 10 11 14 18 22 25 25 20 12 6 4 5 4 2 2 2 3 3 3 3 3 3 2 2 3 5 6 7 8 9 11 12 11 9 7 6 4 1 -4 -8 -12 -13 -13 -13 -12 -12 -10 -9 -9 -8 -8 -8 -9 -8 -5 -0 2 -1 -7 -12 -16 -18 -18 -18 -20 -21 -22 -23 -22 -21 -20 -19 -18 -17 -15 -14 -12 -10 -8 -7 -8 -10 -12 -14 -15 -15 -12 -9 -6 -6 -9 -11 -12 -12 -10 -10 -10 -10 -10 -9 -7 -7 -7 -8 -9 -8 -7 -6 -6 -6 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -3 -3 -3 -4 -3 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -4 -4 -4 -4 -3 -2 -2 -2 -1 -0 -0 1 1 2 2 2 2 2 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 7 7 8 7 6 6 6 7 9 10 11 10 9 9 9 10 10 10 10 10 10 11 11 12 12 13 13 14 14 14 14 14 14 13 13 13 12 11 11 10 9 8 8 8 7 7 8 8 8 9 9 10 11 12 12 12 13 13 14 14 14 15 15 15 15 15 16 16 16 16 15 14 13 12 11 11 10 9 8 7 7 6 5 4 3 2 1 -0 -1 -1 -1 -1 -1 -0 -0 -0 1 1 2 3 4 5 7 9 10 12 13 13 13 14 15 16 17 17 15 15 20 13 8 5 4 2 -0 -2 -3 -4 -5 -6 -7 -7 -8 -8 -7 -7 -8 -9 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -13 -13 -14 -14 -15 -16 -16 -17 -18 -19 -19 -20 -19 -19 -17 -15 -13 -11 -9 -5 -1 7 8 8 8 8 8 7 6 7 7 8 9 9 9 9 10 11 13 13 12 9 8 9 9 9 9 9 9 9 8 8 7 8 8 8 9 10 11 12 15 18 22 22 19 13 10 9 8 6 4 3 3 3 3 3 2 1 -0 -0 1 3 4 5 6 7 9 9 9 9 8 7 7 5 2 -2 -7 -12 -15 -15 -16 -16 -16 -15 -14 -12 -11 -10 -9 -9 -10 -6 -3 -3 -5 -8 -12 -14 -15 -17 -19 -21 -22 -22 -22 -22 -22 -22 -20 -19 -17 -14 -12 -10 -7 -7 -7 -9 -12 -14 -15 -15 -12 -8 -5 -6 -8 -10 -11 -11 -10 -9 -10 -10 -9 -8 -7 -7 -8 -9 -9 -8 -6 -5 -6 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -0 1 1 1 2 2 2 2 3 3 4 4 4 4 4 5 5 5 6 6 6 6 6 7 7 8 8 8 7 7 7 8 9 10 10 10 9 9 10 10 11 11 11 11 11 12 12 12 13 14 14 14 15 15 15 15 15 15 15 15 14 13 13 12 11 10 10 9 9 9 9 9 9 9 10 10 11 12 13 13 13 14 14 14 15 15 15 15 15 15 15 15 16 16 15 15 14 13 13 12 11 11 10 9 9 7 6 5 4 3 1 -0 -1 -1 -1 -1 -1 -0 -0 1 1 1 2 2 3 4 5 7 8 10 11 12 12 14 15 17 18 19 20 21 24 20 13 10 7 6 4 2 1 -1 -2 -3 -5 -6 -6 -6 -6 -6 -6 -7 -8 -8 -9 -10 -10 -10 -10 -11 -11 -11 -11 -11 -12 -12 -13 -13 -13 -14 -14 -15 -16 -16 -17 -17 -18 -19 -19 -19 -19 -18 -17 -16 -14 -13 -10 -7 -4 7 8 8 8 8 8 8 9 10 11 11 11 11 11 11 11 12 14 14 12 10 10 12 12 11 11 10 10 9 8 8 8 8 8 8 8 8 9 9 9 12 15 18 20 19 17 15 14 13 10 7 4 4 4 4 3 1 -2 -3 -2 -1 1 3 4 6 8 8 8 8 8 7 7 6 5 3 -1 -6 -10 -12 -15 -16 -18 -18 -18 -16 -14 -12 -9 -9 -10 -9 -8 -8 -9 -9 -10 -12 -13 -15 -17 -18 -19 -20 -21 -23 -23 -23 -21 -20 -18 -16 -12 -9 -7 -7 -7 -9 -12 -14 -15 -15 -11 -7 -5 -5 -8 -10 -11 -10 -9 -8 -8 -8 -8 -7 -7 -8 -9 -10 -9 -8 -5 -5 -6 -7 -8 -6 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 1 1 1 2 2 2 3 3 3 4 4 5 5 5 6 6 6 7 7 7 7 8 8 8 9 9 8 8 8 8 8 9 10 10 10 10 10 10 10 11 12 13 13 13 13 13 13 13 14 14 15 15 15 16 16 16 16 16 16 16 15 14 14 13 12 11 11 11 10 10 10 10 10 10 11 11 12 13 13 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 14 14 13 13 13 12 11 10 9 8 7 5 4 2 1 -0 -0 -0 -1 -1 -0 -0 1 1 2 3 3 4 4 5 5 7 8 9 10 11 13 14 16 19 21 23 24 26 25 20 14 11 9 7 5 4 2 1 -1 -2 -3 -4 -4 -4 -4 -5 -5 -6 -7 -8 -8 -9 -9 -9 -10 -10 -10 -10 -11 -12 -12 -12 -13 -14 -14 -15 -16 -16 -16 -17 -18 -18 -19 -19 -19 -19 -18 -17 -17 -15 -14 -11 -9 -7 9 9 9 9 9 10 10 12 13 13 13 12 12 12 11 12 13 14 13 12 11 12 13 13 13 13 13 12 11 10 9 9 8 8 7 7 6 6 6 7 9 10 11 14 17 18 18 19 19 18 15 11 7 7 5 3 1 -1 -3 -4 -4 -4 -2 -0 2 4 7 8 8 8 7 7 7 7 5 3 1 -3 -6 -8 -11 -14 -16 -17 -17 -17 -15 -13 -11 -9 -8 -9 -11 -13 -14 -13 -13 -14 -14 -15 -15 -16 -18 -19 -20 -22 -22 -22 -20 -19 -17 -12 -9 -7 -7 -7 -9 -13 -14 -15 -14 -11 -6 -5 -5 -8 -10 -10 -9 -8 -7 -7 -7 -7 -7 -7 -8 -10 -10 -8 -6 -4 -5 -7 -8 -8 -6 -4 -5 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 -0 1 1 2 2 3 3 3 4 4 5 5 5 6 6 7 7 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 10 11 11 11 11 11 11 12 13 13 13 13 14 14 14 14 14 15 15 15 16 16 16 17 17 17 17 17 16 16 15 14 14 13 12 12 12 12 11 11 11 11 11 12 12 13 14 15 15 16 16 16 16 16 16 16 16 15 16 16 16 16 15 15 15 14 14 14 14 13 13 13 12 10 9 7 6 4 2 1 1 1 -0 -0 -0 -0 1 1 3 4 5 5 5 5 5 6 7 8 8 9 11 13 15 18 21 24 27 29 29 26 20 15 12 10 8 7 5 4 3 1 -0 -1 -2 -2 -3 -3 -4 -4 -6 -6 -7 -7 -7 -8 -8 -8 -9 -9 -10 -11 -12 -12 -13 -14 -15 -15 -16 -16 -16 -17 -18 -18 -19 -19 -19 -19 -18 -18 -17 -16 -15 -13 -11 -9 12 12 11 11 11 11 12 13 13 12 12 11 10 10 10 11 13 13 11 10 10 11 11 12 12 13 14 14 13 12 12 11 10 9 7 7 5 4 3 4 7 7 7 8 10 11 14 17 20 22 22 19 16 12 10 7 4 1 -1 -3 -4 -5 -5 -4 -3 -1 2 4 6 7 7 7 7 7 6 6 4 2 -0 -2 -4 -6 -10 -12 -14 -16 -17 -15 -12 -9 -8 -9 -12 -15 -17 -16 -15 -15 -15 -15 -15 -15 -16 -17 -18 -19 -20 -21 -20 -19 -16 -13 -9 -7 -7 -8 -10 -13 -14 -15 -14 -10 -6 -4 -5 -8 -10 -10 -8 -7 -6 -6 -7 -6 -6 -7 -8 -9 -9 -6 -3 -3 -6 -8 -9 -7 -4 -4 -4 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 1 1 1 2 2 3 3 3 4 5 5 6 6 6 7 7 8 8 8 9 9 9 9 10 10 10 9 9 9 9 9 10 11 12 12 12 12 12 12 13 13 14 14 14 14 14 14 15 15 15 15 16 16 16 16 17 18 18 18 18 18 17 16 16 15 15 14 13 13 13 13 13 13 12 12 12 13 14 14 15 16 16 17 17 18 18 17 17 17 16 16 16 16 16 16 15 15 15 14 14 14 14 14 14 14 13 12 10 8 5 4 3 3 3 2 1 1 1 1 2 3 4 5 6 7 7 7 7 6 7 8 8 10 12 15 17 21 25 28 30 31 30 26 20 16 13 12 10 9 8 6 5 4 3 2 -0 -0 -1 -1 -2 -3 -3 -4 -5 -5 -6 -6 -7 -7 -8 -9 -9 -11 -12 -13 -14 -14 -15 -15 -16 -16 -17 -18 -19 -19 -19 -19 -19 -18 -18 -18 -17 -16 -14 -13 -11 14 13 12 12 12 12 13 13 11 10 8 8 8 7 8 9 10 11 8 7 7 8 7 8 9 9 10 10 10 10 10 10 10 10 9 8 7 6 6 5 5 3 4 4 4 6 8 11 15 18 21 23 22 18 15 12 8 5 2 -0 -2 -3 -5 -6 -6 -5 -3 -1 1 3 5 5 6 6 6 5 4 3 1 -0 -1 -2 -4 -7 -10 -12 -14 -15 -13 -10 -9 -9 -10 -15 -19 -19 -18 -17 -17 -16 -16 -15 -15 -15 -16 -17 -18 -18 -18 -18 -16 -13 -9 -7 -7 -8 -10 -13 -14 -15 -14 -10 -6 -4 -5 -8 -10 -10 -8 -6 -6 -6 -7 -6 -6 -7 -8 -9 -7 -5 -2 -3 -7 -9 -7 -4 -3 -4 -5 -6 -5 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -3 -4 -4 -3 -2 -1 -2 -3 -4 -4 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -0 -0 -0 -1 -1 -1 -1 -0 1 1 1 1 -0 -0 -0 1 1 1 1 1 1 1 2 2 2 2 3 4 4 4 5 6 6 7 7 8 8 8 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 11 12 12 12 12 13 13 13 14 14 14 15 15 15 15 15 15 15 15 16 16 16 17 17 18 19 19 19 19 19 18 17 17 16 16 15 15 15 15 14 13 14 14 14 14 14 15 15 16 17 18 18 19 19 19 19 18 18 17 17 17 16 16 15 15 15 15 14 14 14 15 15 15 15 14 13 12 10 7 6 5 4 3 2 2 2 2 3 4 5 7 8 9 9 10 9 9 8 8 9 10 12 15 17 20 25 28 30 32 32 30 26 21 17 15 13 13 11 10 8 7 6 5 4 3 2 -0 -0 -1 -2 -2 -2 -3 -3 -4 -5 -5 -6 -7 -8 -9 -10 -12 -13 -14 -15 -15 -16 -16 -17 -18 -19 -19 -19 -19 -19 -19 -18 -18 -17 -16 -15 -15 -13 11 10 10 10 10 10 10 9 8 7 6 6 6 6 6 7 7 7 5 4 4 4 4 5 5 5 6 7 7 6 6 7 7 7 7 7 7 7 7 8 7 6 6 5 4 5 5 5 8 12 16 19 21 20 17 15 12 8 5 3 1 -1 -2 -4 -4 -5 -4 -4 -3 -2 -0 2 3 4 4 3 2 2 -0 -1 -2 -2 -3 -4 -6 -7 -9 -10 -12 -11 -11 -10 -10 -15 -19 -19 -19 -18 -18 -18 -17 -16 -16 -15 -15 -16 -16 -16 -17 -17 -16 -13 -10 -7 -7 -7 -10 -13 -15 -15 -14 -10 -5 -4 -6 -8 -10 -9 -8 -6 -6 -7 -7 -6 -6 -7 -8 -7 -5 -3 -2 -6 -9 -8 -5 -2 -1 -3 -6 -6 -4 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -3 -4 -4 -3 -2 -1 -1 -3 -5 -5 -4 -2 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 1 1 1 1 1 1 1 2 1 1 1 1 1 1 2 2 2 2 2 1 2 2 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 6 7 8 8 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 11 11 12 13 13 13 13 13 14 14 15 15 16 16 16 16 16 16 16 16 16 16 17 17 18 18 19 19 20 20 20 19 18 18 18 18 17 17 17 16 16 15 15 15 15 16 16 16 16 16 17 18 19 20 20 20 20 20 19 18 18 17 17 16 16 16 15 15 15 14 14 15 15 15 16 15 15 14 13 12 11 9 7 5 4 3 3 3 4 5 6 8 10 11 12 13 13 12 11 11 11 12 13 15 18 20 24 27 29 31 32 32 30 25 21 17 16 15 14 12 11 10 9 7 6 5 4 3 2 2 1 1 1 -0 -1 -1 -2 -3 -3 -4 -6 -7 -8 -10 -11 -12 -14 -14 -15 -16 -17 -18 -18 -19 -19 -19 -19 -19 -18 -18 -17 -17 -16 -16 -15 5 4 4 4 4 4 2 2 2 3 5 5 5 5 5 5 6 6 5 5 5 5 5 5 5 5 5 5 6 5 5 4 4 4 4 4 6 6 7 6 5 6 7 7 8 8 8 7 8 9 11 14 16 17 16 15 13 10 7 4 2 -0 -1 -2 -2 -2 -3 -4 -5 -5 -4 -3 -2 -0 -0 -0 -0 -0 -1 -2 -3 -4 -4 -4 -4 -4 -5 -6 -9 -11 -13 -13 -13 -16 -18 -19 -19 -18 -19 -19 -18 -17 -16 -16 -16 -16 -16 -16 -16 -16 -15 -14 -11 -8 -6 -7 -9 -13 -15 -16 -14 -10 -5 -4 -6 -9 -10 -9 -7 -6 -7 -8 -7 -6 -6 -7 -8 -6 -4 -2 -4 -8 -9 -6 -3 -0 -1 -5 -6 -5 -2 -0 -0 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -2 -4 -4 -3 -2 -1 -1 -3 -5 -6 -6 -4 -2 -2 -2 -2 -2 -2 -2 -1 -0 -0 -0 -0 1 2 2 2 2 2 3 3 3 3 3 3 3 3 3 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 7 8 9 9 10 10 10 10 9 9 10 10 10 10 10 10 10 10 10 10 11 11 12 12 13 13 13 13 14 14 15 15 16 17 17 17 17 17 17 17 17 17 17 17 17 18 19 20 20 21 21 21 20 20 19 19 19 19 19 18 18 18 17 17 17 17 17 16 16 17 17 18 19 19 20 21 21 21 21 20 19 18 18 18 17 16 16 16 16 15 14 14 14 14 14 15 15 14 14 13 13 13 13 12 10 7 6 5 6 6 7 9 10 12 13 14 15 16 16 16 15 15 15 15 17 18 20 23 26 28 30 31 32 31 28 24 20 18 17 16 15 14 12 11 9 8 7 7 5 4 4 3 3 3 2 1 -0 -0 -1 -2 -2 -4 -4 -5 -7 -8 -10 -12 -13 -15 -16 -17 -18 -18 -19 -19 -19 -19 -19 -19 -18 -18 -18 -17 -17 -16 1 -0 -0 -0 -1 -1 -1 -1 1 2 4 5 5 4 4 5 6 5 6 7 7 7 7 7 7 6 6 6 7 6 5 3 2 1 -0 -0 3 8 11 10 8 7 7 7 9 10 12 12 12 12 12 13 13 13 13 13 13 11 9 6 3 -0 -1 -2 -2 -1 -2 -3 -4 -5 -6 -7 -6 -4 -3 -2 -2 -2 -3 -3 -4 -6 -6 -6 -6 -5 -4 -4 -7 -10 -13 -15 -16 -18 -18 -18 -18 -18 -18 -18 -19 -18 -17 -17 -17 -17 -16 -16 -17 -17 -16 -14 -11 -7 -6 -6 -9 -13 -16 -17 -14 -9 -5 -4 -7 -9 -9 -8 -6 -6 -8 -9 -9 -7 -7 -8 -7 -5 -3 -3 -6 -9 -8 -4 -1 -0 -2 -5 -5 -3 -0 2 1 -0 -2 -2 -2 -2 -2 -1 -1 -1 -2 -3 -4 -4 -2 -1 -1 -3 -4 -7 -8 -6 -4 -3 -2 -2 -3 -3 -2 -2 -1 -0 -0 -0 1 2 3 3 3 3 3 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 6 6 7 7 8 8 9 10 11 11 11 11 11 10 10 10 10 11 11 11 11 11 11 11 11 11 11 12 12 13 13 13 14 14 15 15 16 16 17 18 18 18 18 18 18 18 18 18 18 18 19 20 21 21 22 22 22 21 21 21 20 20 20 20 20 19 19 19 19 19 19 19 18 18 18 18 18 19 19 20 21 22 22 22 21 20 19 19 19 18 17 17 17 16 16 15 15 14 13 13 13 13 13 12 12 11 12 13 13 13 13 12 11 11 11 11 12 13 14 16 17 18 18 19 19 18 18 18 18 18 19 20 22 24 26 27 29 30 31 30 27 24 20 19 18 17 16 15 13 12 11 9 9 8 6 5 5 5 4 4 3 2 2 1 -0 -0 -1 -2 -2 -3 -5 -7 -10 -12 -13 -15 -16 -17 -17 -18 -19 -19 -19 -19 -19 -19 -18 -18 -18 -17 -17 2 2 3 3 4 3 3 3 3 3 3 3 3 3 3 4 4 3 5 6 6 7 7 7 7 8 8 8 8 7 6 4 2 -0 -1 -3 -1 4 9 12 13 12 9 8 9 9 11 13 15 15 15 14 11 10 9 9 9 9 10 9 5 1 -2 -5 -5 -4 -4 -3 -3 -4 -5 -6 -6 -7 -6 -5 -4 -4 -4 -4 -5 -7 -8 -8 -8 -7 -7 -7 -8 -9 -11 -14 -16 -19 -18 -18 -18 -18 -18 -18 -18 -19 -18 -18 -18 -18 -18 -18 -18 -18 -17 -14 -9 -5 -4 -6 -10 -15 -18 -18 -14 -9 -5 -5 -8 -10 -9 -6 -5 -6 -9 -11 -10 -9 -8 -8 -6 -4 -4 -6 -9 -10 -7 -3 -0 -0 -4 -5 -4 -1 1 3 1 -1 -2 -2 -1 -1 -1 -1 -1 -2 -3 -4 -4 -3 -3 -2 -3 -5 -7 -8 -7 -6 -4 -3 -3 -3 -4 -4 -3 -2 -1 -0 -0 1 2 3 3 4 4 4 5 5 5 5 5 6 6 6 7 7 7 7 8 8 8 8 8 8 8 7 8 8 8 8 7 7 7 7 7 7 8 8 9 9 10 11 12 12 12 12 12 12 11 11 11 11 12 12 12 12 11 11 12 12 12 12 13 13 13 13 14 14 15 15 15 16 17 17 18 18 18 19 19 19 19 19 19 19 20 21 22 22 22 23 23 23 23 22 22 22 22 21 21 21 21 20 20 20 21 21 21 20 20 20 19 20 20 20 21 22 22 22 22 22 21 20 20 20 19 18 18 17 17 17 16 15 15 14 13 13 13 13 12 11 11 10 11 12 13 13 14 14 14 15 15 15 16 16 17 18 19 20 21 21 21 21 21 20 20 20 21 22 23 25 25 27 28 29 30 28 26 23 22 21 21 20 19 18 17 15 13 11 10 8 7 7 6 5 4 4 3 2 2 1 1 1 1 -0 -1 -3 -6 -8 -10 -11 -13 -15 -16 -16 -17 -17 -18 -18 -18 -19 -19 -19 -19 -18 -18 -17 3 3 4 4 3 3 3 3 2 2 1 -0 -0 -0 -0 1 2 2 3 4 5 5 6 6 6 7 7 7 8 7 7 5 3 1 -1 -2 -4 -6 -3 4 9 13 14 13 11 9 8 9 11 12 12 12 11 9 8 6 4 5 7 9 8 5 -0 -4 -7 -8 -8 -7 -6 -5 -5 -5 -5 -6 -7 -6 -6 -6 -5 -5 -5 -7 -8 -8 -8 -9 -9 -10 -10 -11 -12 -13 -15 -19 -18 -18 -18 -18 -18 -18 -18 -19 -19 -19 -18 -18 -18 -18 -19 -19 -17 -12 -6 -2 -2 -6 -12 -17 -19 -17 -12 -7 -5 -7 -10 -9 -6 -4 -4 -8 -12 -12 -11 -9 -8 -8 -6 -5 -5 -8 -11 -9 -5 -2 -0 -1 -5 -6 -3 -0 2 3 1 -2 -3 -2 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -4 -5 -6 -7 -8 -7 -6 -4 -3 -3 -4 -5 -5 -3 -2 -1 -1 -0 1 2 3 3 4 4 5 5 5 6 6 6 6 7 8 9 9 9 9 9 9 10 10 10 9 9 9 10 10 10 10 9 9 9 9 9 9 10 10 11 11 12 13 13 14 14 14 14 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 15 15 15 15 16 17 17 18 18 18 19 20 20 20 20 20 20 20 21 22 23 24 24 24 24 24 24 23 23 24 23 23 22 22 22 22 22 22 22 22 22 22 22 21 21 21 21 21 22 22 22 22 23 23 22 21 21 21 20 19 18 18 18 17 17 16 16 15 13 13 13 13 12 12 11 11 12 12 12 13 13 14 15 16 16 17 17 18 18 19 20 21 21 23 23 23 23 22 21 22 22 22 23 24 24 25 26 27 28 28 27 26 24 23 23 23 23 23 22 20 18 15 13 11 10 9 8 6 5 4 3 2 2 3 3 4 4 3 1 -1 -3 -6 -8 -10 -12 -14 -15 -16 -16 -16 -17 -17 -17 -18 -19 -19 -19 -19 -18 -18 1 1 1 -0 -1 -2 -2 -2 -1 -2 -2 -2 -3 -2 -1 -0 1 2 2 3 4 4 4 4 5 5 5 5 6 6 6 6 4 2 -0 -1 -2 -3 -4 -4 -2 7 10 12 13 13 13 12 10 8 6 6 7 7 7 5 2 1 2 4 7 7 5 1 -3 -7 -9 -10 -11 -11 -10 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -8 -9 -9 -10 -12 -14 -14 -14 -15 -19 -18 -18 -18 -18 -18 -18 -19 -19 -19 -19 -19 -18 -18 -19 -19 -17 -14 -6 -1 -0 -3 -9 -15 -18 -19 -15 -10 -7 -7 -9 -10 -7 -3 -2 -5 -11 -14 -13 -10 -8 -7 -7 -6 -6 -8 -10 -10 -8 -3 -1 -1 -3 -6 -6 -3 -0 3 2 -1 -3 -4 -3 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -4 -5 -6 -7 -8 -7 -6 -5 -5 -4 -4 -5 -5 -5 -3 -1 -1 -1 -1 -0 2 3 4 4 5 5 5 5 6 6 7 7 8 9 9 9 10 10 10 11 12 11 11 11 11 11 12 12 12 12 11 11 11 12 12 12 12 13 13 14 14 14 15 15 16 16 16 16 16 15 15 15 15 14 14 14 14 14 14 14 15 15 15 15 16 16 16 16 16 16 17 17 17 18 18 19 20 21 21 21 21 21 21 21 22 23 24 25 26 26 26 26 26 25 25 25 25 24 24 24 24 24 24 24 24 24 24 24 23 23 23 23 23 23 23 23 23 23 23 23 23 23 22 22 21 20 19 19 19 18 18 17 17 15 14 14 14 14 13 12 12 12 12 13 13 13 13 13 14 15 16 17 17 18 19 19 20 21 21 23 23 24 24 24 23 23 23 22 23 23 24 24 25 26 27 27 27 26 25 25 25 25 25 26 26 25 23 22 20 17 15 13 11 9 7 6 4 4 4 4 5 6 7 6 5 3 -0 -3 -6 -8 -10 -12 -14 -15 -15 -15 -16 -16 -16 -17 -18 -19 -19 -19 -19 -18 -0 -1 -2 -3 -4 -5 -5 -5 -5 -4 -4 -3 -3 -1 -0 1 2 2 3 3 3 3 3 3 3 3 4 5 5 5 5 5 3 2 1 -1 -1 -2 -2 -1 1 3 4 6 7 8 9 10 11 11 10 8 6 5 4 3 1 -1 -2 -1 2 3 4 3 -0 -3 -5 -8 -10 -12 -13 -12 -12 -11 -10 -9 -9 -9 -8 -7 -6 -6 -7 -7 -8 -8 -9 -10 -12 -15 -15 -15 -16 -19 -18 -18 -18 -18 -18 -18 -19 -18 -18 -18 -18 -19 -19 -19 -18 -15 -10 -3 -0 -1 -6 -12 -17 -19 -15 -11 -8 -7 -9 -10 -8 -4 -2 -4 -9 -14 -14 -12 -9 -7 -6 -6 -6 -8 -9 -9 -9 -5 -2 -1 -2 -5 -7 -6 -2 1 2 1 -3 -4 -4 -3 -1 -0 -1 -2 -2 -3 -3 -3 -4 -5 -6 -6 -7 -7 -7 -7 -6 -5 -4 -4 -5 -5 -5 -4 -2 -1 -1 -2 -1 1 2 3 3 4 5 5 5 5 6 7 7 8 8 9 9 9 10 11 12 12 12 12 12 12 13 13 14 14 13 13 13 13 14 14 14 14 14 15 15 15 16 16 17 17 17 17 17 17 18 18 18 17 17 17 16 16 16 15 15 15 16 16 16 17 18 18 18 18 18 18 18 18 18 19 19 20 21 21 22 22 23 23 23 23 24 25 25 26 27 27 28 28 28 27 27 26 26 26 25 25 24 25 25 25 26 26 26 25 25 25 24 24 24 24 24 24 24 24 24 24 24 23 23 23 22 21 20 20 20 19 19 19 18 16 15 15 15 15 15 14 13 13 13 14 14 14 14 14 14 15 16 17 17 18 19 19 19 20 20 22 23 24 24 24 24 23 23 23 23 23 23 24 25 25 26 26 26 26 25 25 25 25 26 27 28 28 28 27 26 25 23 20 18 15 13 10 9 7 7 8 9 10 11 11 9 8 5 2 -1 -4 -7 -10 -12 -14 -15 -15 -16 -16 -16 -16 -17 -19 -19 -19 -19 -19 1 -0 -1 -2 -3 -4 -6 -6 -5 -4 -3 -2 -1 -0 1 1 1 2 3 3 3 3 4 4 4 4 3 4 4 4 4 4 2 -0 -0 -1 -0 -1 -1 -0 1 2 4 6 6 7 7 8 8 9 9 8 8 6 5 3 1 -0 -2 -2 -2 -1 1 2 1 -0 -1 -3 -5 -7 -10 -11 -12 -13 -13 -12 -12 -12 -10 -9 -7 -7 -7 -7 -8 -8 -9 -10 -12 -14 -15 -15 -16 -19 -17 -17 -17 -17 -17 -18 -18 -17 -17 -17 -18 -19 -19 -19 -17 -13 -7 -1 -1 -4 -10 -14 -17 -16 -12 -9 -8 -9 -10 -9 -5 -2 -2 -6 -11 -14 -11 -8 -6 -5 -6 -7 -8 -8 -8 -8 -6 -3 -2 -2 -4 -7 -8 -5 -1 2 3 -0 -4 -5 -4 -2 -0 -0 -1 -2 -3 -3 -3 -4 -6 -7 -8 -7 -6 -7 -7 -6 -6 -4 -3 -3 -5 -5 -4 -3 -1 -1 -2 -2 -1 1 2 2 3 4 5 5 5 6 7 7 7 8 8 9 9 10 11 12 12 12 12 12 12 13 14 14 14 15 15 15 15 15 15 15 15 15 16 16 17 17 18 18 18 19 19 19 19 20 20 20 20 19 19 19 19 18 18 18 18 17 17 18 18 19 19 19 20 20 20 20 20 20 20 20 20 20 21 22 23 23 23 24 24 24 25 26 27 27 27 28 29 29 30 29 29 28 28 28 27 27 26 26 26 26 26 27 27 27 27 26 26 26 25 25 25 25 25 25 25 25 25 25 24 24 24 23 22 21 21 20 20 20 19 18 16 16 16 16 16 15 15 14 14 14 14 14 14 14 14 15 16 16 17 18 19 19 19 19 20 20 22 23 24 24 24 24 23 23 23 23 23 24 24 25 25 26 26 26 25 25 25 25 26 27 27 28 29 29 29 29 27 26 24 22 20 17 15 13 13 13 13 14 15 15 14 14 12 10 8 4 -0 -4 -9 -12 -14 -15 -16 -16 -16 -16 -17 -19 -19 -20 -21 -21 2 2 1 -0 -0 -1 -3 -3 -3 -3 -2 -1 -1 -0 -0 -0 1 1 2 3 3 4 4 4 4 4 3 3 4 4 4 3 1 -2 -3 -3 -1 -0 1 1 1 2 4 6 7 7 7 8 8 9 9 8 8 6 4 3 2 1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -4 -6 -8 -10 -12 -12 -13 -13 -12 -10 -9 -8 -7 -7 -8 -9 -10 -11 -12 -14 -14 -14 -15 -18 -17 -16 -16 -16 -17 -17 -17 -16 -16 -16 -17 -19 -19 -19 -16 -12 -6 -2 -4 -9 -13 -16 -16 -12 -9 -8 -9 -10 -10 -7 -3 -2 -4 -9 -12 -11 -8 -5 -3 -4 -7 -9 -9 -8 -7 -6 -5 -3 -2 -4 -6 -8 -8 -5 -0 2 1 -2 -4 -5 -3 -1 1 1 -1 -3 -4 -4 -4 -6 -7 -8 -7 -6 -6 -7 -7 -6 -4 -3 -2 -3 -4 -4 -3 -2 -1 -2 -3 -2 -1 1 1 2 3 4 4 4 5 6 7 7 7 8 8 9 9 10 11 12 12 12 12 12 13 14 14 14 14 15 16 17 17 17 17 17 17 17 17 18 18 19 19 20 20 20 20 20 21 22 22 22 22 22 21 21 21 20 21 20 20 20 20 20 20 20 21 21 22 22 21 21 22 22 22 22 22 22 23 23 23 24 24 25 25 26 26 27 28 27 27 28 29 30 31 31 31 30 29 29 29 28 28 27 27 27 27 27 27 27 28 28 28 28 27 27 27 27 26 26 26 26 26 26 26 25 25 25 24 23 23 22 22 21 20 19 18 17 18 18 17 17 16 16 16 15 15 15 14 14 14 15 15 15 17 18 18 19 19 19 19 20 20 21 23 23 23 23 23 23 23 23 23 24 24 25 25 25 26 26 26 25 25 25 25 26 26 27 29 29 29 29 29 28 27 26 25 24 24 22 20 19 18 18 18 18 18 17 17 16 14 12 9 5 -1 -6 -10 -13 -15 -15 -16 -16 -17 -19 -21 -23 -23 -23 2 2 1 1 1 -0 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -0 1 1 1 2 2 3 4 4 3 3 3 3 3 3 2 -0 -3 -5 -5 -3 -0 1 2 3 4 4 6 7 8 8 8 9 9 9 8 7 5 3 2 1 -0 -1 -1 -1 -2 -2 -2 -3 -2 -2 -2 -1 -0 -1 -2 -3 -5 -7 -9 -10 -11 -11 -11 -10 -9 -8 -8 -8 -9 -11 -12 -13 -14 -14 -14 -14 -17 -16 -16 -16 -16 -16 -16 -16 -16 -15 -16 -17 -18 -19 -18 -15 -11 -6 -5 -8 -12 -15 -15 -12 -9 -8 -9 -10 -11 -9 -5 -2 -3 -6 -10 -12 -8 -4 -3 -3 -6 -9 -10 -8 -6 -5 -5 -5 -3 -4 -5 -8 -9 -8 -3 1 2 1 -3 -4 -4 -2 1 3 1 -2 -4 -4 -5 -5 -7 -8 -8 -6 -5 -6 -7 -7 -5 -2 -1 -1 -4 -4 -4 -2 -1 -2 -4 -3 -2 -1 -0 1 2 3 3 3 4 4 6 7 7 7 8 8 9 9 10 11 11 12 12 12 13 14 14 14 14 15 16 17 17 18 18 18 19 19 19 19 20 20 20 21 21 21 21 21 22 23 23 24 24 24 24 24 23 23 23 23 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 25 25 26 27 28 28 28 27 28 28 29 30 32 32 32 32 31 30 30 30 29 28 28 28 28 28 28 28 28 28 28 29 29 29 28 28 28 27 27 27 27 27 27 27 26 26 25 24 24 24 24 23 22 21 19 19 19 19 19 18 17 17 17 16 16 15 15 15 14 14 14 15 16 17 18 19 19 19 19 19 19 20 21 22 22 23 23 22 22 23 23 24 24 25 25 25 26 26 26 25 25 25 25 25 26 26 27 28 28 28 27 27 26 26 26 26 26 26 25 23 21 20 19 18 18 18 19 19 18 17 15 13 9 4 -2 -8 -11 -13 -15 -16 -18 -19 -21 -24 -25 -25 -1 -1 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 -0 -0 1 1 2 2 2 3 3 3 3 3 3 2 1 -1 -3 -6 -6 -5 -2 -0 2 4 5 5 6 7 8 9 9 9 9 9 9 7 5 2 -0 -1 -2 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -1 -1 -2 -3 -3 -5 -6 -8 -10 -11 -11 -10 -9 -8 -9 -11 -13 -14 -15 -15 -14 -14 -16 -16 -15 -15 -15 -16 -16 -15 -15 -15 -16 -17 -17 -18 -17 -14 -10 -7 -7 -11 -14 -14 -12 -8 -7 -8 -10 -11 -11 -7 -3 -2 -5 -9 -11 -10 -5 -2 -3 -6 -10 -11 -9 -6 -5 -5 -6 -5 -4 -5 -7 -8 -9 -6 -1 2 2 -0 -3 -4 -3 -0 3 3 -0 -3 -5 -5 -4 -4 -7 -8 -7 -5 -4 -6 -7 -6 -3 -1 -0 -2 -4 -5 -3 -2 -2 -4 -4 -3 -1 -1 -0 1 2 3 3 3 4 4 6 6 6 6 7 8 9 9 10 11 11 11 11 12 13 14 14 14 14 15 16 17 17 18 18 19 20 20 21 21 21 21 22 22 22 22 22 23 23 24 24 25 25 26 26 26 25 25 25 25 24 24 24 24 23 24 24 25 25 25 24 24 24 24 24 24 24 25 25 25 25 25 25 26 26 27 28 28 28 28 28 28 28 29 30 32 32 33 33 32 32 31 31 31 30 29 29 28 28 28 28 28 29 29 29 29 30 30 29 29 28 28 28 28 28 28 28 28 27 27 26 25 25 25 25 24 23 22 21 20 20 20 19 18 18 18 17 17 16 16 15 14 14 14 14 15 16 17 18 19 19 19 19 19 19 19 21 21 22 22 22 22 22 22 23 23 24 25 25 25 26 26 25 25 25 25 25 25 25 26 26 26 26 26 25 24 24 24 24 24 25 24 23 22 20 18 17 17 18 19 19 19 19 18 17 14 11 6 -0 -5 -9 -12 -14 -16 -18 -20 -23 -25 -26 -3 -6 -7 -7 -7 -7 -6 -5 -4 -3 -2 -2 -2 -1 -1 -1 -0 -0 1 1 2 2 2 2 2 2 2 2 2 2 2 -0 -2 -4 -6 -7 -7 -5 -1 1 3 4 6 7 8 9 10 10 10 10 10 10 9 6 4 2 -1 -3 -5 -6 -5 -4 -3 -2 -1 -1 -2 -3 -4 -5 -5 -4 -3 -3 -2 -2 -2 -2 -4 -7 -9 -11 -12 -11 -10 -9 -10 -12 -14 -15 -16 -17 -16 -15 -15 -15 -15 -15 -16 -15 -15 -15 -15 -15 -16 -16 -16 -15 -13 -10 -9 -10 -13 -13 -11 -8 -6 -7 -10 -12 -12 -10 -5 -2 -4 -8 -11 -12 -8 -3 -3 -5 -9 -11 -10 -6 -4 -4 -6 -7 -5 -4 -5 -7 -8 -8 -4 -0 2 2 -0 -3 -4 -1 2 4 3 -1 -5 -5 -4 -3 -3 -6 -6 -5 -4 -4 -6 -7 -5 -1 -0 -1 -4 -5 -4 -2 -2 -3 -5 -4 -2 -1 -1 -0 2 2 2 2 2 4 5 5 5 5 6 7 8 8 9 10 10 10 11 11 12 13 14 14 14 15 16 17 18 18 19 20 20 21 21 21 21 22 22 23 23 23 23 23 24 24 25 26 26 26 27 27 27 27 27 26 26 26 26 26 26 26 26 26 26 26 25 26 26 26 26 25 25 26 26 26 26 26 26 27 28 28 28 29 29 29 29 29 29 29 30 31 32 32 33 34 34 34 33 33 32 31 30 29 29 29 29 29 29 29 29 29 30 31 31 30 30 29 29 29 29 29 29 29 28 28 28 28 27 27 27 26 26 25 24 23 22 22 22 21 20 20 19 19 18 17 16 16 15 14 13 13 14 15 16 17 18 19 19 19 18 18 18 19 20 21 22 22 22 21 22 22 23 23 24 25 25 25 25 25 25 25 24 25 25 25 25 25 25 26 25 24 23 22 22 21 22 22 21 21 20 19 17 17 18 18 19 19 19 19 19 18 17 14 11 6 2 -3 -7 -10 -12 -14 -17 -21 -24 -25 -5 -8 -9 -9 -9 -8 -8 -7 -6 -4 -4 -3 -3 -2 -1 -1 -0 -0 1 2 2 2 3 3 3 3 3 3 3 2 1 -0 -3 -5 -7 -7 -8 -7 -4 -0 4 4 5 7 8 9 10 10 11 11 12 11 11 10 9 7 4 -1 -7 -9 -9 -8 -6 -4 -3 -1 -0 -1 -2 -4 -5 -5 -5 -5 -5 -4 -4 -2 -2 -3 -5 -8 -11 -12 -12 -11 -11 -11 -11 -13 -15 -17 -18 -15 -13 -13 -14 -14 -15 -15 -14 -14 -15 -15 -14 -14 -14 -12 -11 -11 -11 -12 -12 -10 -7 -6 -7 -10 -14 -14 -11 -7 -4 -3 -7 -12 -13 -11 -6 -4 -5 -8 -11 -10 -7 -3 -3 -5 -7 -7 -5 -5 -6 -7 -8 -7 -2 1 2 1 -1 -4 -3 -0 4 4 1 -4 -5 -4 -1 -1 -3 -5 -5 -4 -4 -5 -6 -5 -2 -0 -0 -2 -5 -4 -2 -1 -2 -4 -4 -2 -1 -1 -0 2 2 2 2 2 3 5 5 5 5 5 6 8 8 8 9 10 10 11 11 12 13 13 14 14 14 15 17 17 18 19 20 21 21 22 22 22 22 23 23 23 23 23 23 24 25 26 26 27 27 27 28 28 28 28 28 28 27 28 28 28 28 28 28 28 27 27 27 27 27 26 26 27 27 27 27 27 28 28 28 29 29 30 30 30 30 30 30 30 30 31 31 31 31 32 33 35 35 35 35 34 33 32 30 30 30 29 29 29 29 29 30 30 31 31 31 31 30 30 30 29 29 29 29 29 29 29 28 29 29 28 28 28 27 26 25 25 24 23 23 23 22 21 20 20 19 18 17 16 15 14 13 13 14 14 15 17 17 18 18 18 18 17 17 18 19 20 21 21 22 22 21 22 23 23 24 24 24 24 24 24 24 25 25 25 25 26 26 26 26 26 25 25 23 22 21 21 20 20 19 19 19 19 18 18 18 19 19 19 19 19 19 18 17 15 13 10 6 2 -1 -4 -7 -10 -14 -18 -22 -24 -5 -7 -7 -7 -7 -7 -7 -6 -5 -5 -4 -4 -4 -3 -2 -1 -1 -0 -0 -0 -0 1 2 2 3 3 3 3 3 2 -0 -1 -4 -5 -6 -7 -7 -8 -8 -1 10 10 9 7 7 8 9 10 11 12 13 14 14 14 13 12 12 11 9 1 -10 -13 -11 -9 -7 -4 -2 -1 -1 -2 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -4 -7 -10 -12 -13 -13 -11 -11 -12 -15 -18 -19 -16 -12 -12 -13 -13 -13 -13 -14 -14 -14 -13 -13 -12 -11 -10 -10 -11 -12 -12 -10 -7 -6 -8 -11 -15 -16 -14 -9 -5 -3 -6 -11 -15 -14 -10 -6 -6 -8 -11 -11 -8 -4 -3 -5 -7 -7 -6 -5 -5 -6 -7 -7 -5 -1 1 2 -0 -2 -4 -1 2 4 3 -1 -5 -5 -1 1 1 -2 -5 -5 -4 -4 -5 -5 -3 -0 2 1 -2 -3 -2 -0 -1 -2 -3 -1 -0 -0 1 1 2 3 3 2 3 4 5 5 5 5 6 8 9 9 9 9 10 11 12 12 13 13 14 14 14 15 16 17 18 19 19 20 21 22 22 22 23 23 23 24 24 24 24 24 25 26 26 27 27 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 28 28 28 27 27 28 28 29 29 30 31 31 32 32 31 31 31 31 31 31 32 32 32 33 33 34 35 36 36 35 35 33 32 31 31 30 30 30 30 30 30 30 30 31 32 32 32 32 32 31 30 29 29 30 29 29 29 29 29 30 29 29 29 29 28 27 26 26 25 24 24 23 22 21 20 19 19 17 16 15 14 14 14 13 14 15 16 17 18 18 18 18 17 17 17 18 18 20 21 22 22 22 22 22 22 23 24 24 24 24 24 24 25 25 25 26 26 26 26 26 26 26 26 25 24 23 22 21 20 19 18 18 18 18 18 19 19 19 18 18 17 17 17 16 15 13 12 9 7 4 1 -2 -6 -10 -15 -20 -22 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -3 -2 -2 -2 -1 -0 1 1 1 1 -0 -1 -3 -5 -6 -6 -7 -7 -6 -6 -7 -3 11 13 13 12 10 9 9 9 9 10 11 13 14 16 16 16 15 14 12 8 -5 -14 -14 -12 -10 -8 -5 -4 -3 -5 -6 -6 -6 -5 -4 -4 -4 -4 -3 -2 -2 -3 -5 -8 -11 -13 -12 -12 -13 -15 -18 -18 -16 -12 -12 -12 -12 -12 -13 -13 -13 -13 -12 -11 -10 -9 -9 -10 -12 -13 -12 -9 -7 -8 -11 -15 -18 -16 -12 -8 -5 -6 -11 -15 -15 -13 -8 -6 -8 -10 -10 -8 -5 -2 -4 -6 -8 -7 -6 -5 -5 -5 -6 -5 -3 -0 1 1 -1 -3 -3 -0 3 3 -0 -3 -5 -2 1 2 -0 -3 -5 -4 -3 -3 -4 -4 -0 2 3 1 -1 -2 -0 -0 -0 -1 -1 1 1 1 2 3 4 3 3 3 5 6 6 6 6 7 8 9 9 9 9 10 11 12 13 13 14 14 14 14 15 16 16 17 18 19 19 20 21 22 22 22 23 23 23 24 24 24 25 25 26 27 27 27 28 28 29 29 29 29 29 30 30 30 30 30 30 30 30 30 30 31 31 31 31 31 30 30 30 30 30 29 29 30 31 32 33 34 34 34 33 32 32 32 32 32 32 33 34 34 34 35 35 36 36 36 36 34 33 32 31 31 30 30 30 30 31 31 31 31 32 32 33 33 33 32 31 30 30 30 30 30 30 29 29 30 30 30 30 30 30 29 28 27 26 25 25 24 23 22 21 20 19 18 17 16 15 15 14 14 14 15 15 16 17 18 18 18 18 17 17 17 17 18 20 21 22 23 23 23 23 23 24 24 24 24 24 24 25 25 25 26 26 26 26 26 26 26 26 26 25 24 24 22 21 19 18 17 17 17 18 19 18 18 17 16 15 15 15 15 14 14 13 11 10 9 6 3 -1 -6 -12 -17 -20 5 3 3 3 3 3 3 3 3 2 2 1 -0 -1 -1 -1 -2 -3 -3 -4 -4 -5 -5 -4 -3 -2 -1 -1 -1 -3 -4 -6 -7 -7 -7 -7 -7 -7 -6 -6 -5 -2 9 12 13 14 13 12 11 10 9 9 9 10 12 14 15 15 15 14 14 9 4 1 -7 -12 -13 -12 -9 -7 -6 -7 -8 -9 -8 -6 -5 -5 -5 -5 -4 -3 -2 -2 -4 -7 -9 -11 -12 -13 -15 -17 -17 -14 -11 -11 -11 -11 -12 -12 -13 -12 -12 -11 -9 -9 -9 -10 -11 -12 -13 -11 -9 -8 -10 -14 -18 -18 -14 -10 -7 -7 -10 -15 -16 -14 -10 -8 -7 -9 -10 -9 -6 -4 -3 -6 -7 -7 -6 -5 -4 -4 -5 -5 -4 -3 -0 1 -0 -2 -3 -3 2 3 1 -2 -4 -3 1 3 2 -1 -5 -4 -2 -1 -2 -3 -1 3 4 3 1 -1 -0 1 1 -0 1 1 2 2 2 3 4 4 3 4 5 6 7 7 7 8 9 9 10 10 10 11 12 13 13 13 14 14 14 15 15 16 16 17 17 18 18 19 20 21 21 22 22 22 23 23 24 24 24 25 26 26 27 27 28 29 29 29 29 29 29 29 30 30 31 31 30 30 31 31 31 32 32 32 32 32 32 32 32 32 32 32 31 31 32 33 34 36 36 36 35 34 34 33 33 33 33 33 34 35 35 35 35 35 36 36 36 36 35 34 33 32 32 31 31 31 31 31 32 32 32 32 33 33 34 33 33 32 31 31 31 30 30 30 29 29 30 30 30 31 31 31 30 29 27 27 26 26 25 24 23 22 21 20 18 17 16 16 16 15 15 15 15 15 16 17 18 18 18 18 18 17 17 17 17 19 20 22 23 23 24 24 24 24 24 24 24 24 24 24 25 25 25 26 26 26 26 26 26 26 25 25 25 24 24 22 21 19 18 17 17 17 17 17 16 15 14 13 12 12 12 13 13 13 13 12 12 10 7 2 -2 -8 -13 -17 12 9 9 9 10 10 10 9 9 8 7 5 4 3 2 1 -0 -1 -2 -3 -3 -3 -4 -4 -3 -3 -2 -1 -2 -5 -6 -7 -8 -8 -8 -8 -8 -8 -7 -6 -6 -5 -0 6 11 13 14 14 13 12 11 11 10 9 8 8 8 8 7 8 8 9 12 13 6 -1 -7 -12 -14 -13 -10 -9 -10 -12 -11 -9 -8 -7 -6 -6 -6 -6 -5 -4 -3 -4 -5 -9 -11 -13 -16 -17 -17 -13 -11 -11 -11 -11 -12 -12 -12 -11 -10 -9 -9 -9 -9 -10 -11 -12 -12 -11 -10 -11 -13 -16 -17 -16 -12 -9 -9 -11 -14 -16 -15 -12 -9 -8 -9 -9 -9 -8 -5 -4 -5 -7 -7 -6 -5 -4 -3 -4 -4 -4 -3 -2 -0 -0 -1 -3 -3 -1 2 2 -0 -3 -3 -0 3 4 1 -2 -4 -2 -0 -0 -1 -0 3 6 5 2 -0 -0 1 2 1 1 2 3 2 3 4 4 5 4 4 5 6 8 8 8 8 9 10 11 11 12 12 13 13 14 14 15 15 15 15 15 16 16 17 17 18 19 19 19 20 20 21 21 21 22 23 23 24 24 24 25 26 26 27 27 28 29 29 30 30 30 30 30 30 31 31 31 31 31 31 31 32 32 33 33 34 34 33 33 33 34 33 33 33 33 34 35 36 37 36 36 35 34 34 34 34 34 34 34 35 35 36 36 36 35 35 36 36 35 35 35 34 32 32 31 31 31 31 32 32 33 33 33 34 34 34 34 34 33 32 32 31 31 31 30 30 30 29 30 31 31 32 32 30 29 28 27 27 27 26 25 24 23 22 21 19 18 17 17 16 16 16 16 16 16 17 17 18 19 19 19 19 18 17 17 17 18 19 21 22 23 24 25 25 25 25 25 25 25 25 24 24 25 25 25 26 26 26 26 26 25 25 25 25 25 24 23 22 21 20 18 17 16 16 15 14 14 13 12 11 10 10 11 12 13 13 13 13 12 9 5 -0 -4 -9 -13 15 14 14 15 15 15 15 13 12 10 8 7 5 4 4 4 3 2 1 -0 -1 -1 -2 -2 -2 -2 -1 -1 -2 -4 -7 -7 -8 -8 -8 -9 -9 -8 -7 -7 -6 -6 -4 1 6 10 12 12 13 13 13 13 13 12 10 7 5 3 2 1 -0 1 3 5 4 1 -1 -6 -11 -15 -16 -12 -12 -12 -13 -13 -11 -10 -8 -8 -8 -9 -9 -9 -7 -5 -5 -7 -10 -13 -16 -18 -18 -14 -11 -11 -11 -11 -12 -12 -12 -11 -9 -9 -9 -10 -11 -12 -12 -12 -12 -11 -12 -13 -15 -16 -15 -13 -11 -11 -12 -14 -15 -14 -12 -10 -9 -9 -10 -10 -9 -7 -5 -5 -6 -7 -6 -5 -4 -3 -3 -3 -4 -4 -3 -1 -0 -1 -2 -2 -2 -0 1 1 -1 -2 -1 3 4 3 -0 -2 -1 2 2 1 1 3 6 6 3 -0 -1 1 3 3 3 3 4 3 3 4 5 6 5 4 5 6 8 9 9 8 9 10 11 12 12 13 14 14 15 15 16 16 16 16 16 16 17 17 18 18 19 19 19 19 20 20 20 21 21 22 22 23 24 24 24 25 25 26 27 27 28 29 30 30 30 30 31 31 31 31 31 31 31 31 31 32 32 32 33 34 35 34 34 34 35 35 35 34 35 35 36 37 38 38 36 35 35 35 35 35 35 34 35 35 36 36 36 36 36 35 35 35 35 35 35 35 34 33 32 32 31 31 31 32 32 33 33 34 34 35 35 35 35 34 33 33 32 32 32 31 30 30 29 29 30 31 32 32 31 29 28 28 28 27 26 26 25 24 23 22 20 19 18 18 17 17 17 16 17 17 17 18 18 19 19 19 19 19 18 18 17 18 19 20 21 22 24 25 25 26 26 26 26 26 26 26 25 25 25 26 26 26 26 25 25 25 24 24 25 24 24 24 23 22 21 19 18 17 15 14 13 13 12 12 11 10 10 10 11 11 12 13 13 12 10 6 2 -1 -5 -8 11 12 13 14 14 13 11 10 7 6 5 4 4 4 4 4 4 3 2 1 -0 -0 -1 -1 -1 -1 -1 -1 -2 -4 -6 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -3 3 7 9 9 10 11 12 12 14 14 14 13 10 7 4 1 -0 -2 -4 -8 -12 -13 -6 -3 -6 -11 -17 -16 -13 -12 -13 -13 -13 -12 -11 -10 -10 -11 -13 -13 -13 -11 -8 -7 -10 -12 -15 -17 -18 -16 -12 -11 -11 -12 -12 -12 -12 -10 -9 -9 -10 -11 -12 -13 -13 -13 -12 -12 -13 -14 -15 -14 -12 -12 -12 -14 -15 -15 -14 -12 -11 -10 -10 -10 -11 -10 -8 -7 -6 -6 -6 -6 -5 -4 -3 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -1 1 1 1 -0 -0 2 4 4 2 -0 -0 3 4 3 2 3 6 7 4 1 -0 1 3 4 4 5 5 4 3 4 5 7 7 5 5 6 8 9 10 9 9 10 11 12 13 13 14 15 16 16 16 17 17 17 17 18 18 18 19 19 19 20 20 20 20 20 20 21 21 21 22 22 23 24 24 24 24 25 26 26 27 28 29 29 30 30 31 31 31 31 31 31 31 31 31 31 31 31 32 33 35 35 35 35 35 36 36 35 35 36 37 38 39 39 38 37 35 36 36 36 36 35 35 35 36 36 36 36 36 36 35 35 34 35 35 35 35 34 33 32 32 32 31 31 32 32 33 34 34 35 35 36 36 35 35 34 34 33 33 33 32 31 30 30 30 30 31 32 32 30 29 28 28 28 28 27 27 26 25 24 23 21 20 19 18 18 17 17 17 17 18 18 18 19 19 19 20 20 20 19 19 18 18 19 20 21 22 23 24 25 26 26 27 27 27 27 27 27 26 26 26 26 26 26 26 26 25 24 24 24 24 24 24 23 22 22 20 18 17 15 13 13 12 12 11 11 10 10 9 10 10 11 12 12 11 9 7 5 2 -0 -4 1 3 4 4 3 2 1 -0 -0 -1 -0 1 2 3 4 3 3 2 2 1 1 -0 -0 -0 -1 -1 -1 -1 -2 -3 -5 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -2 3 7 7 8 8 9 11 12 14 16 16 15 12 9 7 5 4 3 1 -1 -4 -9 -12 -13 -11 -12 -15 -15 -12 -11 -11 -12 -12 -11 -11 -11 -12 -14 -15 -15 -12 -10 -10 -10 -11 -13 -15 -16 -16 -14 -12 -12 -12 -13 -13 -12 -10 -10 -10 -11 -12 -13 -14 -14 -13 -13 -13 -13 -14 -13 -12 -12 -13 -15 -16 -16 -14 -13 -11 -11 -11 -11 -11 -10 -9 -7 -6 -6 -5 -5 -5 -4 -3 -2 -0 -0 -0 -0 -1 -1 -1 -2 -2 -2 -1 1 2 2 1 1 2 4 4 3 2 1 3 5 4 3 4 6 7 5 2 1 3 5 7 6 7 7 6 5 4 6 8 8 7 5 6 8 10 10 10 9 10 12 13 14 14 14 15 16 17 17 17 18 18 18 18 19 19 19 20 20 20 20 21 21 21 21 21 21 21 22 22 23 23 24 24 24 24 25 25 26 26 27 28 29 30 30 31 31 31 31 31 31 31 30 31 31 31 31 32 34 35 35 35 35 35 36 36 36 36 37 37 39 39 39 38 37 36 37 37 37 37 36 37 37 37 37 36 36 35 35 34 34 34 35 35 34 34 33 33 32 32 32 32 31 32 32 33 34 34 35 35 36 36 36 36 35 34 34 33 33 33 32 31 31 30 30 31 31 31 30 29 28 28 28 28 28 27 27 26 25 23 22 21 20 19 19 18 17 17 17 18 18 18 19 19 20 20 20 20 20 20 19 19 19 20 20 21 23 24 25 25 26 27 27 28 28 28 28 28 28 27 27 26 26 26 26 25 25 24 24 23 23 23 23 22 22 20 19 17 15 14 13 12 12 12 12 11 10 10 9 9 10 10 10 10 9 7 7 5 4 1 -4 -4 -4 -4 -5 -5 -6 -5 -4 -3 -2 -0 1 2 3 3 2 2 2 2 1 1 1 1 -0 -0 -0 -1 -2 -3 -4 -6 -7 -7 -8 -7 -7 -7 -6 -6 -6 -7 -7 -8 -8 -3 4 5 5 6 7 9 11 12 15 16 16 14 12 10 9 8 7 7 6 5 2 -2 -6 -10 -13 -12 -12 -12 -11 -9 -8 -10 -10 -11 -12 -13 -14 -12 -11 -12 -12 -10 -10 -10 -12 -13 -14 -16 -16 -14 -13 -13 -13 -13 -12 -11 -11 -11 -12 -13 -14 -15 -15 -15 -14 -14 -14 -13 -12 -12 -14 -15 -16 -16 -15 -13 -13 -12 -12 -12 -11 -10 -10 -8 -7 -6 -5 -4 -4 -3 -3 -2 -0 2 2 2 1 -0 -1 -2 -1 -1 -0 2 4 4 3 2 2 4 5 4 3 3 3 5 5 5 4 6 8 7 4 2 4 6 8 8 8 8 7 6 6 7 9 10 8 6 6 7 10 11 11 10 10 12 14 14 14 15 16 17 17 17 18 18 18 19 19 19 20 20 20 20 20 21 21 21 21 21 21 21 22 22 22 22 23 24 24 24 24 24 25 25 26 26 27 28 29 29 30 30 30 30 30 30 30 30 30 30 30 30 30 33 34 35 35 35 35 36 36 36 36 36 37 38 39 39 39 38 37 37 37 37 37 37 38 38 39 38 37 36 35 34 33 34 34 34 35 35 34 33 33 33 32 32 32 32 31 32 32 33 34 34 35 36 36 36 36 36 36 35 34 34 33 33 33 32 32 31 31 31 31 31 31 29 28 28 28 28 28 28 27 27 25 24 23 22 21 20 20 19 18 17 17 18 18 19 19 19 20 20 20 20 20 20 20 20 20 20 20 21 22 23 24 25 25 26 27 28 28 29 29 29 29 28 27 27 27 26 26 26 25 25 24 24 23 23 23 22 21 20 19 17 15 15 13 12 12 12 12 12 12 11 10 9 9 10 9 8 8 8 8 8 7 5 -4 -5 -6 -6 -6 -6 -5 -4 -3 -2 -0 1 1 2 2 2 2 2 2 2 2 2 1 1 1 -0 -0 -0 -1 -2 -3 -5 -6 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -8 -6 -2 2 2 3 4 5 7 10 12 14 15 13 11 10 9 8 7 7 7 7 6 5 2 -2 -6 -10 -11 -11 -11 -10 -8 -7 -7 -9 -11 -13 -14 -12 -11 -11 -13 -15 -15 -13 -12 -13 -14 -15 -17 -15 -14 -14 -14 -13 -13 -12 -11 -12 -13 -14 -15 -16 -16 -15 -15 -15 -15 -15 -14 -14 -15 -16 -15 -14 -14 -14 -14 -13 -13 -12 -11 -10 -9 -8 -7 -6 -4 -4 -3 -3 -2 -0 2 3 3 3 1 -0 -1 -1 -1 1 3 5 6 5 4 3 3 5 5 5 4 4 5 5 5 5 6 8 8 6 4 4 7 8 9 9 9 9 7 7 7 10 11 10 7 6 7 10 12 11 10 10 12 14 15 15 14 15 17 17 17 17 18 18 19 19 19 20 20 20 20 20 21 21 21 21 21 22 22 22 22 22 22 23 23 24 24 24 25 25 25 25 25 26 26 27 28 29 29 29 29 29 29 29 29 29 29 29 29 30 31 33 34 35 35 35 35 35 36 35 35 35 36 38 39 39 39 38 38 38 38 38 38 38 39 40 39 38 37 35 34 33 33 34 34 35 35 35 34 33 32 32 32 32 32 32 31 31 32 33 34 34 35 36 37 37 37 37 37 36 35 34 34 34 33 33 32 32 32 31 32 32 31 31 30 29 28 28 28 28 27 27 26 25 23 22 21 21 20 20 19 18 18 18 18 19 19 19 20 20 20 21 21 21 21 21 20 20 20 21 21 22 23 24 25 26 27 28 29 29 29 29 29 29 28 28 27 27 27 27 26 26 25 24 23 22 22 21 20 19 18 17 16 15 14 13 12 12 12 12 13 12 12 11 10 9 9 8 8 8 8 9 9 8 -1 -2 -3 -3 -2 -2 -1 -0 1 1 2 2 2 2 1 1 -0 -0 -0 -0 -0 1 1 1 1 -0 -0 -0 -0 -1 -2 -3 -4 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -5 -2 -1 -0 1 2 4 6 9 11 12 12 10 8 6 6 5 5 5 6 6 6 5 3 1 -4 -9 -10 -10 -9 -9 -7 -7 -7 -9 -12 -14 -13 -12 -11 -10 -12 -14 -16 -17 -17 -16 -16 -19 -16 -15 -15 -14 -14 -13 -12 -13 -13 -14 -15 -15 -15 -15 -16 -16 -17 -17 -17 -16 -15 -16 -15 -14 -14 -14 -14 -14 -13 -12 -11 -10 -10 -9 -8 -7 -6 -4 -4 -3 -3 -2 -0 2 4 4 3 1 -0 -1 -1 1 3 6 7 7 5 4 3 4 6 5 5 5 5 5 5 4 6 8 8 7 5 5 7 9 10 10 10 9 8 7 8 10 12 11 8 7 7 10 12 12 11 10 11 13 16 16 15 15 16 17 17 17 17 18 19 19 19 20 20 20 20 20 21 21 22 22 22 22 22 22 22 22 22 22 23 23 24 24 24 25 25 25 26 26 26 26 27 28 28 28 28 28 28 27 27 28 28 28 28 29 30 31 32 33 34 34 34 35 35 35 35 35 35 36 38 39 39 38 38 39 39 39 39 39 40 40 40 39 37 35 34 33 33 33 34 35 36 36 35 34 33 33 32 32 32 32 31 31 31 31 32 34 34 35 36 37 37 37 37 37 36 35 34 34 34 34 34 33 33 32 32 32 32 32 32 31 30 29 28 27 27 27 27 27 26 24 23 22 22 21 21 20 19 18 18 18 19 19 19 20 20 21 21 21 21 21 21 21 21 20 20 21 22 23 24 24 26 27 28 28 29 29 29 29 29 29 28 28 28 28 27 27 27 26 25 24 23 21 21 20 19 18 17 16 14 13 12 12 12 12 12 13 13 13 12 11 10 9 8 8 8 9 10 10 10 2 2 1 2 2 3 3 4 3 3 2 1 1 -0 -0 -1 -2 -2 -2 -2 -2 -1 -1 -0 -0 -0 -0 -0 -1 -1 -2 -3 -3 -4 -4 -5 -5 -5 -5 -5 -6 -6 -7 -7 -6 -3 2 2 -0 -2 -2 -1 -1 1 4 7 9 10 9 7 6 4 3 3 3 4 4 4 4 5 4 2 -2 -6 -9 -9 -8 -7 -7 -7 -8 -10 -12 -13 -14 -14 -12 -11 -11 -15 -18 -19 -19 -17 -19 -18 -16 -15 -15 -14 -13 -13 -13 -14 -14 -14 -14 -14 -14 -15 -17 -18 -18 -17 -17 -15 -15 -14 -14 -14 -14 -14 -14 -13 -12 -10 -10 -10 -9 -8 -7 -5 -4 -4 -3 -3 -2 -0 2 4 4 2 1 -0 -0 2 4 6 8 8 6 4 3 3 5 6 5 5 5 5 5 4 4 7 8 8 7 6 7 9 11 11 10 10 8 7 8 10 12 12 10 7 7 9 12 13 12 11 11 13 15 16 15 15 15 16 17 17 17 17 18 19 19 20 20 20 20 21 21 21 22 22 22 23 22 22 22 21 21 22 22 22 23 24 24 24 25 25 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 28 29 29 31 32 33 33 33 34 33 33 33 33 34 35 37 38 38 38 38 39 39 39 39 40 40 40 40 39 37 36 34 34 33 33 34 35 36 36 36 35 34 33 33 32 32 31 31 31 31 30 31 32 33 34 35 35 36 36 37 37 37 37 36 35 35 35 34 34 34 33 33 32 32 33 33 33 33 32 31 29 28 27 27 27 27 26 24 24 23 22 22 21 20 20 19 18 18 18 19 19 20 20 21 21 21 21 22 22 22 21 21 21 21 22 23 23 24 25 26 28 28 29 29 30 30 29 29 29 29 29 28 28 28 27 27 26 24 23 22 21 20 19 18 17 16 14 13 12 12 12 12 12 13 13 13 13 12 11 10 9 9 9 9 10 11 11 4 4 5 4 5 5 5 4 4 3 2 2 1 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -1 4 4 2 -0 -1 -2 -2 -2 -0 3 5 7 7 6 5 3 2 1 1 1 2 2 3 3 4 4 3 -0 -4 -7 -8 -7 -6 -7 -8 -10 -12 -13 -15 -16 -16 -14 -11 -13 -17 -20 -20 -18 -19 -19 -17 -16 -15 -15 -14 -14 -14 -14 -14 -13 -13 -13 -14 -15 -16 -17 -17 -17 -17 -15 -15 -14 -14 -14 -14 -14 -13 -12 -11 -10 -10 -9 -8 -7 -6 -5 -5 -4 -4 -3 -2 -0 2 3 3 3 2 2 2 3 5 6 6 5 3 1 2 4 6 6 5 5 5 4 3 4 5 8 8 6 6 7 8 11 11 11 10 8 7 8 10 12 13 11 8 6 8 11 14 13 11 11 12 15 17 16 14 14 16 17 17 17 17 18 19 19 20 20 21 21 22 22 22 22 22 23 23 23 23 22 22 21 21 21 22 22 23 23 23 24 25 25 26 26 26 27 27 27 27 27 27 28 28 28 28 28 28 27 27 28 29 30 30 32 32 32 32 33 32 32 32 32 34 36 37 38 38 38 38 39 40 40 40 40 40 40 39 37 36 35 34 34 34 34 35 35 36 36 35 34 34 33 33 32 32 31 30 30 30 30 31 31 32 33 34 34 35 36 36 37 37 37 36 36 35 35 35 34 34 33 33 32 32 33 33 33 34 34 33 31 30 28 28 27 27 26 25 25 24 23 22 21 21 20 19 18 18 18 18 19 20 20 21 21 21 22 22 22 22 22 22 22 22 22 22 23 24 25 26 27 27 29 29 30 30 30 30 29 29 29 29 29 29 28 28 27 25 23 23 21 20 19 19 18 16 15 13 12 12 11 12 12 12 12 13 13 13 12 12 11 10 10 10 10 11 11 1 3 5 4 4 5 5 5 5 5 5 6 6 5 4 4 3 3 3 3 2 2 2 1 1 -0 -0 -1 -2 -3 -3 -4 -4 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -6 -6 -2 3 3 3 2 1 -0 -2 -2 -2 -0 1 2 3 3 2 1 -0 -1 -1 -2 -1 -0 1 1 2 3 4 4 3 -2 -6 -7 -6 -6 -7 -9 -13 -13 -14 -15 -16 -15 -14 -14 -17 -19 -20 -18 -19 -20 -18 -16 -15 -15 -14 -14 -14 -14 -13 -13 -13 -13 -14 -15 -15 -16 -16 -16 -16 -15 -15 -15 -15 -14 -13 -13 -12 -11 -11 -10 -10 -9 -8 -7 -6 -5 -5 -5 -4 -3 -2 -0 2 3 4 4 4 3 3 3 4 5 4 3 -0 -0 2 5 6 7 6 5 3 3 3 5 8 8 7 5 6 8 10 12 12 11 9 7 8 10 12 13 12 8 6 7 10 14 15 12 11 11 14 16 17 15 15 15 17 17 17 16 17 19 20 20 21 21 22 22 23 23 23 23 24 24 24 23 23 23 22 21 22 22 22 22 22 23 23 24 24 25 25 26 26 27 27 27 27 27 28 28 28 28 28 28 28 28 28 29 30 30 30 31 32 32 32 31 31 31 32 33 34 36 37 37 37 38 38 39 40 40 40 40 39 39 37 36 35 34 35 35 35 35 35 35 35 35 34 34 33 33 33 32 31 31 30 30 29 29 30 30 31 32 33 34 34 35 35 35 36 36 36 36 35 35 35 35 34 33 33 33 32 32 32 33 34 34 34 33 31 30 29 28 27 26 26 25 24 23 22 21 21 21 20 19 19 19 18 19 20 20 21 21 21 22 22 22 22 23 23 22 22 22 23 23 24 25 26 26 27 28 29 30 30 30 30 30 30 30 30 29 29 29 28 27 26 24 24 22 21 20 19 18 16 15 14 13 12 12 11 11 12 12 12 12 13 13 12 12 11 11 10 11 11 11 -4 -3 -1 -0 1 2 3 4 5 5 5 6 6 6 6 5 5 5 4 4 3 3 3 3 2 2 -0 -1 -1 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -2 1 2 3 4 4 3 1 -0 -1 -1 -0 -0 -0 -1 -2 -3 -3 -3 -4 -4 -3 -2 -1 -0 -0 -0 1 3 4 3 -0 -4 -5 -5 -7 -10 -12 -12 -13 -13 -13 -14 -14 -14 -17 -19 -21 -20 -18 -19 -18 -16 -15 -15 -14 -14 -14 -14 -14 -13 -14 -14 -14 -15 -15 -15 -15 -16 -16 -16 -15 -15 -14 -14 -13 -12 -11 -11 -10 -10 -9 -8 -7 -6 -5 -5 -5 -4 -3 -3 -1 -0 2 4 5 6 6 4 3 2 3 4 3 1 -1 -0 3 5 7 8 6 4 3 3 5 8 9 7 6 6 8 10 12 12 11 10 8 7 10 12 13 13 10 7 7 10 13 15 14 12 11 13 16 17 16 15 15 17 18 17 16 17 18 19 20 20 21 21 22 23 24 24 24 24 24 24 24 24 24 23 22 22 22 22 22 22 23 23 24 24 24 24 25 26 26 27 27 27 27 27 28 28 29 29 29 29 30 30 30 30 30 30 31 32 32 32 31 31 31 31 32 34 35 36 37 37 37 38 39 39 40 40 39 39 38 37 36 35 34 34 35 35 35 35 35 35 34 34 34 33 34 33 33 32 31 30 30 29 29 29 29 30 30 31 32 33 33 34 34 34 34 35 35 35 35 35 35 35 34 34 34 33 32 32 32 33 34 34 34 34 33 31 30 28 28 27 26 26 25 24 23 21 21 21 20 20 20 20 19 19 19 20 20 21 21 22 23 23 23 23 23 23 23 23 23 23 24 25 26 26 27 28 29 30 30 30 30 30 30 30 30 30 30 29 28 28 26 25 25 23 22 21 20 19 17 16 14 14 13 12 11 11 11 11 12 12 13 13 13 13 12 11 11 11 11 12 -6 -7 -6 -4 -3 -2 -1 -1 -1 -0 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 -0 -0 -1 -1 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -2 -0 1 3 5 5 6 5 3 2 1 1 1 -0 -1 -3 -5 -7 -7 -7 -7 -6 -5 -3 -1 -0 -0 -0 -0 1 3 4 -0 -4 -7 -9 -9 -9 -9 -11 -12 -13 -13 -13 -13 -15 -18 -20 -19 -18 -19 -19 -17 -15 -15 -14 -14 -15 -14 -14 -15 -15 -15 -15 -15 -15 -15 -15 -15 -16 -15 -15 -15 -14 -13 -12 -11 -11 -10 -10 -10 -9 -8 -7 -6 -5 -5 -4 -3 -3 -2 -1 1 2 5 7 7 7 5 3 3 4 4 3 1 -1 1 4 7 9 9 6 4 3 6 9 11 10 7 7 8 10 12 12 11 10 9 8 10 13 15 14 12 9 8 10 14 16 16 12 11 12 15 17 17 15 15 17 18 17 15 15 17 18 20 20 20 21 21 22 23 23 24 24 24 24 24 24 24 23 23 23 22 22 22 22 22 23 24 24 24 24 24 25 25 26 26 26 27 27 27 28 28 29 29 29 30 31 31 31 31 31 31 32 32 32 32 31 31 31 32 33 35 35 36 36 36 37 38 39 39 39 39 39 38 37 36 36 35 35 35 35 35 35 35 34 34 34 33 34 34 34 34 33 32 32 31 30 30 29 29 29 29 30 30 31 32 33 33 33 33 33 33 34 34 34 34 34 35 34 34 34 34 33 32 32 32 33 34 35 35 35 33 31 29 29 28 27 26 26 25 24 22 22 21 20 20 20 21 20 20 19 20 20 21 21 22 23 23 24 24 24 24 23 23 23 23 24 25 26 26 27 28 29 30 30 30 30 30 30 30 30 30 30 29 28 28 27 26 25 24 23 22 21 20 18 17 15 15 13 12 12 11 11 11 11 12 12 13 13 13 13 12 12 12 12 13 -3 -4 -4 -5 -4 -3 -3 -3 -4 -4 -4 -5 -5 -5 -4 -4 -3 -2 -2 -1 -0 -0 -0 1 1 1 -0 -0 -0 -0 -0 -0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -2 -1 -0 1 2 4 5 7 7 6 5 5 4 3 2 1 -1 -4 -6 -7 -8 -8 -8 -7 -6 -4 -2 -1 -1 -1 -1 -0 2 2 -0 -4 -7 -9 -8 -9 -11 -12 -13 -13 -13 -14 -14 -16 -17 -18 -17 -19 -20 -19 -16 -16 -15 -15 -16 -15 -15 -16 -16 -16 -16 -17 -16 -16 -16 -16 -15 -15 -15 -14 -14 -13 -12 -11 -11 -10 -10 -9 -8 -8 -7 -6 -5 -4 -3 -2 -2 -1 1 2 4 7 8 8 7 5 4 4 6 5 3 1 -1 2 5 8 10 9 5 3 5 8 11 12 10 8 8 10 13 13 12 11 9 9 10 13 15 16 14 12 10 11 14 17 17 15 12 11 14 16 17 15 14 16 17 17 15 13 14 17 19 20 20 20 20 21 22 23 23 23 23 23 22 22 22 23 23 23 23 22 22 22 22 23 23 23 24 24 24 24 25 25 25 25 25 26 26 26 27 28 28 29 29 30 31 31 31 32 32 32 32 32 32 32 31 32 32 33 34 34 35 35 35 36 37 38 39 39 39 38 38 37 37 36 35 36 36 36 36 36 35 34 34 34 33 34 34 34 35 35 34 33 33 32 31 30 30 29 29 29 29 29 30 31 32 32 32 32 32 32 32 32 33 33 33 34 34 34 34 34 33 32 32 32 32 33 34 35 35 34 32 30 30 29 28 27 26 26 25 23 22 21 20 21 21 21 21 20 20 20 20 21 21 22 23 24 24 25 25 25 24 23 23 23 24 25 25 26 27 28 29 30 30 30 31 31 31 31 30 30 30 29 29 28 28 27 26 25 24 23 22 21 19 18 16 16 14 13 12 12 11 11 11 12 12 13 13 13 13 13 13 13 13 13 2 -0 -1 -3 -3 -3 -3 -3 -4 -5 -6 -7 -7 -7 -7 -7 -6 -5 -4 -3 -1 -0 -0 -0 1 1 1 1 1 1 1 1 1 -0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -0 1 3 5 6 6 6 6 6 6 5 4 2 -0 -1 -4 -6 -7 -7 -7 -6 -5 -4 -3 -3 -4 -4 -3 -2 -0 -0 -1 -3 -5 -7 -9 -10 -11 -12 -13 -14 -14 -13 -14 -16 -18 -18 -17 -17 -18 -17 -16 -16 -16 -16 -16 -16 -17 -17 -17 -17 -17 -17 -17 -17 -16 -15 -15 -15 -14 -14 -13 -12 -12 -11 -10 -9 -8 -8 -8 -7 -5 -4 -2 -2 -1 -0 1 2 4 6 8 9 9 8 6 6 7 8 7 4 -0 -0 3 7 10 10 8 5 4 7 11 12 11 10 9 10 12 13 13 11 10 9 10 12 15 16 16 14 12 12 14 17 18 16 14 11 13 16 17 16 15 15 17 16 14 12 12 15 17 19 19 19 19 19 20 21 22 22 22 21 21 21 21 21 21 21 21 21 22 22 22 23 23 23 23 24 24 24 24 24 24 24 24 24 25 25 26 26 27 28 29 29 30 31 31 31 32 32 32 32 32 32 32 32 32 33 34 34 34 34 35 35 36 37 38 38 38 38 38 37 37 37 36 36 36 36 36 36 36 35 34 34 34 34 34 34 34 35 35 35 34 33 33 32 31 30 30 29 29 29 29 29 30 31 31 32 32 32 31 31 31 31 32 32 33 34 34 35 35 34 33 32 32 32 33 34 34 34 34 33 31 31 30 29 28 28 27 26 24 23 21 20 20 21 21 21 20 20 20 20 20 21 22 24 24 25 25 25 25 24 23 23 24 24 25 25 26 27 28 29 29 30 30 31 31 31 31 31 30 30 29 29 28 28 28 27 26 25 24 23 22 21 20 18 17 16 15 13 13 12 11 11 12 12 12 13 13 14 14 14 14 14 14 2 1 -1 -2 -3 -3 -4 -4 -5 -6 -7 -7 -7 -6 -6 -6 -6 -4 -3 -2 -1 1 2 2 2 2 2 1 1 1 1 1 1 1 -0 -0 -1 -2 -2 -2 -3 -4 -4 -4 -4 -3 -3 -2 -2 -1 -0 1 3 3 5 5 6 7 6 5 4 3 2 -0 -2 -4 -6 -6 -6 -6 -5 -6 -6 -7 -7 -6 -5 -3 -2 -2 -2 -4 -5 -7 -7 -8 -10 -12 -13 -14 -13 -13 -15 -18 -18 -16 -16 -17 -18 -17 -17 -17 -17 -17 -17 -18 -18 -18 -18 -18 -18 -18 -18 -17 -16 -15 -15 -14 -13 -13 -12 -12 -11 -9 -8 -8 -7 -7 -6 -4 -3 -1 -1 -0 1 2 3 5 7 9 9 9 8 9 9 10 10 7 3 1 2 6 9 10 10 7 5 6 9 12 12 11 11 11 12 13 13 12 11 9 10 12 14 17 17 16 14 13 13 16 18 18 16 13 13 15 17 17 15 14 15 16 14 12 11 12 16 18 18 18 18 18 19 20 21 21 21 20 19 19 19 19 19 20 20 20 20 21 21 22 22 23 23 23 23 23 24 24 24 24 24 24 23 24 25 25 26 27 28 29 29 30 31 31 31 31 32 32 32 32 32 32 32 33 33 34 34 34 34 35 35 36 37 38 38 38 38 38 37 37 37 36 36 36 36 36 36 35 35 34 34 34 34 34 35 35 35 35 35 34 34 33 33 32 31 30 30 29 29 29 29 29 30 31 31 32 32 31 31 30 30 30 30 31 33 34 35 35 34 33 33 32 32 33 33 34 34 33 33 33 32 32 30 30 29 28 27 25 24 22 21 20 20 21 21 21 20 20 20 20 21 22 23 24 25 25 25 25 24 24 24 24 24 25 25 26 27 28 28 28 29 30 30 31 31 31 30 30 30 30 29 29 28 28 28 27 26 25 24 23 22 21 19 18 17 16 15 14 13 12 12 11 11 12 13 13 14 15 15 14 14 14 -1 -2 -3 -4 -5 -5 -5 -6 -7 -8 -8 -7 -6 -5 -5 -5 -4 -3 -2 -2 -1 -0 1 1 1 1 1 1 1 1 1 1 1 -0 -0 -0 -1 -1 -1 -1 -2 -2 -3 -4 -4 -3 -3 -3 -3 -2 -2 -1 -0 -0 1 2 4 5 7 6 5 5 4 3 2 -0 -2 -4 -5 -6 -6 -7 -8 -9 -8 -6 -5 -5 -5 -5 -5 -5 -4 -5 -6 -7 -8 -11 -13 -13 -13 -14 -15 -17 -17 -16 -16 -17 -18 -18 -18 -18 -18 -18 -18 -18 -18 -19 -19 -19 -19 -19 -18 -17 -17 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -7 -7 -6 -5 -4 -2 -1 -0 1 2 3 4 6 8 10 10 10 10 10 10 10 9 7 4 3 5 8 10 11 10 7 7 9 11 12 12 11 11 12 13 13 12 11 10 10 11 14 16 17 16 15 14 14 15 17 18 17 15 13 14 16 17 16 15 15 15 14 12 10 11 14 17 17 18 18 18 17 18 20 20 20 19 18 18 18 18 18 18 18 18 19 19 19 20 21 22 22 22 22 22 22 23 23 23 23 23 23 23 23 24 24 26 27 28 29 29 30 31 31 31 31 31 32 32 32 32 32 32 33 33 33 33 33 34 35 36 36 37 37 37 37 37 37 37 37 36 36 36 36 36 35 34 34 33 33 33 34 34 34 34 35 35 35 34 34 33 33 33 32 32 31 31 30 30 29 29 29 29 30 30 31 31 31 30 30 29 29 30 30 32 33 34 34 34 34 33 33 32 32 33 33 33 33 34 34 33 33 32 31 30 30 29 27 25 23 21 20 20 21 21 21 21 20 20 20 21 22 22 24 24 25 25 25 25 25 25 25 25 25 25 26 27 27 28 28 28 29 29 30 29 30 30 30 30 30 29 29 29 28 28 27 27 26 25 24 23 22 21 20 19 17 16 15 14 13 12 11 11 11 12 13 14 15 15 16 16 15 -7 -7 -6 -7 -7 -7 -7 -7 -8 -7 -7 -7 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -0 1 3 5 6 5 5 4 4 4 4 2 -0 -3 -4 -5 -7 -8 -8 -7 -5 -5 -5 -6 -7 -7 -6 -4 -4 -5 -7 -8 -10 -12 -13 -14 -15 -16 -17 -17 -15 -15 -16 -18 -18 -18 -18 -18 -18 -19 -19 -19 -19 -18 -18 -18 -18 -18 -18 -17 -16 -16 -14 -13 -12 -10 -9 -8 -8 -7 -6 -6 -6 -5 -4 -2 -0 1 2 3 4 6 8 9 10 11 11 11 11 11 10 8 7 6 7 8 10 11 11 10 9 9 11 12 12 12 11 11 12 12 12 11 9 9 11 13 15 16 16 15 14 13 14 17 18 18 16 14 14 16 17 16 15 15 15 15 12 10 10 12 15 17 17 16 16 16 17 18 19 20 19 18 17 16 17 18 18 18 18 19 19 19 20 20 21 21 21 21 21 21 22 22 22 22 22 22 22 23 24 24 25 26 27 28 29 29 30 30 30 30 30 30 31 31 32 32 32 32 32 32 33 33 33 34 34 35 36 36 36 36 36 36 36 36 35 34 34 34 34 33 33 32 32 32 32 33 33 33 33 33 33 33 33 33 33 33 33 33 33 32 31 31 31 30 30 29 29 29 29 30 30 30 30 30 29 29 29 29 29 30 32 33 34 34 34 34 33 32 32 32 32 33 34 34 34 34 34 33 32 31 30 30 28 26 24 22 21 21 21 22 22 21 21 20 20 21 22 22 23 24 25 25 25 26 26 26 25 25 25 26 26 27 27 27 27 27 27 27 28 28 28 29 29 30 30 29 29 29 28 28 27 27 27 26 25 24 23 22 21 20 19 18 16 16 14 13 11 11 11 12 13 14 15 16 17 17 17 -12 -11 -9 -8 -7 -7 -7 -7 -7 -6 -5 -5 -5 -6 -6 -6 -7 -7 -7 -6 -6 -6 -5 -5 -6 -6 -5 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -2 -1 -1 -1 -1 -1 -0 -0 1 3 4 5 5 5 4 5 5 5 3 1 -1 -4 -6 -6 -6 -6 -5 -5 -6 -6 -7 -7 -7 -6 -5 -6 -7 -8 -10 -11 -12 -13 -14 -15 -16 -17 -16 -14 -14 -16 -18 -18 -18 -18 -18 -18 -19 -19 -18 -18 -18 -18 -18 -18 -17 -17 -16 -16 -15 -14 -12 -11 -9 -8 -7 -7 -6 -6 -6 -5 -3 -2 -0 2 2 4 5 6 8 9 11 11 12 12 11 11 10 9 8 9 9 10 11 12 12 12 11 11 12 13 13 12 11 11 11 12 11 9 9 10 11 13 16 16 15 14 13 13 15 18 18 17 15 14 15 16 16 16 15 15 15 13 11 10 11 14 16 16 16 15 15 15 16 18 19 18 18 17 16 16 17 18 18 19 19 19 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 22 23 24 25 26 27 28 28 28 29 29 30 29 29 29 29 30 30 31 31 31 31 31 31 32 32 33 33 33 34 34 34 34 34 33 33 33 32 32 32 32 32 31 30 30 30 30 31 31 32 32 32 32 32 32 32 32 32 32 33 33 33 33 32 32 31 31 30 30 30 29 29 29 29 29 29 29 29 29 29 28 29 29 30 31 32 33 34 34 34 33 32 31 31 31 32 33 34 34 34 34 33 33 32 31 31 29 27 25 23 22 22 22 22 23 22 21 21 21 21 22 22 23 23 24 25 25 26 26 26 26 26 26 26 27 27 27 27 27 26 25 26 26 26 27 27 28 29 29 29 29 29 28 28 27 27 27 26 26 25 24 23 22 21 20 19 18 17 15 14 12 12 11 11 12 13 14 16 17 18 18 -15 -14 -13 -10 -9 -8 -7 -6 -5 -3 -3 -3 -4 -4 -4 -5 -5 -6 -6 -5 -6 -6 -6 -6 -6 -6 -7 -7 -6 -6 -5 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -0 -0 -0 1 1 1 2 3 4 5 5 5 4 4 5 5 4 2 -0 -3 -5 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -9 -10 -10 -11 -13 -14 -16 -19 -19 -17 -15 -18 -19 -18 -17 -17 -17 -18 -18 -18 -18 -18 -17 -17 -17 -17 -17 -17 -16 -16 -15 -14 -13 -11 -10 -9 -7 -6 -6 -6 -6 -5 -3 -2 -0 1 2 4 5 6 8 9 11 11 12 12 12 12 11 11 11 11 11 11 12 13 13 13 13 13 13 13 13 12 11 11 11 11 10 9 9 11 13 15 16 16 13 11 11 14 17 18 18 16 14 15 16 16 15 15 15 15 15 13 11 11 13 16 16 15 14 14 14 14 16 17 18 18 17 16 16 16 17 18 19 20 20 20 20 20 19 19 20 21 21 21 21 21 21 20 20 20 20 21 22 24 25 26 28 28 28 27 27 27 28 28 28 27 28 28 29 29 29 29 29 29 29 30 30 30 31 31 31 31 31 32 32 31 31 30 30 29 30 30 30 30 30 29 29 29 30 30 31 31 31 31 31 31 31 31 31 31 32 32 32 33 33 32 32 32 31 31 30 30 29 29 28 28 28 28 28 28 28 28 28 28 29 29 30 31 32 33 34 34 33 32 31 30 31 32 33 34 34 34 34 34 33 33 32 32 30 28 26 25 24 23 23 23 23 22 22 21 21 22 22 22 23 23 24 25 25 26 26 26 26 26 27 27 27 27 27 27 27 26 25 24 24 24 25 25 26 27 28 28 28 28 28 28 27 27 27 26 26 25 25 24 23 22 21 20 19 18 16 15 13 12 12 11 12 13 14 16 17 18 19 -14 -15 -14 -13 -11 -10 -8 -6 -5 -3 -3 -3 -2 -2 -2 -3 -3 -3 -2 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -2 -3 -2 -1 -1 -0 1 2 3 3 4 4 5 5 5 4 4 4 5 5 4 2 1 -2 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -10 -11 -11 -11 -13 -14 -15 -15 -16 -17 -16 -14 -16 -19 -16 -16 -16 -17 -17 -17 -18 -18 -17 -17 -17 -17 -17 -17 -17 -16 -16 -16 -14 -13 -11 -9 -8 -7 -6 -5 -5 -5 -5 -3 -2 -0 1 2 4 5 6 8 9 10 11 12 13 13 13 13 13 12 12 12 13 13 14 14 14 13 13 13 13 13 12 11 11 11 10 10 10 11 12 14 15 15 14 11 11 12 15 17 17 15 15 15 16 16 15 14 14 15 15 13 11 11 12 15 16 15 13 12 12 13 14 16 17 17 17 16 16 16 16 17 18 20 21 21 20 19 19 19 19 20 21 21 21 21 20 19 19 19 19 20 22 24 25 26 28 28 28 26 25 25 25 26 26 25 25 26 27 27 27 27 27 27 27 27 28 28 28 29 29 29 29 29 29 29 29 28 27 27 28 28 28 28 28 28 28 28 29 30 30 31 31 31 31 31 32 32 32 32 31 31 32 32 32 32 32 32 32 31 31 31 30 29 29 28 28 27 27 27 27 27 27 27 28 28 29 29 30 31 32 32 33 32 31 30 30 31 32 32 32 33 33 34 34 34 34 33 32 31 30 28 26 25 24 24 24 23 23 22 22 22 22 22 22 22 23 24 24 25 26 26 26 27 27 27 27 27 27 27 27 27 26 25 24 23 23 23 23 24 25 26 26 27 27 28 27 27 27 27 26 26 25 25 24 23 22 22 21 20 19 18 16 15 14 13 12 12 13 14 15 16 17 19 -12 -13 -13 -12 -11 -10 -8 -7 -6 -5 -4 -4 -4 -3 -3 -3 -2 -1 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -2 -3 -2 -1 -1 -1 1 2 3 4 5 5 6 6 6 4 4 4 4 4 4 3 2 -0 -3 -5 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -10 -12 -13 -15 -17 -18 -18 -16 -16 -18 -19 -18 -17 -19 -16 -15 -16 -16 -16 -17 -17 -17 -16 -16 -16 -16 -16 -16 -16 -16 -16 -15 -14 -13 -11 -9 -7 -6 -5 -5 -5 -5 -4 -3 -1 1 1 2 3 4 6 7 8 10 11 12 13 14 15 15 14 13 13 13 14 14 14 14 14 13 13 13 13 13 12 11 11 11 11 11 11 12 13 15 15 14 12 11 12 14 16 17 15 14 14 16 16 15 13 13 14 15 14 12 11 12 14 15 15 13 12 11 12 13 14 15 16 16 15 15 15 15 16 18 19 20 21 20 19 18 18 18 18 20 20 20 20 19 18 18 18 18 19 21 23 24 26 27 28 27 26 24 23 23 23 23 23 23 23 24 24 25 24 24 25 26 26 27 27 28 28 28 28 28 28 28 28 28 27 27 26 26 26 27 26 26 27 27 28 29 29 30 31 31 31 30 31 32 33 33 33 32 31 31 31 32 32 32 32 32 32 32 32 31 30 30 30 29 28 27 27 27 27 27 27 27 27 28 28 29 29 30 31 31 32 32 31 30 30 30 31 31 31 32 33 33 34 34 34 34 33 32 30 28 27 26 25 25 24 23 23 22 22 22 22 22 22 23 23 24 24 25 26 26 27 27 27 27 27 27 27 27 27 27 26 25 23 23 22 22 22 23 23 24 25 26 26 27 27 27 26 26 26 26 25 25 24 23 23 22 22 21 20 19 18 16 15 14 13 13 13 14 15 16 17 18 -11 -12 -11 -10 -10 -8 -7 -7 -7 -6 -7 -7 -6 -6 -5 -5 -3 -2 -1 -1 -0 -0 -0 -0 -0 -0 -1 -1 -0 -0 1 1 1 1 -0 -1 -1 -2 -2 -3 -3 -3 -4 -4 -2 -2 -1 -1 -1 -1 -2 -2 -3 -2 -2 -2 -1 -1 -1 -0 2 3 4 5 5 4 4 3 2 2 2 3 3 3 1 -2 -4 -5 -6 -6 -6 -5 -5 -6 -7 -8 -10 -12 -13 -16 -20 -22 -21 -17 -16 -19 -20 -19 -16 -16 -14 -13 -14 -15 -16 -16 -16 -16 -15 -15 -15 -15 -15 -15 -15 -15 -15 -14 -13 -12 -10 -9 -7 -5 -4 -3 -3 -3 -3 -2 -1 1 1 2 3 4 6 7 8 10 12 13 14 15 15 15 15 14 14 14 14 14 14 13 13 13 13 13 13 13 12 11 11 11 11 12 13 14 15 15 15 13 12 11 13 15 15 14 13 14 16 17 16 14 13 13 14 14 13 11 11 13 15 15 13 11 10 11 12 12 13 14 14 14 14 13 13 14 16 18 19 20 20 19 18 17 17 17 18 19 19 18 17 16 15 16 17 18 20 22 23 25 27 27 26 25 23 22 21 21 21 22 22 22 22 22 22 23 23 24 25 26 27 28 28 29 29 29 29 29 28 28 28 27 27 26 25 25 25 25 25 26 26 27 28 29 30 31 31 31 30 30 32 33 34 34 33 32 31 31 31 31 31 31 32 32 32 32 32 32 31 30 30 29 28 27 27 27 27 27 27 27 27 27 28 28 28 29 29 30 30 31 31 30 30 30 30 30 30 31 32 33 33 33 34 34 33 32 31 29 28 27 27 26 25 24 24 23 22 22 22 22 22 23 24 24 25 25 26 26 27 27 27 27 27 27 27 27 27 27 27 25 24 23 22 21 21 22 22 23 24 25 25 26 26 26 26 26 26 25 25 25 24 24 23 23 22 22 21 20 19 17 16 15 14 13 13 14 15 16 17 17 -11 -11 -11 -10 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -6 -5 -4 -3 -2 -1 -0 -0 -0 -0 -1 -1 -0 1 2 2 3 3 3 3 3 2 2 2 2 1 -0 -0 -1 -1 -0 -0 -0 -1 -1 -1 -2 -2 -3 -2 -3 -3 -3 -3 -3 -2 -1 -0 1 1 -0 -1 -1 -2 -1 -0 1 2 2 1 -0 -1 -3 -5 -6 -6 -4 -4 -5 -7 -9 -11 -13 -16 -21 -24 -25 -22 -20 -22 -24 -24 -20 -16 -14 -13 -14 -14 -15 -15 -15 -15 -15 -14 -14 -14 -14 -14 -13 -13 -13 -12 -12 -11 -9 -8 -6 -5 -4 -3 -2 -2 -2 -1 -0 1 2 3 4 5 6 7 8 10 12 13 15 15 15 15 15 14 14 14 14 13 13 13 13 13 13 13 13 13 12 12 11 11 13 14 15 15 15 15 14 12 12 13 14 14 13 12 13 16 17 17 15 12 12 13 13 13 11 10 12 14 14 13 11 10 10 11 11 11 11 12 12 12 12 12 13 15 16 18 19 19 18 17 16 16 16 17 17 17 16 15 14 13 14 15 17 19 21 23 24 25 25 25 23 21 20 19 19 19 20 21 22 22 22 21 21 22 23 24 26 27 28 29 29 29 29 29 29 29 28 28 28 27 26 25 25 25 25 25 26 26 27 28 29 30 31 31 31 30 30 31 32 33 34 33 32 31 31 31 31 31 31 32 32 32 33 33 33 32 32 31 30 30 29 28 27 27 27 27 27 27 27 27 27 27 27 28 28 29 29 30 30 30 29 29 29 30 30 30 31 32 32 33 33 33 33 33 31 30 29 28 28 27 27 26 25 24 23 22 22 22 23 23 24 24 25 25 26 26 27 27 27 27 27 27 27 27 27 27 27 26 24 23 22 21 20 21 21 22 23 24 25 25 25 25 25 25 25 25 25 25 24 24 23 23 23 22 21 20 19 18 17 15 15 14 14 14 15 16 16 17 -10 -11 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -7 -6 -5 -4 -4 -3 -2 -1 -2 -2 -2 -2 -2 -1 1 2 2 3 3 3 3 2 2 2 3 3 2 1 -0 -0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -3 -3 -4 -5 -6 -6 -6 -6 -5 -4 -4 -5 -5 -5 -4 -4 -3 -2 -1 -0 -0 -0 -2 -4 -6 -7 -6 -4 -4 -5 -8 -10 -12 -15 -20 -25 -27 -26 -26 -28 -30 -29 -25 -20 -17 -14 -13 -12 -14 -14 -15 -14 -14 -14 -14 -13 -13 -13 -12 -12 -12 -11 -10 -10 -9 -7 -6 -5 -3 -2 -2 -2 -2 -1 -0 2 3 4 5 6 6 7 8 10 12 14 15 15 15 15 14 14 14 14 13 12 12 13 13 12 12 13 13 13 12 11 11 12 14 15 15 15 15 14 13 13 13 14 13 12 11 12 15 18 18 17 13 12 12 13 12 11 10 11 13 13 13 11 10 10 10 10 11 11 11 11 11 11 12 12 13 15 16 17 17 17 16 16 15 15 16 16 16 15 14 13 12 12 14 16 17 19 21 23 24 24 23 21 20 19 18 18 18 19 20 21 22 22 22 21 21 22 23 25 27 28 29 29 29 29 29 29 29 28 28 28 28 27 27 26 26 26 26 27 27 28 28 29 30 31 31 31 30 29 30 31 32 32 32 31 30 30 30 30 30 30 31 31 31 32 33 33 33 32 32 31 31 30 29 28 28 27 27 27 27 26 26 26 26 26 26 26 27 27 28 29 29 29 29 29 28 29 29 29 30 31 32 32 32 33 33 33 31 30 30 29 29 29 29 28 27 26 25 23 22 22 23 23 24 24 25 25 26 26 26 27 27 27 27 27 27 27 27 27 27 26 25 23 22 21 20 20 20 21 22 23 25 25 25 25 25 24 24 24 24 24 24 24 23 23 23 22 21 21 20 19 18 16 16 15 15 15 15 16 17 18 -10 -11 -12 -12 -12 -12 -12 -12 -11 -11 -10 -9 -8 -7 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -0 1 1 1 1 1 1 1 2 3 2 2 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -3 -4 -5 -7 -8 -9 -10 -10 -9 -8 -8 -8 -7 -6 -6 -6 -5 -5 -4 -4 -4 -4 -5 -6 -8 -8 -6 -5 -4 -6 -8 -10 -13 -18 -23 -26 -27 -31 -34 -35 -32 -28 -24 -19 -16 -13 -12 -12 -14 -14 -14 -14 -14 -14 -13 -12 -12 -11 -11 -10 -10 -9 -8 -7 -7 -5 -4 -3 -2 -2 -2 -2 -1 1 2 3 5 6 6 7 7 9 11 12 14 14 15 14 14 14 14 13 13 12 12 12 12 12 12 12 13 13 13 11 11 12 13 15 15 15 15 14 14 13 13 13 13 11 10 10 13 17 19 18 15 12 11 12 12 11 10 10 11 13 12 11 10 9 10 10 10 10 10 10 10 11 11 12 12 13 14 15 16 15 15 15 14 14 14 14 14 14 13 12 11 11 13 15 17 18 20 21 22 23 22 20 19 18 17 17 17 17 19 21 22 22 22 21 20 20 21 23 25 27 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 30 30 30 30 30 30 30 31 31 31 31 30 28 28 29 30 30 30 29 29 28 28 29 29 29 30 30 30 30 31 32 32 32 32 31 30 30 30 29 28 27 27 27 27 26 26 26 26 25 25 25 26 26 26 26 27 28 28 28 28 27 27 28 28 29 30 31 31 31 32 32 32 31 31 30 29 29 29 30 29 28 27 26 24 23 23 23 23 23 24 25 25 26 26 26 26 27 27 27 27 27 27 27 27 27 26 25 23 22 21 19 19 19 20 21 22 24 24 25 25 25 24 23 23 23 23 23 23 23 23 23 23 22 21 21 20 19 17 17 16 16 16 16 17 17 18 -9 -9 -10 -11 -11 -11 -11 -11 -10 -10 -9 -8 -7 -6 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -2 -1 -1 -0 -0 -0 -0 -0 -0 1 2 2 1 -0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -5 -6 -8 -9 -10 -11 -12 -10 -10 -9 -9 -8 -7 -8 -8 -8 -9 -9 -9 -8 -9 -9 -10 -10 -10 -7 -5 -4 -5 -7 -11 -15 -18 -20 -24 -31 -35 -36 -34 -30 -25 -20 -17 -14 -12 -11 -13 -13 -13 -13 -13 -14 -13 -12 -11 -11 -10 -9 -8 -8 -7 -6 -6 -5 -4 -2 -2 -2 -2 -1 -0 1 3 3 5 6 7 7 8 10 11 13 14 14 14 13 13 14 13 12 11 11 11 12 12 12 11 12 13 13 12 11 11 13 14 14 14 14 14 13 14 14 14 13 10 9 9 11 15 18 18 16 13 11 10 11 10 10 10 11 12 12 11 10 9 9 9 9 9 9 9 9 10 10 10 11 12 12 13 13 14 14 14 14 13 13 13 12 12 12 11 10 10 11 14 15 17 19 20 21 21 21 19 18 17 16 16 16 17 18 19 20 21 21 20 19 18 19 21 23 24 26 26 27 28 28 29 29 29 30 30 30 31 31 31 32 33 33 33 33 33 33 33 32 32 32 31 29 27 26 26 27 28 27 27 26 26 26 26 27 27 28 28 28 28 29 29 30 30 30 30 30 30 29 29 28 27 27 27 27 26 26 26 25 25 25 25 24 25 25 25 25 26 26 26 27 26 26 26 26 27 28 28 29 30 30 31 31 31 31 31 30 30 29 30 30 30 29 28 27 26 24 24 23 23 23 23 24 25 26 26 26 26 27 27 27 27 27 27 27 27 27 26 25 23 22 21 19 19 19 19 20 21 23 24 25 25 25 24 24 23 22 22 22 23 23 23 23 23 22 22 21 20 20 18 18 17 17 17 17 18 18 19 -8 -8 -9 -9 -9 -10 -10 -9 -9 -9 -9 -8 -8 -7 -7 -6 -5 -4 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 1 1 -0 -0 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -2 -2 -2 -3 -4 -6 -6 -7 -8 -10 -11 -10 -10 -9 -9 -9 -9 -10 -10 -11 -11 -12 -12 -12 -13 -13 -13 -12 -13 -13 -10 -6 -3 -3 -5 -7 -9 -11 -14 -21 -26 -30 -31 -30 -27 -21 -14 -9 -8 -9 -10 -12 -12 -12 -13 -13 -13 -12 -11 -10 -9 -8 -7 -6 -6 -5 -4 -4 -3 -2 -1 -1 -1 -0 1 2 3 3 4 5 7 8 9 11 12 12 13 13 13 13 13 13 12 10 9 10 10 11 11 11 11 12 13 12 11 10 11 13 14 13 13 12 12 13 14 14 13 10 8 8 10 13 16 17 16 14 11 9 9 9 9 9 10 11 11 10 10 9 9 9 8 8 8 8 8 9 9 10 10 10 11 11 11 12 13 13 13 13 13 12 12 12 11 11 10 10 10 12 14 15 17 19 20 20 19 18 17 16 15 15 15 16 17 18 19 19 18 17 17 16 18 19 21 23 24 24 25 26 28 30 31 31 32 32 32 32 33 33 34 34 34 34 34 34 34 33 33 32 31 29 27 25 24 23 24 25 25 25 25 24 24 25 25 25 25 26 26 26 26 27 28 28 28 29 29 28 28 28 27 27 27 27 26 26 26 25 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 24 24 25 25 26 27 28 29 30 31 31 31 30 30 30 30 30 30 30 29 28 28 27 26 24 23 22 22 23 24 25 26 26 26 27 27 27 27 27 27 27 27 27 27 26 26 24 23 21 20 19 18 19 19 20 22 23 24 25 25 24 24 23 22 21 21 22 23 23 23 23 23 22 21 21 20 19 18 18 18 18 18 18 19 20 -7 -7 -8 -9 -9 -10 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -6 -5 -5 -4 -3 -2 -1 -1 -0 1 1 1 1 -0 -0 1 1 2 2 2 2 2 2 1 1 1 1 -0 -0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -4 -5 -6 -6 -6 -7 -8 -9 -8 -8 -9 -10 -11 -12 -12 -12 -12 -12 -14 -14 -16 -17 -17 -17 -16 -16 -15 -15 -14 -8 -1 1 2 3 4 3 -3 -9 -15 -20 -24 -28 -28 -22 -12 -4 -0 -4 -8 -11 -12 -12 -13 -13 -12 -11 -9 -8 -7 -6 -5 -5 -4 -4 -3 -2 -1 -1 -0 -0 1 2 2 2 2 3 5 6 8 10 11 11 11 11 12 13 13 13 11 10 9 8 9 9 10 10 10 10 11 11 11 9 10 11 12 13 12 11 11 13 14 14 13 10 8 7 9 11 14 16 16 14 11 9 8 8 7 8 9 10 10 10 9 8 8 8 7 7 7 7 8 8 9 9 10 10 10 10 10 11 11 12 12 12 12 12 11 11 11 10 10 10 10 11 12 14 15 17 18 18 17 17 16 15 14 14 15 15 15 16 17 17 16 15 15 14 16 18 21 22 23 23 23 25 27 29 31 32 33 33 33 33 33 34 34 34 33 33 33 33 33 32 32 31 29 28 26 24 23 22 22 22 22 22 22 23 23 23 23 23 24 24 24 24 24 24 25 26 26 26 27 27 27 27 26 26 26 26 26 26 25 25 24 23 23 23 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 24 25 27 28 29 30 31 30 30 30 30 30 29 29 29 29 28 28 27 26 25 23 22 22 23 23 24 25 25 26 27 27 27 27 27 27 28 28 28 28 27 26 25 23 21 20 19 18 18 18 19 21 22 24 25 25 24 24 23 22 20 20 21 22 23 23 23 23 23 22 21 20 20 19 19 18 18 19 19 19 20 -7 -7 -8 -8 -9 -10 -9 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -2 -1 -0 -0 1 1 2 2 2 2 2 2 2 3 3 3 2 1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -5 -6 -6 -6 -6 -6 -6 -5 -6 -7 -8 -9 -12 -13 -13 -14 -15 -17 -19 -19 -19 -19 -19 -19 -18 -17 -16 -15 -16 -12 2 10 15 19 20 15 10 4 -3 -10 -20 -27 -27 -23 -17 -9 -7 -7 -8 -10 -11 -11 -12 -11 -10 -9 -8 -6 -5 -4 -4 -4 -3 -2 -1 -0 -0 -0 1 2 2 2 2 2 3 5 7 9 9 10 9 9 10 12 13 13 12 10 8 7 7 8 8 8 8 8 10 10 10 9 8 9 11 11 11 10 10 12 13 13 12 10 8 6 7 9 12 14 14 13 11 9 8 8 7 7 7 9 9 9 9 8 8 8 7 7 6 6 7 7 8 8 9 9 9 9 9 10 10 11 11 12 12 12 11 11 10 10 10 9 10 11 11 12 14 15 17 17 17 16 15 14 13 13 13 14 14 15 15 16 15 14 14 14 15 17 20 22 22 22 22 23 25 27 29 31 31 32 32 32 32 32 32 31 31 30 30 30 30 29 29 29 28 26 25 24 23 22 21 21 21 21 22 21 22 22 22 22 22 22 23 23 23 23 23 23 24 24 24 25 25 24 24 24 25 25 24 24 24 24 23 22 22 22 21 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 22 23 25 27 28 29 30 30 30 30 30 30 30 29 29 29 28 27 26 25 25 24 23 22 22 23 23 24 25 25 26 27 27 27 27 27 28 28 28 28 28 27 25 24 22 21 20 19 18 18 18 20 21 22 24 24 24 24 23 22 21 20 20 21 22 22 22 22 22 22 21 20 20 20 19 19 19 19 19 20 21 -8 -8 -8 -8 -9 -9 -9 -9 -8 -7 -7 -6 -6 -5 -5 -4 -4 -5 -5 -6 -6 -7 -7 -8 -7 -6 -6 -4 -3 -2 -0 -0 -0 -0 -0 -1 -0 -0 -0 1 1 1 1 1 1 -0 -1 -2 -2 -1 -1 -0 -0 -0 -0 -0 -1 -2 -3 -4 -5 -5 -6 -6 -5 -5 -5 -5 -6 -7 -8 -11 -12 -15 -17 -18 -20 -22 -22 -22 -21 -19 -19 -19 -18 -16 -14 -14 -15 -3 10 20 26 28 26 22 16 9 -0 -9 -17 -19 -18 -15 -12 -9 -7 -7 -7 -9 -9 -10 -10 -9 -8 -7 -5 -4 -3 -3 -2 -1 -0 1 1 1 1 1 2 2 2 2 2 4 6 7 8 8 8 7 8 10 12 13 13 11 9 7 6 7 7 7 6 6 7 9 8 7 7 7 9 10 10 9 9 10 12 13 12 10 7 6 6 8 10 11 12 11 10 9 8 7 7 6 6 7 9 9 9 8 8 7 6 6 5 5 6 7 7 7 8 9 9 9 8 8 9 10 11 11 11 11 11 11 10 9 9 9 9 10 11 11 12 13 14 16 16 15 14 14 13 13 13 13 13 14 14 14 14 14 13 13 15 18 20 21 21 21 20 20 22 24 26 27 28 28 28 28 28 28 28 28 27 26 26 26 27 27 26 26 26 25 24 24 23 23 22 22 21 20 21 21 21 22 22 21 21 21 21 21 21 21 21 22 22 23 23 23 23 23 23 22 22 23 23 23 23 23 22 21 20 20 20 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 20 21 23 24 26 27 28 29 30 30 30 30 30 29 28 28 27 26 26 25 24 23 23 23 22 22 23 23 24 25 26 27 27 27 27 27 28 28 28 28 28 28 26 25 23 22 21 19 18 17 17 19 20 21 22 24 24 24 23 22 21 21 20 20 20 20 21 22 22 22 21 20 20 20 19 19 19 19 20 20 21 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -7 -6 -5 -4 -4 -3 -3 -3 -4 -5 -6 -7 -7 -8 -7 -7 -7 -7 -5 -3 -2 -1 -1 -1 1 4 6 5 3 2 1 1 2 2 1 -0 -1 -2 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -2 -3 -4 -5 -5 -6 -5 -5 -5 -6 -6 -8 -11 -13 -16 -19 -21 -21 -22 -23 -22 -21 -20 -20 -19 -18 -17 -16 -13 -11 -7 -0 7 12 15 17 19 18 13 5 -1 -7 -11 -12 -12 -13 -11 -6 -3 -3 -5 -7 -8 -8 -8 -8 -6 -5 -3 -2 -2 -1 -0 1 2 2 2 2 1 2 2 2 3 3 5 6 7 7 7 6 6 8 10 12 12 11 9 8 7 6 6 6 6 5 6 6 7 7 6 6 7 8 8 8 7 8 10 12 12 10 7 5 5 6 8 9 10 10 8 8 7 7 7 6 5 6 8 8 9 8 7 7 6 6 5 5 5 5 6 7 7 8 8 8 8 8 8 9 10 10 10 11 11 11 10 10 9 9 9 9 10 10 11 12 12 13 14 14 13 13 13 13 13 13 13 14 14 14 13 13 13 14 16 18 20 21 20 19 18 18 18 21 22 23 24 23 23 23 24 24 24 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 23 22 22 21 20 20 21 21 21 21 21 21 21 20 21 21 21 21 21 21 22 22 22 22 22 21 21 21 21 21 21 21 20 20 19 19 18 17 17 17 17 16 16 16 16 16 16 16 16 16 16 16 16 16 17 18 18 19 20 22 23 25 26 28 29 29 29 29 29 28 27 27 26 26 25 24 23 23 22 22 22 22 23 23 24 24 26 27 27 27 27 28 28 28 28 28 28 28 27 26 25 23 22 20 19 18 18 18 19 20 21 23 23 23 23 22 21 21 20 19 20 20 20 21 21 21 21 20 20 19 19 20 20 20 20 21 22 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -6 -4 -4 -3 -2 -2 -2 -3 -4 -4 -5 -6 -6 -5 -5 -5 -5 -4 -4 -3 -3 -3 2 4 6 8 8 6 5 4 4 4 5 5 4 2 1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -5 -5 -5 -5 -5 -5 -5 -6 -10 -14 -18 -20 -22 -22 -22 -22 -23 -23 -22 -21 -20 -19 -19 -19 -17 -12 -10 -7 -2 3 5 6 3 7 11 9 8 3 -1 -5 -7 -9 -7 -3 -0 -0 -2 -4 -6 -7 -7 -6 -6 -4 -3 -2 -1 -0 -0 1 2 2 2 2 2 1 2 3 3 4 6 6 6 6 5 5 7 8 10 11 10 8 8 8 7 6 6 5 5 5 5 5 6 5 4 5 6 7 7 7 7 9 10 11 10 7 5 4 5 7 8 8 7 7 6 6 7 7 7 5 5 7 8 8 8 7 6 6 6 5 5 5 5 5 6 6 7 8 8 8 8 7 8 8 9 9 9 10 10 10 9 9 8 8 8 9 9 9 10 11 11 12 13 13 12 13 13 13 12 13 14 14 14 14 13 13 15 16 18 19 20 19 18 17 16 16 17 19 20 20 19 19 19 19 20 21 21 22 22 23 23 23 24 24 24 24 24 24 24 24 24 24 23 22 22 21 20 20 20 21 21 21 21 21 20 20 20 21 20 20 20 20 20 21 21 20 20 20 20 20 20 19 19 18 18 17 17 16 16 15 15 14 14 14 14 14 14 14 14 14 13 13 14 14 14 14 15 16 17 17 18 19 20 22 23 25 26 27 27 27 27 27 26 26 25 25 24 23 23 22 22 21 21 22 23 23 24 24 25 26 27 27 27 28 28 28 28 28 28 28 27 26 26 24 23 22 21 19 18 18 18 19 20 21 22 23 23 22 21 21 20 19 19 19 20 20 20 20 20 20 20 19 20 20 20 21 21 21 22 -8 -8 -8 -9 -9 -9 -9 -9 -9 -8 -8 -6 -4 -3 -2 -2 -2 -2 -3 -3 -4 -4 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -0 2 3 5 7 7 6 5 5 5 6 7 7 6 5 4 3 2 2 1 -0 -1 -2 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -5 -4 -4 -4 -7 -12 -17 -21 -23 -23 -23 -23 -24 -25 -24 -22 -21 -20 -21 -22 -23 -20 -16 -11 -5 1 5 4 -6 -6 3 10 15 13 10 6 2 -0 -1 1 2 1 -0 -1 -3 -5 -5 -5 -5 -3 -3 -1 -0 -0 1 1 2 2 2 2 2 2 2 3 4 5 6 6 5 5 5 6 7 8 9 8 8 7 7 7 7 6 5 4 4 4 4 5 4 4 4 6 6 7 6 6 7 9 10 9 6 4 3 5 6 7 7 6 5 4 5 7 7 7 6 5 5 6 8 8 7 6 5 5 5 5 5 5 5 5 6 7 7 8 8 7 7 7 8 8 8 8 9 9 9 9 8 7 7 7 8 8 8 8 9 10 11 12 12 12 12 12 12 12 12 13 14 14 14 13 14 15 16 17 18 19 19 17 16 15 15 15 17 17 17 17 16 16 17 18 19 20 20 21 22 22 22 23 23 23 23 24 24 24 24 24 24 23 22 22 21 21 20 20 20 20 21 21 21 20 20 20 20 20 20 20 20 19 20 20 20 20 20 20 19 19 19 18 17 17 17 16 15 14 14 14 13 13 13 12 12 12 12 12 12 12 12 12 12 12 12 13 13 14 14 15 15 16 17 18 20 21 22 24 24 25 25 25 25 25 24 24 24 23 23 22 22 21 21 22 22 23 24 25 25 26 26 26 27 28 28 28 28 28 28 27 27 26 26 25 24 23 22 20 19 19 18 19 19 20 22 22 22 22 22 21 20 19 19 19 19 20 20 20 20 20 20 20 20 20 21 21 21 21 22 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -8 -6 -4 -3 -2 -2 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -0 2 3 6 6 4 3 3 3 4 6 8 8 9 8 7 6 5 5 4 2 -0 -2 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -2 -2 -6 -10 -14 -16 -19 -22 -23 -24 -23 -21 -18 -14 -13 -14 -17 -22 -25 -25 -22 -17 -10 -3 2 2 -4 -7 1 11 15 16 15 13 9 6 4 4 3 3 3 1 -2 -3 -4 -3 -3 -2 -1 -0 1 1 1 2 2 2 3 3 3 3 4 4 5 5 5 5 5 6 7 8 7 7 6 6 6 6 6 6 5 4 4 4 4 4 3 3 3 4 6 6 6 5 6 7 8 9 6 4 3 4 5 7 7 5 4 3 3 6 7 7 6 4 4 5 6 7 7 6 5 5 4 5 5 5 5 5 5 6 7 7 7 7 7 7 7 8 8 7 7 7 7 8 8 7 6 6 7 7 8 8 8 9 10 11 11 11 11 11 11 11 12 12 13 14 14 13 13 14 15 16 17 17 17 16 15 15 15 15 16 16 16 16 15 14 15 17 18 19 19 20 20 21 21 21 21 22 22 23 23 24 24 24 23 22 21 21 21 21 21 20 20 20 20 21 21 21 20 19 19 19 19 19 19 19 19 19 20 19 20 20 20 19 19 19 18 17 16 16 15 14 13 13 12 12 12 12 12 12 11 11 11 11 10 10 10 10 11 11 11 12 12 12 13 13 14 15 16 16 17 19 20 21 22 23 23 24 24 23 23 23 23 22 22 21 21 21 22 22 23 24 25 25 25 26 26 27 27 28 28 28 28 28 28 26 25 25 25 24 23 23 21 20 19 18 18 19 20 21 22 22 22 22 21 20 19 19 19 19 19 19 20 20 20 20 20 21 21 21 21 21 22 22 -6 -6 -6 -7 -8 -8 -8 -8 -9 -10 -10 -9 -6 -4 -3 -2 -2 -2 -3 -3 -4 -4 -4 -3 -3 -2 -2 -2 -1 -1 -0 1 2 2 2 3 4 5 7 5 3 2 2 3 4 7 8 9 10 10 9 9 8 8 8 6 3 -0 -3 -4 -5 -6 -7 -7 -7 -7 -6 -6 -6 -5 -3 -1 4 8 11 12 7 -7 -14 -16 -13 -7 2 12 16 16 9 -6 -21 -25 -25 -23 -18 -13 -6 -1 -0 -4 -11 -6 4 11 15 15 14 12 9 7 7 8 9 6 3 -0 -1 -2 -1 -1 -0 -0 1 1 2 2 2 3 3 3 3 4 4 4 4 4 4 5 5 6 7 7 6 5 5 5 6 6 5 4 4 3 3 4 4 4 2 2 3 4 5 6 5 5 6 7 8 6 4 3 3 5 6 7 5 4 3 3 4 6 6 6 4 3 4 6 6 6 6 5 5 4 4 5 5 5 5 6 6 7 7 7 7 6 7 7 7 7 7 6 6 6 7 7 7 7 6 6 7 7 8 8 8 9 9 10 10 10 10 10 10 11 11 12 13 13 13 13 13 14 15 15 15 15 15 14 14 14 15 15 16 16 15 15 14 14 16 17 18 18 18 19 19 19 19 19 20 20 21 21 21 22 22 22 21 21 21 21 20 20 20 20 20 19 19 20 20 20 20 19 18 18 18 18 19 19 19 19 19 19 20 19 19 19 19 18 18 17 16 15 14 13 12 12 11 11 11 11 11 11 11 11 11 10 10 10 10 9 10 10 10 10 11 11 11 12 12 13 14 14 15 16 18 18 19 20 21 22 22 22 22 22 22 22 21 21 21 21 22 22 23 24 25 25 26 26 26 27 27 28 28 28 29 29 28 27 26 25 24 24 23 23 22 20 19 18 18 18 19 20 21 22 22 22 21 20 19 19 19 18 19 19 19 20 20 20 21 21 21 21 21 22 22 22 -6 -6 -6 -6 -7 -7 -7 -7 -8 -8 -7 -3 2 4 3 -0 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -0 -0 1 2 3 3 3 4 4 5 6 7 8 8 5 4 3 4 6 7 9 10 10 10 10 10 11 11 11 12 11 7 2 -2 -4 -5 -6 -7 -7 -7 -6 -5 -5 -5 -6 -7 7 11 13 14 14 9 4 3 7 12 17 18 18 18 18 17 15 14 4 -9 -18 -17 -14 -10 -6 -4 -4 -6 -7 -4 1 6 8 9 11 13 15 15 12 10 7 4 2 1 1 -0 -0 1 1 1 2 2 3 3 3 3 3 3 3 3 3 3 4 5 5 6 6 5 5 4 5 5 6 5 4 2 2 2 3 4 4 3 1 1 2 4 5 5 5 5 6 7 6 4 2 2 4 6 6 5 4 3 3 3 5 6 5 4 4 4 5 5 5 5 5 4 4 4 4 5 5 5 5 6 6 6 7 7 6 6 7 7 7 7 6 6 5 5 6 6 6 6 6 6 7 7 7 8 8 9 9 9 9 9 9 9 10 10 10 11 11 11 11 12 13 14 14 13 13 13 12 12 13 13 14 15 15 14 14 14 14 14 15 15 16 16 16 16 17 17 17 17 18 18 19 20 20 20 20 19 19 19 20 20 20 20 19 19 19 18 18 19 19 19 19 18 18 17 17 17 17 17 18 18 18 18 18 19 19 19 18 18 17 16 15 14 13 13 12 11 10 10 10 10 10 10 10 11 10 10 10 10 10 10 9 10 10 10 10 10 11 11 11 12 13 13 14 14 15 16 16 17 19 19 21 21 21 21 21 20 20 20 20 20 21 21 23 24 25 26 26 26 26 27 27 27 28 29 29 29 29 28 27 25 24 23 23 22 22 20 19 18 17 17 18 19 20 21 21 21 21 21 19 19 18 18 18 18 19 19 20 20 20 21 21 21 21 22 22 22 -5 -5 -5 -6 -6 -6 -6 -7 -7 -6 -4 -0 8 12 12 7 1 -0 -1 -2 -3 -3 -3 -2 -2 -1 -0 -0 1 1 2 2 2 3 5 6 7 8 8 8 8 7 7 8 8 9 10 11 11 11 11 11 11 11 12 12 14 13 9 4 -0 -3 -4 -5 -5 -5 -4 -4 -4 -4 -6 -7 4 9 12 14 15 15 15 15 17 18 20 20 19 19 19 20 20 20 17 13 8 3 -5 -11 -13 -11 -9 -8 -9 -9 -7 -4 -2 -5 -6 -6 -0 10 14 14 12 9 6 5 4 3 3 2 2 2 3 3 3 3 3 3 3 2 2 2 2 3 3 4 4 4 4 4 4 5 5 5 4 3 1 -0 1 2 3 4 3 2 -0 -0 2 4 5 5 5 5 6 6 4 3 2 3 5 6 5 4 3 3 3 4 5 4 4 4 4 4 5 5 5 5 5 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 7 7 7 6 6 5 4 4 5 6 7 7 7 7 7 7 7 7 8 8 9 9 9 9 9 9 9 9 9 9 10 10 10 10 11 12 12 11 11 11 11 11 11 12 12 13 13 12 12 12 13 13 14 14 14 14 15 14 14 15 15 15 16 17 17 18 17 17 17 17 17 18 18 18 18 17 17 17 17 17 18 18 18 18 18 18 17 16 15 16 16 16 16 16 16 17 17 17 17 17 17 17 16 15 14 13 13 12 12 11 10 9 9 9 9 9 10 10 11 11 11 11 10 10 10 10 10 10 10 10 11 11 11 12 12 13 13 13 14 14 14 15 16 17 19 20 20 20 20 19 19 19 19 19 20 21 21 23 24 25 25 26 26 26 27 27 28 29 29 29 29 29 27 25 24 22 22 21 21 19 18 17 16 16 16 17 18 20 20 21 21 21 20 20 19 18 18 18 18 19 20 20 20 20 21 21 21 21 22 22 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -3 3 9 13 15 14 11 8 5 1 -2 -3 -2 -2 -1 -0 -0 -0 -0 1 1 2 2 3 5 6 6 7 7 8 9 9 9 10 10 11 11 11 11 11 11 11 10 9 7 8 9 8 5 2 -1 -3 -3 -3 -2 -2 -2 -3 -4 -5 -3 4 8 11 13 14 16 17 19 20 21 22 21 20 20 19 20 20 21 21 21 19 17 11 7 6 3 -4 -5 -5 -7 -8 -6 -4 -9 -16 -18 -15 -10 7 15 16 14 12 10 8 7 6 4 4 4 5 5 4 3 3 2 1 1 1 2 2 2 3 3 3 3 3 3 4 4 4 4 2 1 -0 -0 1 3 4 4 2 -0 -1 -0 2 4 5 5 5 5 5 4 3 3 4 5 5 4 3 2 2 3 4 4 3 3 3 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 6 6 6 6 6 5 6 6 6 6 6 5 4 3 3 4 5 7 7 7 7 7 7 6 6 7 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 11 11 11 11 11 11 11 12 12 12 12 13 13 13 13 13 13 13 14 15 15 15 15 15 15 16 16 16 17 16 16 15 15 15 16 16 16 16 17 18 17 17 16 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 14 14 13 12 11 11 10 10 9 9 9 9 9 9 9 10 11 11 11 11 11 11 10 10 10 10 10 10 11 11 11 12 12 12 13 13 13 13 14 14 15 16 17 19 19 19 19 19 19 18 18 18 19 19 20 21 22 24 24 25 26 26 26 27 27 28 29 29 29 29 27 26 24 22 21 21 20 19 17 16 15 14 14 15 16 18 19 20 21 21 20 20 19 18 18 18 18 19 19 20 20 20 21 21 21 22 22 22 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -0 4 9 12 13 13 12 8 3 -2 -3 -2 -1 -0 -0 -0 1 1 1 2 2 3 4 4 4 4 5 6 7 8 9 10 10 11 11 11 11 10 10 9 8 5 -0 -1 -0 2 2 -0 -2 -3 -4 -3 -2 -2 -2 -2 -4 -3 -0 4 7 10 12 13 14 16 17 19 20 21 21 20 19 18 18 19 20 21 22 22 22 21 20 20 18 13 13 13 11 7 4 2 -1 -9 -16 -17 -15 -8 2 12 17 17 15 13 11 9 8 7 6 7 6 5 3 2 -0 -1 -1 -0 1 2 2 2 2 2 3 3 3 3 3 3 2 1 -0 -0 1 2 3 3 3 2 -1 -1 -0 2 4 5 5 5 5 4 3 3 4 5 5 4 3 1 2 2 3 3 3 2 2 3 4 4 4 4 4 4 4 3 3 3 3 4 4 4 5 5 5 6 6 6 5 5 6 6 6 6 5 5 4 3 3 4 5 7 7 7 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 8 8 8 8 9 9 9 9 10 10 10 10 10 11 11 11 11 11 11 12 12 13 13 13 13 14 14 14 14 15 15 15 15 14 14 14 14 14 14 14 14 14 15 16 16 15 14 13 12 13 13 14 14 14 14 14 14 14 14 14 13 13 13 12 12 11 11 10 10 9 9 9 9 9 9 9 10 10 11 11 11 11 11 11 10 10 10 10 9 10 10 10 11 12 12 12 13 13 13 13 13 14 14 15 16 18 19 19 19 19 19 19 18 18 18 18 19 20 21 22 23 24 25 26 26 26 27 28 29 29 29 29 28 26 24 22 21 19 19 18 17 16 15 14 13 13 14 16 18 19 20 20 20 20 19 18 18 18 18 18 19 19 19 20 20 21 21 21 22 22 -5 -5 -5 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -3 -4 -5 -6 -4 1 5 6 5 1 -1 -1 -0 -0 1 2 2 2 2 1 2 2 3 3 4 4 4 5 6 8 9 9 10 11 10 10 10 9 9 9 7 3 -3 -2 -2 -2 -3 -3 -5 -6 -5 -3 -2 -1 -2 -3 -3 -0 2 3 6 10 12 13 14 14 15 16 17 18 18 18 17 16 15 15 17 18 20 22 23 24 24 25 26 29 32 33 31 27 22 18 15 8 -0 -7 -12 -14 -11 -1 11 19 19 18 16 14 12 11 10 9 8 6 3 1 -0 -1 -1 -1 -0 1 1 1 2 2 2 3 2 2 2 2 1 -0 -0 -0 1 2 3 3 2 -0 -1 -2 -0 2 4 4 4 4 4 3 4 4 5 5 4 3 1 1 2 3 3 3 2 2 2 3 3 3 3 3 3 3 3 3 2 3 3 4 4 4 5 5 5 5 5 5 5 5 5 6 6 5 5 4 3 3 3 4 5 6 6 6 6 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 7 7 6 6 7 7 7 6 6 6 6 6 7 7 8 8 8 8 8 8 8 9 9 9 9 10 10 10 10 10 11 11 12 12 12 13 13 13 13 14 14 14 14 13 12 12 12 13 13 13 13 12 13 13 14 14 14 13 12 12 12 12 12 13 13 13 13 13 13 13 13 13 12 12 12 11 11 10 10 9 9 9 9 9 9 9 10 10 10 10 11 11 11 11 11 10 10 9 9 9 9 10 10 10 11 12 12 13 13 13 13 13 13 13 14 15 16 17 19 19 20 20 19 19 19 18 18 19 19 20 21 22 23 24 25 26 26 27 28 28 28 28 28 27 26 24 22 21 19 18 17 17 16 15 13 12 12 12 13 15 17 19 20 20 20 19 19 18 18 18 18 18 19 19 19 20 21 21 21 22 22 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 -0 -0 -1 -2 -3 -4 -5 -6 -5 -2 1 1 2 2 2 3 3 3 2 2 1 1 2 2 2 3 3 4 5 6 8 9 9 10 10 10 10 9 9 9 9 7 3 -1 4 4 2 -0 -3 -5 -7 -6 -3 -0 1 -0 -0 2 5 6 5 6 10 13 14 15 14 14 13 13 14 14 14 13 12 11 11 12 14 16 19 21 23 26 29 32 37 41 43 43 41 38 36 32 27 20 9 -5 -10 -15 -14 -3 13 21 22 22 21 18 15 13 12 10 7 4 2 -0 -1 -2 -2 -1 -0 1 2 2 2 1 1 1 2 2 2 1 -0 -1 -0 1 2 3 2 -0 -1 -2 -1 1 3 3 4 4 3 3 4 4 5 5 4 3 1 1 1 2 2 2 2 1 2 3 3 3 2 2 2 3 3 2 2 2 2 3 3 3 4 4 4 5 5 5 4 4 5 5 5 5 4 4 3 3 3 3 3 4 5 5 5 5 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 6 6 6 5 5 5 6 6 6 7 7 7 7 7 7 7 7 7 8 8 8 8 9 9 9 9 10 10 11 11 11 12 13 13 13 13 13 13 13 13 12 11 11 11 11 11 11 11 11 12 11 12 12 12 12 11 11 12 12 12 12 12 13 13 13 13 13 12 12 12 11 11 11 11 11 10 10 10 10 10 10 10 10 10 10 11 11 10 10 10 10 10 10 9 9 9 9 9 9 9 9 10 12 12 12 13 13 13 13 13 13 14 15 16 18 19 20 20 20 20 19 19 18 18 19 19 20 21 21 22 24 25 26 27 27 28 28 28 28 27 26 24 23 21 19 18 17 16 16 15 14 13 11 11 12 14 15 17 18 19 19 19 19 18 18 18 18 18 18 18 19 20 21 21 21 22 23 -5 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -2 -2 -3 -5 -6 -7 -6 -3 -1 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 2 2 4 5 6 8 9 10 10 10 10 9 10 10 10 8 6 4 8 10 10 8 2 -3 -6 -6 -2 3 5 6 8 9 10 11 9 7 10 14 15 15 15 14 13 12 11 10 10 8 7 8 9 10 11 14 16 18 21 25 30 36 42 45 47 49 49 48 44 41 37 31 21 3 -8 -14 -19 -16 -2 18 24 27 27 25 21 17 14 12 9 6 3 1 -1 -2 -2 -2 -0 1 2 1 1 -0 1 2 2 3 2 -0 -1 -1 -0 1 2 1 -0 -1 -1 -1 -0 1 2 3 2 2 2 3 4 5 5 4 3 1 1 1 2 2 2 1 2 2 2 2 2 2 1 1 2 2 2 2 1 2 2 2 3 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 2 2 2 3 3 3 4 4 4 4 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 7 7 7 7 7 6 7 7 7 7 7 7 7 7 7 7 8 9 9 9 10 10 11 12 12 12 13 13 13 13 13 12 12 11 11 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 12 12 12 13 13 13 13 13 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 10 10 9 9 9 8 8 8 8 8 8 9 10 11 11 12 12 13 13 13 13 14 14 15 16 18 19 20 20 20 20 20 19 18 18 18 19 20 21 22 23 24 25 26 27 27 28 27 27 27 25 24 23 21 20 18 16 16 16 15 15 13 12 12 11 12 14 15 17 18 19 19 19 19 19 18 18 18 18 18 19 20 20 21 21 22 23 -5 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -0 -0 -0 -0 -0 -1 -2 -3 -3 -3 -3 -2 -1 -1 -0 -0 -1 -0 -0 -0 1 1 1 1 1 1 1 1 1 2 3 4 5 7 7 8 8 8 9 10 10 10 9 8 7 9 10 9 7 1 -1 -2 -4 -3 5 9 11 12 13 13 12 12 9 9 12 14 15 15 14 12 10 9 9 8 6 3 4 5 8 11 14 16 17 20 24 29 34 40 45 48 51 51 47 44 41 35 27 13 -10 -11 -13 -18 -21 -17 10 22 26 29 31 29 23 19 15 12 8 5 2 -0 -1 -1 -1 -0 1 -0 -0 -1 -0 1 3 3 3 1 -1 -1 -0 1 1 1 -0 -1 -1 -1 -1 -0 1 1 1 1 1 2 3 4 5 4 2 1 1 2 2 2 1 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 2 3 3 3 3 4 4 4 4 4 4 4 4 3 3 2 2 2 2 2 2 2 2 2 3 4 4 3 3 3 3 4 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 7 7 7 7 7 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 9 9 10 10 11 11 11 11 12 12 12 13 12 12 11 11 10 10 10 10 10 9 9 9 9 10 10 10 10 10 10 10 10 11 11 11 12 12 13 13 12 12 12 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 11 11 11 10 10 10 9 9 9 8 8 7 7 7 8 9 10 10 11 11 11 12 12 12 12 13 13 14 15 16 18 19 20 20 20 20 19 18 18 18 18 19 20 21 22 24 25 25 26 27 27 27 27 27 26 25 23 21 20 18 16 16 16 15 15 14 13 12 11 12 13 14 16 17 18 19 19 19 19 18 18 18 18 18 18 19 19 20 21 22 23 -4 -4 -4 -4 -3 -3 -3 -3 -2 -1 -1 -0 1 2 2 2 1 -0 -1 -1 -1 -2 -3 -3 -3 -3 -3 -3 -2 -0 1 2 3 4 4 3 3 3 3 2 2 2 2 3 4 4 4 5 6 6 7 8 8 7 6 5 6 6 4 -0 -7 -3 -1 -1 -3 -2 7 10 12 14 16 16 14 15 12 9 10 11 11 11 10 9 9 8 6 5 4 3 4 6 8 11 13 16 19 22 25 28 32 36 38 37 32 25 27 29 22 2 -18 -19 -12 -7 -8 -15 -25 -24 -1 15 24 29 32 30 24 20 16 12 8 4 2 1 -0 -0 -0 -0 -1 -2 -1 -0 3 4 3 1 -1 -1 -1 -0 -0 -0 -1 -2 -2 -2 -1 -1 -0 -0 -0 -0 -0 1 2 4 4 4 2 1 1 2 3 2 1 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 3 3 4 4 4 3 3 3 3 3 2 2 1 1 1 1 1 1 1 1 1 3 3 3 3 2 2 2 2 3 4 4 5 4 4 4 4 4 4 4 4 5 5 5 5 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 9 9 9 9 10 10 10 10 11 11 11 12 12 12 11 11 11 11 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 10 10 10 11 11 12 12 12 12 12 11 11 11 11 11 12 12 12 12 12 13 13 13 13 13 13 12 12 11 11 11 11 10 10 9 9 9 8 8 7 7 7 8 9 9 10 10 11 11 11 11 11 12 12 13 13 14 15 17 18 19 20 20 20 19 19 18 18 18 19 20 20 21 23 24 25 25 26 27 27 27 27 26 25 23 21 20 18 17 16 16 15 15 15 14 13 12 11 12 12 14 15 17 18 18 18 18 18 18 18 18 18 18 18 19 19 20 21 23 -4 -4 -4 -4 -3 -3 -3 -3 -2 -2 -2 -1 -1 -0 -0 -1 -1 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -3 -3 -1 -0 2 4 5 6 6 6 6 6 5 5 4 3 4 4 4 4 4 5 6 6 7 7 6 4 2 3 2 -1 -4 -4 -4 -2 -1 -0 -0 2 4 8 11 14 16 16 17 16 12 9 8 8 8 8 7 7 6 5 3 3 3 3 5 7 8 9 11 14 17 20 23 25 26 27 23 15 7 6 5 2 -6 -12 -8 -10 -2 7 10 6 -1 1 10 16 20 22 25 28 26 22 17 12 8 5 3 2 1 1 -1 -2 -2 -1 1 3 3 2 -0 -1 -1 -1 -1 -1 -2 -2 -2 -3 -2 -1 -1 -0 -0 -1 -0 1 2 3 4 3 2 -0 1 2 3 3 1 -0 1 2 2 2 1 1 1 -0 -0 1 1 1 1 1 1 1 1 1 2 2 2 2 3 3 3 3 2 3 3 2 2 2 1 1 1 1 1 -0 -0 -0 -0 1 2 2 2 2 2 1 1 2 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 7 7 8 8 8 8 7 7 7 7 7 6 6 6 7 7 7 7 7 7 8 8 9 9 9 9 9 9 10 10 10 10 10 11 11 11 11 11 11 11 11 11 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 10 10 10 11 11 11 11 11 11 11 11 11 12 12 12 12 12 13 13 13 13 13 13 12 12 12 12 11 11 10 9 9 9 8 8 8 7 7 7 8 8 9 9 10 10 10 10 11 11 11 12 12 12 13 14 15 17 18 19 20 20 19 19 19 19 19 19 20 20 21 23 24 25 25 25 26 27 27 27 26 25 23 22 21 19 18 17 16 16 16 16 15 14 13 12 11 11 12 14 16 16 17 18 18 17 17 17 17 17 18 18 18 18 20 21 22 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -4 -5 -5 -6 -8 -8 -8 -8 -8 -7 -7 -5 -4 -4 -3 -3 -2 -1 -0 2 4 5 6 6 6 6 6 6 6 6 7 8 8 7 7 7 7 7 8 8 8 6 4 3 1 -1 -2 -2 1 3 4 5 6 6 6 8 9 11 15 17 19 20 18 14 11 9 7 7 6 5 5 4 3 3 3 3 4 5 6 7 8 9 11 13 15 16 18 20 18 14 7 -0 -5 -8 -2 9 14 11 14 18 21 23 22 19 18 18 16 15 19 24 27 27 24 19 14 9 6 4 3 2 1 -0 -1 -1 1 2 1 -0 -0 -0 -0 -0 -1 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -0 1 1 2 3 3 1 -0 -0 1 2 2 1 -0 -0 1 2 2 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 1 1 2 2 2 3 3 3 3 2 2 2 2 1 -0 -0 -1 -0 -0 -0 -0 -1 -1 -0 -0 1 1 1 1 1 1 1 2 3 4 4 4 3 3 3 4 4 4 4 4 4 5 5 6 7 7 8 8 8 8 8 8 7 7 7 6 6 6 7 7 7 7 7 7 7 8 8 8 9 9 9 9 9 9 9 9 9 10 10 10 10 11 11 11 11 11 11 11 11 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 11 11 11 10 10 10 9 9 8 8 7 7 7 7 8 8 8 9 9 10 10 10 10 10 11 11 11 12 13 14 15 17 18 19 19 19 19 19 19 19 19 20 20 21 23 24 24 25 25 26 26 26 26 25 25 24 23 22 20 19 18 17 17 17 17 16 15 14 13 11 11 11 12 14 15 16 16 17 17 17 17 17 17 17 17 17 18 19 20 21 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -7 -9 -10 -9 -7 -7 -6 -6 -6 -5 -4 -4 -3 -3 -2 -1 -0 1 3 3 3 3 3 3 3 3 4 6 7 9 10 11 11 11 11 10 10 11 11 10 9 7 5 4 3 3 6 9 10 12 12 13 13 13 13 12 11 15 19 21 21 19 16 12 9 7 6 4 4 4 4 4 4 4 5 6 6 6 6 6 7 8 9 10 11 14 16 18 17 12 5 -1 4 17 24 24 23 23 25 28 31 32 30 28 24 20 17 18 21 24 27 25 20 15 10 6 5 4 3 2 1 -0 1 -0 -0 -0 -0 -0 -0 -1 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -0 1 1 2 2 1 -0 -0 -0 2 2 1 -0 -1 -0 1 1 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 2 2 2 2 2 2 2 2 2 1 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 1 2 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 6 7 8 8 8 8 8 8 8 7 7 7 6 6 6 7 7 7 7 7 7 7 8 8 8 8 9 9 9 9 8 8 8 8 9 9 9 10 11 11 11 11 11 11 11 11 11 10 10 10 10 9 9 9 9 9 9 8 8 8 8 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 9 10 10 10 10 10 10 11 11 11 11 11 11 10 10 10 9 9 8 8 7 7 7 7 7 7 8 8 9 9 9 9 9 10 10 10 11 12 13 14 15 16 17 18 19 19 20 20 20 20 20 21 22 23 24 25 25 25 26 26 25 25 25 25 24 24 23 22 21 19 18 17 18 18 17 16 15 14 12 10 10 11 12 14 14 15 16 16 16 16 16 17 17 17 17 18 18 19 20 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -7 -9 -11 -10 -9 -8 -7 -5 -4 -4 -4 -3 -3 -2 -1 -1 -0 1 2 2 2 2 2 2 1 2 2 3 5 7 9 10 11 11 11 11 11 11 12 12 12 11 10 9 8 8 9 11 13 14 15 15 16 17 17 13 6 9 13 16 17 19 19 16 12 9 7 5 5 5 5 6 6 7 8 8 9 8 7 6 5 5 6 7 8 9 11 15 20 24 21 16 15 19 24 26 26 26 27 29 34 38 39 39 37 32 25 19 16 17 19 22 22 20 15 10 7 6 5 4 3 2 2 1 -0 -0 -0 -0 -0 -1 -1 -2 -3 -3 -3 -3 -3 -2 -3 -2 -1 -0 1 1 1 1 -0 -1 -1 -0 1 1 -0 -1 -1 1 1 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 1 2 2 1 1 1 1 1 1 -0 -0 -1 -2 -2 -1 -1 -1 -2 -2 -2 -1 -1 -1 -0 -0 -0 -0 -0 1 2 3 3 3 3 2 2 2 2 3 3 4 4 4 4 5 6 7 7 8 8 8 7 7 7 7 7 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 10 11 11 11 11 11 11 11 11 11 11 11 10 10 10 10 10 9 9 9 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 8 8 8 8 8 8 8 8 7 7 7 8 9 10 10 11 11 11 11 11 10 10 9 8 8 8 7 7 6 6 6 7 7 7 8 8 8 9 9 9 10 10 11 12 12 13 14 15 17 18 19 20 21 21 21 21 22 22 23 24 24 25 26 26 26 26 26 25 25 25 25 24 24 23 22 21 20 19 19 18 17 16 15 13 11 9 9 10 12 13 14 15 16 16 16 16 16 16 16 17 17 18 18 19 -4 -4 -3 -3 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -7 -8 -10 -11 -11 -10 -9 -8 -7 -4 -4 -4 -3 -2 -1 -0 -0 1 2 2 2 3 3 2 2 2 2 3 3 4 5 6 7 8 8 8 8 8 8 9 10 10 11 11 11 10 8 8 10 11 12 12 10 9 9 9 8 4 2 3 4 7 11 15 15 13 10 8 8 7 7 7 7 7 8 9 10 11 11 11 9 6 4 4 5 7 7 6 7 11 19 26 29 29 27 26 27 29 30 31 33 37 41 45 48 49 46 39 30 22 16 13 14 16 17 17 14 11 8 7 7 7 6 5 4 3 2 1 -0 -0 -0 -0 -1 -2 -2 -2 -2 -2 -3 -3 -3 -1 -0 1 1 1 -0 -1 -1 -1 -0 -0 -0 -1 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 1 1 1 1 1 1 1 1 1 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 -0 -0 -0 1 2 2 2 2 2 2 1 2 2 2 3 3 4 4 4 5 6 6 7 7 7 7 7 7 7 7 6 5 5 6 6 6 6 6 7 7 7 7 7 7 7 6 7 7 7 7 7 8 8 8 8 8 9 10 10 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 9 9 9 8 8 8 8 8 7 7 7 7 7 8 8 8 8 7 6 6 6 6 6 6 6 6 6 6 5 6 6 7 8 9 10 10 11 10 10 10 9 9 9 8 8 7 7 7 6 6 7 7 7 8 8 8 9 9 9 10 10 11 11 12 13 14 15 16 18 20 21 21 21 22 22 23 23 24 25 25 26 26 26 26 26 26 26 26 26 26 26 25 24 23 22 21 20 19 18 17 16 14 12 10 8 8 10 11 13 14 15 15 15 15 15 15 16 16 17 17 18 18 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -5 -7 -8 -8 -8 -8 -8 -7 -6 -5 -4 -4 -3 -2 -1 1 1 2 3 3 4 4 3 3 4 4 4 5 5 5 6 6 5 4 4 4 3 2 2 3 5 5 6 7 7 7 5 5 6 8 8 6 2 -2 -7 -9 -6 2 -0 -3 -6 -6 -3 1 7 8 9 9 10 11 11 10 10 9 10 10 11 11 11 12 13 11 7 3 -0 2 5 8 8 5 3 17 26 30 30 30 29 30 32 35 37 41 45 50 55 56 55 51 44 37 29 21 14 10 10 12 14 13 11 10 10 11 11 10 8 6 4 3 2 1 1 -0 -0 -1 -1 -1 -1 -2 -3 -3 -2 -1 -0 1 1 -0 -1 -1 -1 -1 -0 -1 -1 -1 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 1 1 1 1 1 1 1 -0 -0 -0 -1 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 -0 1 1 2 2 2 1 1 1 1 1 1 2 3 3 4 4 4 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 6 6 6 7 7 7 7 8 8 8 9 10 10 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 9 9 9 8 8 8 8 8 7 7 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 7 7 8 8 9 10 9 9 9 9 8 8 8 7 7 7 7 7 7 7 8 8 8 9 9 9 9 9 10 10 10 11 12 13 15 17 19 20 21 21 22 22 23 23 24 25 25 26 26 27 27 27 26 26 27 27 27 27 26 25 24 23 22 21 20 19 17 16 15 13 11 9 8 8 10 11 13 14 14 15 15 14 14 15 15 16 16 17 18 -4 -4 -4 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -5 -6 -6 -7 -6 -6 -5 -5 -5 -4 -4 -4 -3 -2 -1 -0 1 2 3 3 4 4 4 5 5 6 6 7 7 7 7 6 5 4 2 1 1 -0 -0 -0 1 1 1 1 -0 -2 -4 1 4 6 6 3 -2 -2 -3 -5 -8 -11 -5 -4 -6 -8 -8 -8 -11 -7 1 7 10 12 14 15 16 16 14 13 12 10 9 10 9 9 8 6 2 -1 -1 2 6 10 7 -2 11 25 29 29 30 30 31 35 39 43 49 55 58 56 53 50 48 46 41 34 26 18 13 10 9 12 15 15 15 16 16 15 13 11 8 7 5 4 3 2 1 -0 -0 -0 -1 -1 -2 -3 -2 -1 -0 1 -0 -0 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 1 1 1 1 1 -0 -0 -0 -0 -0 -1 -2 -2 -2 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 1 1 2 2 2 2 1 1 1 1 1 1 1 1 2 3 3 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 5 5 6 6 6 7 7 8 8 8 9 9 10 10 11 11 11 10 10 10 10 10 10 10 10 10 10 9 9 9 8 8 8 8 7 7 7 6 6 6 5 5 5 4 4 4 3 3 4 4 4 4 4 4 4 4 4 3 3 3 3 4 5 5 6 7 7 8 8 8 8 8 8 8 8 8 8 8 7 7 7 8 8 9 9 9 8 8 9 9 9 9 10 10 11 13 15 17 19 20 21 21 22 22 22 23 24 24 25 25 26 27 26 26 26 27 27 27 26 26 25 24 23 23 22 21 20 18 17 15 14 13 11 8 7 8 9 11 12 13 14 14 14 14 14 14 15 15 16 17 -5 -5 -4 -4 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -4 -4 -5 -6 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -2 -1 -0 1 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 4 3 2 1 1 1 -0 -0 -0 1 1 1 -1 -4 2 5 6 4 -0 -4 -4 -3 -3 -3 -6 -8 -8 -9 -8 -7 -7 -10 -11 -5 4 8 10 11 14 17 18 18 17 15 13 10 8 7 5 3 -0 -1 -1 -3 -3 -1 3 7 5 1 -4 -1 24 28 29 30 32 35 40 49 54 52 42 31 24 27 33 38 41 37 31 25 20 18 19 19 20 21 21 21 20 19 17 14 12 10 8 6 5 3 2 2 1 -0 -1 -1 -2 -2 -1 -0 -0 -1 -1 -1 -1 -1 -1 -2 -1 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -0 -0 -0 -0 1 1 1 1 1 1 1 1 -0 -0 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 -0 1 1 2 2 2 1 1 1 1 -0 -0 -0 -0 1 2 2 2 2 3 3 3 3 4 4 4 3 3 3 3 3 2 2 2 3 3 3 4 4 4 4 4 3 3 3 3 4 4 5 5 5 6 6 7 7 7 8 8 8 9 9 10 10 10 10 10 10 9 9 9 9 9 9 9 9 8 8 8 8 7 7 7 7 6 5 5 5 4 4 4 3 2 2 1 1 2 2 2 3 3 4 4 4 4 3 3 2 2 2 3 3 3 4 5 5 6 6 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 11 13 15 16 18 19 20 20 20 21 22 22 22 22 23 24 24 25 25 25 26 25 25 25 24 24 23 23 22 22 21 20 19 17 16 15 14 12 9 7 6 6 8 10 12 13 13 13 13 13 13 14 15 15 16 -5 -5 -5 -4 -3 -3 -3 -3 -3 -4 -4 -4 -3 -2 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -1 -0 1 2 2 3 3 3 3 2 3 3 1 -0 -0 1 2 2 2 1 1 1 1 1 1 1 -0 1 1 1 3 6 7 6 5 1 -3 -5 -4 -4 -3 -2 -3 -4 -6 -7 -7 -7 -7 -10 -13 -8 1 5 7 9 10 12 14 16 16 16 14 13 11 9 6 2 -2 -4 -3 -4 -5 -6 -5 -1 1 1 -2 -6 -4 17 24 27 29 32 37 44 45 35 15 -1 -4 -4 -0 9 21 28 34 34 31 28 26 27 30 30 28 27 26 25 23 21 18 16 13 11 9 7 6 4 3 2 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -0 -0 -0 -0 1 1 1 1 2 2 2 1 1 -0 -0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 1 1 2 2 1 1 1 1 -0 -0 -0 -0 -0 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 2 3 3 3 3 3 3 3 2 3 3 4 4 4 5 5 6 6 6 7 7 7 8 8 8 9 9 9 9 9 9 8 8 8 8 7 7 7 7 7 7 6 6 6 6 6 5 5 4 4 4 3 2 2 1 1 -0 -0 -0 -0 1 1 2 3 4 4 4 4 3 2 2 1 2 2 2 3 3 3 4 5 5 6 6 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 9 10 12 14 16 17 18 18 18 18 19 19 20 20 20 21 22 22 23 23 23 23 23 22 21 21 21 21 21 21 21 20 19 18 17 16 15 13 11 8 6 5 6 8 10 12 12 12 12 12 12 13 13 14 15 -5 -5 -4 -4 -3 -2 -1 -1 -1 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -1 -0 -0 -0 -0 -0 -1 -2 -2 -2 -1 -1 -0 1 2 2 3 2 2 2 -0 -1 -1 -0 1 1 2 2 2 1 1 1 1 1 1 1 -0 -1 -2 -2 1 2 1 -1 -3 -5 -5 -3 -3 -3 -3 -2 -3 -3 -5 -6 -7 -9 -11 -14 -10 -2 2 5 6 6 6 6 7 7 7 8 9 10 9 7 4 -0 -3 -6 -6 -7 -8 -9 -9 -6 -3 -1 -3 -8 -1 10 18 23 26 31 34 30 16 -4 -9 -9 -8 -6 -4 -3 1 17 28 33 35 33 35 37 38 36 35 33 31 29 27 25 23 20 17 15 12 10 8 6 4 3 1 1 1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -0 -0 1 1 1 1 1 2 2 2 2 1 1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 1 1 1 2 2 1 1 1 1 -0 -0 -0 -0 -0 -0 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 -0 -0 -0 -0 -0 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 4 4 5 5 5 5 6 6 6 7 7 7 8 8 8 8 8 7 7 7 7 7 6 6 6 5 5 5 5 5 5 5 4 4 4 3 3 2 1 1 -0 -0 -0 -0 -1 -1 -0 -0 1 2 3 4 4 4 4 3 3 2 2 2 2 2 2 3 3 3 4 5 5 6 6 7 7 7 7 7 7 7 7 8 8 8 8 8 7 7 7 6 6 6 6 7 9 10 12 14 15 16 16 16 16 15 16 16 17 17 17 18 19 20 20 21 20 20 20 19 19 18 19 19 19 20 19 19 18 18 17 15 14 13 11 8 4 4 6 8 10 11 12 12 12 12 12 12 13 14 -5 -5 -3 -2 -1 -0 -0 -0 -1 -1 -2 -3 -3 -3 -3 -3 -4 -4 -4 -4 -3 -2 -1 -0 2 3 3 3 2 2 1 1 1 1 1 1 1 -0 1 1 1 1 1 2 2 3 3 4 3 3 4 4 4 4 3 2 1 -2 -3 -3 -2 -2 -3 -5 -6 -6 -5 -3 -3 -4 -5 -4 -4 -4 -5 -6 -7 -10 -12 -14 -10 -1 5 7 4 1 -0 -0 -1 -2 -1 -0 1 2 2 2 2 1 -2 -7 -10 -10 -9 -9 -11 -10 -9 -6 -4 -3 -7 -3 3 7 11 17 13 7 -0 -9 -9 -9 -7 -7 -7 -9 -10 -3 12 27 35 38 42 44 44 42 42 41 38 36 34 31 29 26 24 22 19 16 13 10 8 6 5 3 3 2 1 -0 -0 -0 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -0 -0 1 1 1 1 1 2 2 2 1 1 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 1 1 1 1 1 1 1 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 1 1 1 1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -0 -0 -0 1 1 1 1 1 1 1 1 2 2 2 2 3 3 3 3 3 4 4 4 4 5 5 5 6 6 7 7 7 7 7 7 6 6 6 5 5 5 5 5 4 4 3 3 3 3 3 3 3 2 2 1 -0 -0 -0 -1 -1 -0 -0 -0 -0 -0 1 2 3 4 4 4 5 4 4 3 3 3 2 2 2 3 3 3 4 4 4 5 5 6 6 6 6 6 6 7 7 7 7 8 8 8 8 8 8 7 6 6 6 6 7 8 9 11 12 13 13 13 13 13 13 12 12 13 14 14 15 16 17 18 18 18 17 17 17 17 17 17 18 18 18 18 18 18 17 16 15 14 13 10 7 4 5 7 9 10 11 11 11 11 11 11 12 13 -4 -3 -2 1 3 3 3 1 -0 -1 -2 -3 -3 -3 -4 -5 -5 -5 -4 -3 -3 -3 -2 -2 -1 -0 1 3 3 2 1 1 1 -0 -1 -1 -1 -1 -0 1 1 2 3 3 2 3 4 4 4 4 4 5 5 4 3 1 -2 -3 -3 -2 -1 -2 -4 -6 -8 -7 -5 -4 -5 -7 -8 -10 -10 -9 -8 -8 -9 -11 -12 -14 -8 5 11 11 5 -1 -5 -5 -5 -5 -5 -5 -5 -4 -4 -2 -1 -0 -2 -6 -12 -14 -12 -10 -9 -11 -11 -11 -9 -5 -5 -8 -9 -7 -3 -0 -4 -7 -8 -8 -8 -9 -8 -7 -7 -8 -10 -11 1 18 29 36 43 46 46 45 45 45 45 44 41 38 36 33 31 28 26 23 19 16 13 11 9 8 6 4 4 3 2 1 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -0 -0 1 1 1 1 1 2 2 1 1 1 1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -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 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 2 2 2 2 3 3 3 3 4 3 4 4 5 5 5 5 6 7 7 7 7 6 6 5 5 4 4 4 4 4 3 3 2 2 2 2 2 2 2 1 1 -0 -0 -1 -1 -1 -1 -0 -0 1 1 1 2 2 3 4 4 4 5 5 5 5 4 3 3 2 2 3 3 3 4 4 4 5 5 5 5 5 6 6 6 6 6 6 7 7 8 8 8 8 8 7 7 6 6 6 6 6 7 8 9 10 11 11 10 10 9 9 9 9 10 11 12 13 15 16 16 16 16 15 15 15 15 15 16 17 18 18 18 18 18 17 16 15 14 12 10 6 4 5 7 9 10 11 11 11 10 10 11 12 -3 -1 -0 2 3 3 2 1 -0 -0 -0 -0 -1 -3 -4 -5 -6 -6 -5 -4 -2 -2 -1 -1 -1 -1 -0 -1 -1 -3 -3 -1 1 2 -0 -0 -0 -0 -0 1 2 3 4 4 4 4 5 5 5 4 3 3 2 1 1 1 -0 -1 -2 -1 -0 1 -2 -7 -10 -8 -5 -4 -6 -10 -14 -17 -17 -12 -10 -10 -11 -12 -11 -11 -2 10 13 13 13 3 -8 -9 -8 -7 -7 -7 -6 -4 -3 -1 1 2 1 -4 -11 -14 -13 -11 -9 -10 -10 -12 -12 -9 -8 -10 -9 -8 -8 -8 -6 -5 -5 -5 -7 -7 -7 -7 -5 -3 -3 -2 4 13 24 33 40 44 46 47 48 50 52 51 48 45 42 40 37 34 32 29 26 23 20 18 15 13 10 8 7 5 4 3 2 2 1 1 1 1 1 1 1 1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -0 -0 -0 -0 1 1 1 1 1 1 1 1 1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -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 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -0 -0 -0 1 1 2 2 2 2 3 3 3 3 3 3 4 4 4 5 5 6 6 6 7 7 6 6 5 4 4 4 3 3 3 2 2 2 1 1 1 1 -0 -0 -0 -0 -0 -1 -1 -2 -2 -1 -1 -0 1 1 1 2 3 3 4 4 5 5 6 6 5 5 4 3 2 2 2 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 7 7 8 8 8 7 6 6 5 5 4 4 5 6 7 8 8 8 8 7 7 6 6 6 7 8 9 10 12 14 14 14 15 14 14 14 14 15 16 17 18 18 18 18 18 18 17 16 15 14 12 9 6 4 5 7 9 10 10 10 10 10 10 11 -3 -1 1 2 2 1 1 -0 -0 -0 -0 -0 -1 -1 -3 -4 -6 -7 -7 -5 -3 -2 -1 -0 -0 -0 -1 -2 -4 -6 -3 -0 3 4 3 2 1 1 -0 1 1 2 3 4 4 5 6 6 5 4 2 -0 -3 -2 3 12 12 10 8 8 10 11 11 -1 -7 -5 -3 -2 -3 -7 -13 -18 -19 3 9 3 -3 -3 3 12 17 16 13 13 15 14 8 -2 -9 -9 -10 -10 -9 -8 -5 -4 -1 2 4 2 -5 -9 -10 -10 -11 -10 -9 -9 -10 -10 -10 -12 -11 -9 -9 -10 -9 -6 -5 -4 -5 -6 -7 -7 -3 7 14 16 16 19 25 33 38 41 44 47 51 53 54 53 50 49 48 46 44 41 38 36 32 30 27 25 22 20 17 14 11 9 7 6 5 4 3 3 3 2 2 2 1 1 1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -0 -0 -0 -0 -0 -0 1 1 1 1 1 1 1 1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -0 -0 -0 -0 -0 1 1 1 1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 1 1 1 2 2 2 3 3 3 3 3 3 4 4 5 5 5 6 6 6 6 6 5 5 4 4 3 3 2 2 2 2 1 1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -0 -0 1 1 2 3 3 4 5 5 5 5 5 5 4 3 2 1 1 1 2 3 3 4 5 5 5 5 6 6 6 5 5 5 5 5 6 6 6 6 7 7 6 6 5 5 4 3 3 3 3 4 5 6 7 7 6 5 5 4 4 5 5 6 8 10 12 13 14 14 14 14 14 15 15 16 17 18 18 18 18 18 19 18 17 16 15 13 11 8 5 4 6 8 9 10 10 10 10 10 11 -2 -1 1 2 1 -0 -0 -1 -1 -2 -2 -2 -2 -2 -4 -5 -6 -7 -6 -5 -3 -2 -2 -1 -1 -1 -1 -2 -3 -2 2 2 3 4 3 1 -0 -0 -1 -1 -0 -0 1 1 1 1 2 3 4 3 2 -0 -0 6 13 15 12 10 8 9 14 17 22 24 21 16 10 8 7 7 10 17 22 24 23 20 17 17 18 19 20 18 16 15 16 16 15 10 3 -3 -7 -9 -10 -10 -9 -8 -6 -3 1 3 -0 -4 -7 -9 -11 -11 -10 -9 -9 -8 -8 -10 -11 -10 -8 -9 -9 -8 -6 -4 -4 -5 -7 -8 -3 11 20 25 27 29 33 37 39 39 40 42 46 47 48 48 48 48 50 50 48 47 44 41 38 36 34 32 30 27 24 21 18 14 12 10 9 7 6 5 5 4 3 3 2 2 1 1 1 -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 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -0 -0 -0 -0 -0 1 1 1 1 -0 -0 -0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -1 -0 -0 -0 1 1 2 2 2 2 2 2 2 3 3 4 4 4 5 5 5 5 5 5 5 4 4 4 3 3 2 2 2 1 1 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -2 -1 -1 -0 1 2 2 3 3 4 4 5 4 3 3 2 1 -0 -0 -0 -0 1 2 3 4 4 5 5 6 6 6 6 6 5 5 5 5 5 5 5 6 6 6 5 5 4 3 3 2 2 1 2 3 4 5 5 5 5 4 3 3 4 4 5 7 8 10 11 13 13 14 15 15 15 16 17 18 19 19 19 19 19 19 19 18 17 16 14 13 11 8 5 6 7 9 10 10 10 10 10 10 -2 -1 1 1 1 -0 -1 -2 -2 -3 -3 -3 -4 -4 -5 -6 -6 -6 -4 -3 -2 -2 -2 -3 -3 -3 -4 -4 -4 -3 -1 -2 -1 1 -0 -0 -1 -1 -1 -0 -0 1 2 2 2 2 2 2 2 1 -0 -1 -4 -6 -6 -3 -2 -4 -3 1 6 9 13 19 25 28 28 25 23 22 24 28 28 27 25 22 18 17 15 15 15 15 14 15 15 16 15 13 9 4 -1 -5 -8 -9 -9 -9 -9 -7 -5 -1 -0 -2 -5 -7 -10 -11 -11 -10 -10 -10 -9 -8 -9 -9 -8 -6 -6 -6 -7 -6 -5 -4 -6 -7 -3 11 23 30 35 38 39 41 41 40 38 39 39 42 47 51 53 51 48 48 50 51 50 47 44 42 40 38 37 35 32 28 24 20 17 15 13 11 10 8 7 6 5 4 3 2 2 1 1 1 1 1 1 -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 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -1 -1 -1 -0 -0 -0 -0 -0 -0 1 1 -0 -0 -0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 1 1 1 1 1 1 1 1 2 2 2 3 3 4 4 5 5 5 5 4 4 4 3 3 2 2 2 1 1 -0 -0 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 -0 -0 1 2 2 2 2 2 2 2 1 1 1 -0 -0 -0 -0 -0 1 2 3 4 5 6 6 7 7 7 6 6 6 5 5 6 6 6 6 6 5 5 4 4 3 2 2 2 2 3 3 4 5 6 6 5 4 4 4 4 5 6 7 9 10 12 12 14 15 16 16 17 18 19 19 20 20 20 20 20 20 20 18 16 14 13 12 11 8 6 7 8 10 11 11 11 10 10 -1 -0 1 -0 -0 -1 -2 -2 -2 -3 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -4 -5 -7 -8 -9 -8 -6 -3 1 2 -1 -1 -0 -0 1 1 2 2 2 2 3 3 3 3 3 3 2 1 -0 -2 -3 -3 -4 -5 -5 -3 -0 2 3 5 13 25 34 36 36 36 35 34 32 29 25 21 17 14 11 9 8 8 10 11 12 12 11 10 9 5 2 -0 -3 -5 -8 -9 -9 -9 -8 -6 -3 -3 -4 -5 -8 -10 -11 -11 -10 -10 -10 -10 -9 -9 -8 -7 -5 -5 -6 -7 -7 -5 -3 -0 5 18 30 38 43 44 43 43 42 40 39 39 40 44 50 56 60 61 58 55 52 51 53 52 49 48 46 45 43 41 38 34 30 26 23 21 18 16 14 12 10 8 7 5 4 3 2 2 1 1 1 1 1 1 -0 -0 -0 1 1 -0 -0 -0 -1 -0 -0 -0 1 1 1 1 -0 -0 -0 -1 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -2 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 2 2 3 4 4 5 5 4 4 3 3 2 1 1 1 1 -0 -0 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -0 -0 -0 -0 -0 -0 1 1 1 1 1 1 -0 -0 -0 -0 1 2 3 5 6 6 7 8 8 8 8 8 7 6 6 7 7 7 7 6 6 6 5 4 4 3 3 3 3 3 5 6 7 7 7 6 5 5 5 5 5 6 8 9 10 11 13 15 16 17 17 18 19 20 20 21 21 21 21 22 22 20 18 16 14 13 12 10 8 7 7 9 11 11 11 11 10 -0 -0 1 -0 -0 -1 -1 -2 -1 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -4 -4 -6 -8 -10 -11 -10 -7 -2 1 1 -1 -1 -0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -0 -1 -3 -4 -5 -6 -6 -6 -5 -3 -2 -0 1 4 11 20 33 39 42 43 41 37 32 28 23 18 15 13 11 8 7 8 10 9 8 6 4 4 3 2 1 -0 -2 -4 -7 -9 -10 -10 -9 -8 -6 -5 -4 -5 -8 -10 -11 -11 -10 -10 -9 -10 -10 -9 -7 -5 -4 -5 -7 -8 -8 -4 5 18 32 40 45 47 47 46 45 42 39 38 38 39 43 49 55 60 64 63 61 57 53 48 49 51 51 50 50 49 46 43 40 36 33 29 26 24 21 19 16 13 11 9 7 5 4 3 2 1 1 1 1 1 1 -0 -0 -0 1 1 1 -0 -0 -0 -1 -0 -0 1 1 1 1 -0 -0 -1 -1 -0 -0 -0 -0 -0 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -1 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -2 -1 -1 -1 -0 -0 -0 -0 -0 1 2 3 4 4 4 4 3 3 2 2 1 1 -0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -3 -2 -2 -2 -1 -1 -1 -1 -1 -0 1 2 2 2 2 1 1 -0 1 1 2 4 5 6 7 8 9 9 9 9 9 8 8 8 8 8 9 9 8 8 7 7 6 5 5 4 4 5 6 7 8 8 8 8 7 6 6 5 5 6 7 8 9 10 12 14 15 17 17 18 19 20 21 21 21 21 22 23 23 22 20 18 16 13 13 12 10 8 7 9 11 12 12 11 10 2 2 1 -0 -0 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -3 -2 -2 -4 -5 -5 -5 -4 -5 -5 -7 -9 -12 -14 -13 -8 -3 -0 1 -1 -1 -0 1 1 1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -4 -5 -7 -8 -8 -8 -6 -5 -4 -2 -0 1 2 5 14 27 36 40 41 38 34 29 25 21 18 18 16 13 11 11 12 11 8 5 -0 -1 -1 -1 -1 -0 -0 -1 -5 -8 -10 -11 -11 -11 -10 -8 -6 -4 -5 -7 -9 -11 -11 -10 -9 -9 -9 -10 -8 -6 -5 -4 -5 -6 -8 -7 1 19 37 40 41 40 38 37 38 40 41 39 37 38 39 39 39 42 46 53 57 57 54 51 49 47 44 43 48 51 50 48 45 41 37 34 32 29 26 24 21 18 15 12 9 7 5 4 2 2 1 1 1 1 -0 -0 -0 -0 1 1 1 1 1 -0 -1 -1 -0 -0 1 1 1 -0 -0 -1 -1 -0 -0 -0 -0 -0 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -0 -0 -0 -0 -0 -0 -1 -1 -0 -0 -0 -0 -0 -1 -1 -2 -2 -2 -3 -3 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -0 -0 1 2 3 3 4 4 4 3 2 1 1 -0 -0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -4 -4 -5 -5 -5 -6 -5 -5 -4 -4 -3 -3 -3 -2 -2 -2 -2 -1 1 1 2 3 3 3 2 2 1 1 1 3 4 5 7 8 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 9 8 8 7 6 6 6 6 7 8 9 9 9 8 7 6 5 5 5 6 7 8 9 11 12 13 15 16 17 18 20 21 21 22 22 22 22 23 23 22 20 17 15 14 13 12 11 8 8 10 12 12 12 11 3 3 2 -0 -1 -1 -1 -1 -1 -1 -1 -0 -0 -1 -2 -2 -2 -2 -3 -4 -4 -4 -5 -5 -6 -8 -10 -13 -15 -13 -8 -3 -0 1 1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -5 -7 -9 -9 -8 -7 -7 -6 -5 -3 -0 2 2 -3 9 17 23 30 30 28 25 23 22 20 20 19 18 16 15 16 16 14 10 5 -1 -1 -2 -2 -2 -0 -1 -3 -6 -8 -11 -11 -12 -11 -10 -8 -6 -4 -4 -5 -7 -9 -10 -10 -8 -8 -8 -9 -7 -6 -5 -4 -5 -6 -9 -7 4 23 24 24 21 16 15 17 26 33 35 31 33 30 25 20 18 21 30 39 44 47 51 48 44 41 40 45 46 46 47 47 45 41 38 36 33 31 29 26 23 20 16 13 10 7 5 3 2 1 1 -0 -0 -1 -1 -0 -0 1 1 1 1 1 -0 -0 -1 -1 -0 1 1 1 -0 -0 -1 -1 -0 -0 -0 -0 -0 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -1 -2 -2 -2 -1 -1 -2 -2 -3 -3 -2 -2 -2 -1 -0 -0 1 1 -0 -0 -0 -0 -0 -1 -0 -0 -0 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5 -6 -5 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 1 2 3 4 4 4 4 3 2 -0 -0 -1 -2 -3 -3 -3 -4 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -2 -1 -0 2 3 3 3 3 3 3 2 1 2 3 4 5 7 8 9 10 10 10 10 10 10 11 11 11 11 11 11 11 10 10 9 8 7 6 6 6 7 8 9 9 9 8 7 6 6 5 5 6 7 7 9 10 11 12 13 14 15 17 19 20 21 22 22 22 21 22 23 22 21 19 17 15 14 13 12 10 8 9 11 12 13 12 3 4 3 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -1 -1 -2 -3 -3 -4 -5 -6 -8 -11 -13 -15 -12 -7 -2 -0 1 2 2 1 1 -0 -0 -0 -0 -1 -1 -2 -2 -2 -3 -4 -4 -3 -2 -2 -3 -4 -7 -9 -9 -8 -7 -7 -6 -5 -4 -3 -0 5 6 4 -2 -2 11 14 14 14 16 18 20 20 20 20 20 20 21 22 22 21 17 6 2 -0 -1 -2 -2 -1 -2 -4 -6 -7 -8 -9 -10 -10 -11 -10 -8 -6 -5 -6 -6 -8 -10 -9 -7 -6 -6 -6 -7 -6 -5 -3 -4 -7 -11 -13 -2 1 3 -0 -4 -5 -4 5 13 17 16 21 19 15 9 6 6 10 16 23 31 40 42 41 40 41 46 48 48 46 44 43 44 42 39 37 35 32 30 28 24 20 16 13 9 7 4 2 1 1 -0 -1 -1 -1 -1 -1 -0 1 1 1 1 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -2 -2 -1 -0 -0 1 1 1 1 -0 -0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 1 2 3 3 3 4 4 3 2 1 -0 -2 -3 -4 -4 -4 -5 -5 -5 -5 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -0 2 2 3 3 3 3 2 2 2 2 3 4 5 6 7 8 9 9 9 9 10 10 10 11 11 11 11 11 11 10 9 8 7 6 6 6 6 8 8 9 9 9 8 7 7 6 6 6 7 7 8 10 11 12 12 13 14 15 16 19 21 22 22 22 21 21 21 22 22 21 19 17 15 13 12 11 9 9 10 12 14 12 3 3 2 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -2 -3 -4 -6 -8 -11 -12 -10 -6 -2 -0 1 2 2 2 1 1 -0 -0 -0 -1 -1 -2 -2 -3 -3 -4 -5 -5 -3 -2 -2 -4 -6 -8 -9 -9 -8 -7 -6 -5 -5 -4 -2 1 6 9 9 5 -0 -3 -4 -1 6 12 16 18 18 19 21 25 28 30 30 27 22 11 4 2 2 -0 -1 -1 -1 -2 -2 -3 -5 -8 -9 -10 -11 -12 -11 -10 -8 -7 -6 -5 -6 -8 -8 -6 -4 -5 -6 -7 -6 -3 -2 -4 -9 -14 -15 -9 -5 -4 -5 -5 -7 -9 -8 -5 -3 3 7 8 8 7 5 3 2 5 12 24 33 38 40 43 48 53 54 51 46 43 43 44 43 40 38 36 34 32 29 25 20 16 12 9 6 3 2 1 -0 -1 -1 -1 -1 -1 -0 -0 -0 1 1 1 -0 -0 -0 -1 -0 -0 -0 1 1 -0 -0 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -3 -3 -3 -3 -2 -2 -1 -0 -0 -0 1 1 1 1 1 -0 -0 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -0 2 2 3 3 3 3 3 1 -0 -2 -3 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -3 -2 -2 -0 -0 1 2 2 2 2 2 1 1 2 2 2 4 5 6 7 7 7 7 7 8 8 8 9 8 9 9 9 9 8 8 7 6 6 6 6 7 8 9 10 10 9 8 7 7 7 7 7 8 9 10 11 11 12 12 13 13 15 17 19 21 22 22 22 21 20 20 21 21 20 18 16 14 12 12 10 9 9 11 14 13 3 3 1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 1 1 1 1 1 2 1 -0 -1 -3 -5 -6 -8 -7 -6 -4 -2 -0 1 2 2 2 1 1 -0 -0 -1 -2 -3 -3 -4 -4 -5 -6 -6 -5 -3 -3 -3 -5 -7 -7 -8 -8 -8 -7 -7 -6 -6 -6 -4 -0 4 7 8 6 4 2 -1 -3 -3 1 8 13 17 20 26 29 30 28 25 19 13 7 5 5 3 2 1 -0 -0 -0 -0 -3 -6 -8 -10 -11 -10 -10 -11 -11 -9 -7 -5 -5 -6 -7 -6 -5 -5 -6 -7 -7 -6 -4 -4 -6 -9 -11 -9 -8 -7 -5 -5 -5 -6 -7 -7 -10 -10 -8 -4 1 6 8 8 4 -0 2 11 23 33 39 43 49 52 55 56 55 51 48 49 47 45 42 40 38 36 33 30 25 20 15 11 8 4 2 1 -0 -1 -2 -2 -2 -2 -1 -0 -0 1 1 1 -0 -0 -0 -0 -0 -0 -0 1 1 1 -0 -1 -1 -1 -0 -0 -0 1 1 1 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -2 -1 -1 -0 -0 -0 -0 1 1 1 1 -0 -0 -0 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -6 -7 -7 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 1 1 2 3 3 3 3 2 -0 -1 -3 -4 -5 -5 -6 -6 -7 -7 -7 -7 -7 -6 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -3 -4 -4 -4 -4 -4 -3 -2 -1 -0 1 1 1 1 1 1 1 1 1 1 2 3 3 4 4 4 4 4 5 5 5 5 6 6 5 6 6 7 6 6 5 5 5 6 8 9 10 11 10 9 8 8 8 7 7 8 9 10 11 11 12 12 12 13 14 15 18 20 22 22 22 21 20 20 20 21 21 19 17 15 13 12 11 9 8 9 13 14 3 1 -0 -1 -0 -0 -0 -0 -0 1 1 2 2 2 2 2 2 2 2 3 3 4 4 3 1 -0 -2 -3 -5 -6 -6 -6 -4 -2 1 2 3 4 4 3 -0 -1 -3 -4 -4 -4 -4 -5 -6 -6 -6 -5 -5 -4 -4 -5 -6 -7 -7 -8 -8 -8 -9 -9 -9 -8 -7 -5 -2 1 4 5 5 5 4 2 1 -0 -2 -0 7 15 22 26 25 22 18 12 9 8 8 7 6 5 3 2 1 -0 -0 -2 -4 -7 -9 -10 -10 -10 -11 -11 -9 -7 -7 -6 -5 -5 -6 -5 -6 -6 -7 -7 -6 -6 -6 -6 -7 -8 -8 -9 -9 -8 -6 -4 -4 -6 -8 -9 -10 -11 -12 -11 -7 -0 7 9 6 2 1 8 18 28 36 41 43 48 55 60 61 59 56 52 49 46 43 42 41 38 34 29 25 19 14 10 6 4 2 -0 -1 -2 -3 -3 -2 -1 -1 -0 -0 1 1 -0 -0 -0 -0 -1 -0 -0 1 1 1 -0 -1 -1 -1 -1 -0 1 1 1 1 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -2 -3 -4 -4 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -6 -5 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -2 -1 1 1 2 2 3 3 3 1 -0 -2 -3 -4 -5 -5 -6 -7 -8 -8 -8 -8 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -4 -4 -4 -3 -2 -2 -2 -3 -4 -4 -5 -5 -5 -5 -4 -3 -2 -1 -1 -0 -0 1 1 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 2 2 2 2 2 2 2 2 2 3 3 4 4 4 3 3 4 6 9 10 11 10 10 9 8 8 7 7 8 9 10 11 11 12 13 13 13 13 14 16 18 20 22 22 22 21 20 20 20 21 21 19 17 14 12 11 9 8 8 11 14 2 -0 -1 -1 -0 -1 -1 -0 -0 1 1 1 2 2 2 2 2 2 3 4 4 3 3 2 1 1 1 -1 -2 -4 -4 -4 -3 -2 -0 2 4 5 5 5 3 1 -1 -3 -4 -4 -4 -5 -6 -5 -5 -4 -4 -5 -5 -5 -6 -6 -7 -8 -8 -8 -9 -10 -10 -9 -8 -7 -5 -3 -1 1 2 3 4 5 6 6 3 -1 -2 1 9 14 16 16 12 5 2 4 6 6 7 6 5 3 2 1 -1 -1 -2 -4 -6 -8 -8 -10 -11 -11 -9 -8 -8 -8 -7 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -5 -5 -7 -8 -10 -11 -11 -9 -5 -4 -5 -7 -8 -9 -11 -12 -13 -13 -10 -2 4 8 7 3 -1 1 7 17 25 31 37 42 44 49 54 54 51 48 45 43 43 43 42 39 34 29 23 18 13 8 5 3 1 -1 -2 -2 -3 -2 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -0 -0 1 1 -0 -1 -1 -2 -1 -0 1 1 1 1 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -2 -3 -3 -4 -4 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -3 -1 -0 1 2 2 2 2 2 1 -1 -2 -3 -4 -5 -6 -6 -7 -8 -9 -8 -8 -8 -7 -7 -7 -6 -6 -7 -7 -8 -7 -7 -6 -5 -5 -5 -4 -4 -3 -2 -2 -3 -4 -5 -6 -6 -6 -6 -6 -4 -3 -3 -2 -2 -2 -1 -0 -0 -0 -0 -1 -1 -1 -2 -2 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 -1 -1 -0 1 1 2 2 2 2 1 3 6 9 11 10 9 8 7 7 6 7 7 8 9 10 11 12 13 13 14 13 13 14 16 19 21 22 22 22 21 20 20 21 22 22 21 18 14 11 10 8 7 8 12 1 -0 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -1 1 2 3 3 3 2 1 -1 -2 -2 -3 -4 -4 -4 -3 -3 -4 -4 -5 -5 -6 -6 -7 -7 -8 -8 -8 -9 -10 -9 -9 -8 -6 -5 -4 -2 -1 -0 1 3 5 8 10 6 -1 -6 -3 -1 1 3 2 -1 -3 -1 1 2 4 5 5 4 3 1 -0 -1 -1 -2 -4 -5 -6 -8 -10 -12 -11 -9 -8 -9 -9 -8 -7 -6 -6 -7 -7 -7 -7 -6 -6 -5 -5 -6 -8 -10 -11 -12 -12 -9 -6 -5 -6 -7 -8 -9 -11 -12 -11 -10 -7 -2 3 8 10 5 -0 -3 -2 3 9 14 20 25 27 27 27 29 30 30 29 33 39 43 44 40 35 29 23 16 11 7 4 1 -1 -2 -2 -3 -3 -2 -2 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -0 -0 -0 -0 -1 -1 -2 -1 -0 1 1 1 1 1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -5 -5 -3 -3 -3 -3 -3 -3 -4 -5 -5 -6 -6 -6 -6 -5 -4 -3 -1 -0 -0 1 2 2 1 1 -0 -1 -2 -3 -4 -5 -6 -6 -8 -8 -9 -9 -9 -9 -8 -8 -8 -7 -7 -8 -8 -9 -9 -8 -7 -6 -6 -5 -5 -5 -4 -4 -4 -5 -5 -6 -7 -7 -7 -7 -6 -5 -4 -4 -4 -3 -3 -2 -0 -0 -0 -0 -1 -2 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 2 6 9 10 9 7 6 5 5 5 5 6 7 9 9 11 12 14 14 14 13 14 15 16 18 20 22 23 23 22 22 22 23 24 24 21 18 14 11 9 7 6 9 -0 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -5 -4 -4 -3 -3 -4 -5 -6 -5 -5 -4 -4 -4 -5 -4 -3 -3 -2 -0 1 1 1 2 2 1 -1 -2 -3 -3 -3 -2 -1 -1 -1 -2 -3 -4 -5 -6 -7 -7 -8 -8 -8 -8 -8 -9 -10 -9 -8 -6 -5 -4 -4 -3 -3 -2 -1 1 4 9 12 7 -1 -6 -7 -8 -7 -5 -4 -4 -4 -3 -2 -0 2 4 4 3 2 1 -0 -0 -0 -1 -2 -4 -7 -10 -13 -14 -11 -9 -8 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -8 -10 -11 -12 -13 -11 -8 -6 -5 -6 -8 -9 -11 -12 -10 -8 -6 -3 -1 3 6 6 4 1 -3 -4 -3 -4 -3 -0 4 6 11 17 22 25 26 27 28 31 37 44 42 37 29 21 14 9 5 2 -0 -1 -2 -3 -3 -2 -2 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 -0 -0 1 1 1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -5 -6 -7 -8 -8 -9 -9 -8 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -2 -2 -2 -3 -4 -5 -6 -6 -7 -7 -7 -7 -5 -4 -3 -2 -1 -0 1 1 1 1 1 -0 -1 -2 -3 -4 -6 -6 -7 -8 -9 -10 -10 -10 -9 -9 -9 -8 -8 -8 -8 -9 -9 -9 -9 -8 -7 -7 -7 -7 -7 -6 -5 -5 -6 -7 -8 -8 -8 -8 -8 -7 -6 -5 -6 -5 -4 -4 -2 -1 -0 -0 -1 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -2 -2 -3 -4 -5 -4 -4 -3 -3 -3 -3 -4 -4 -3 1 7 10 9 7 5 4 3 3 3 3 4 6 7 9 11 13 13 14 14 13 13 14 16 18 21 23 24 24 24 24 25 26 27 26 22 18 14 11 8 6 6 -1 -2 -3 -3 -2 -2 -2 -2 -2 -1 -2 -2 -2 -3 -4 -4 -5 -5 -4 -2 -2 -2 -3 -5 -8 -9 -9 -8 -7 -6 -6 -5 -4 -3 -2 -1 -0 -0 -0 -0 1 2 1 -1 -3 -5 -4 -2 -1 -1 -0 1 1 -0 -3 -5 -7 -8 -9 -9 -9 -9 -9 -9 -9 -10 -9 -8 -6 -5 -4 -4 -5 -5 -4 -3 -2 -0 4 10 11 6 -1 -3 -1 -1 -2 -4 -4 -4 -4 -4 -4 -2 1 2 3 2 1 -0 -0 1 1 1 -2 -5 -9 -12 -15 -14 -10 -8 -8 -9 -9 -9 -8 -7 -7 -8 -8 -7 -6 -6 -6 -6 -8 -10 -12 -12 -12 -12 -10 -8 -6 -6 -8 -10 -11 -13 -13 -9 -5 -2 -1 -0 1 3 5 5 3 -1 -3 -6 -8 -8 -6 -4 -2 2 8 13 16 19 21 24 27 34 41 41 37 29 21 13 7 3 1 -1 -2 -3 -3 -2 -2 -1 -0 1 1 -0 -0 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 1 1 1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -6 -7 -8 -8 -9 -9 -10 -10 -9 -8 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -7 -7 -7 -6 -5 -3 -2 -2 -2 -2 -4 -5 -6 -7 -7 -8 -8 -8 -7 -5 -5 -4 -3 -1 -1 -0 1 1 1 1 -0 -1 -2 -4 -5 -6 -7 -8 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -8 -8 -8 -8 -7 -6 -7 -7 -8 -9 -9 -9 -9 -9 -8 -7 -7 -7 -6 -6 -6 -4 -2 -1 -1 -1 -2 -2 -3 -3 -3 -2 -1 -1 -1 -1 -1 -2 -3 -4 -6 -6 -5 -5 -4 -4 -5 -5 -6 -6 -4 1 7 9 8 5 4 2 2 1 1 1 3 5 7 10 12 12 13 13 13 12 12 14 17 19 22 25 26 26 26 27 28 30 30 27 23 18 14 11 9 6 -1 -1 -2 -2 -1 -0 -0 1 1 -0 -0 -0 -1 -1 -2 -3 -3 -2 -2 -1 -1 -2 -4 -7 -10 -11 -10 -9 -7 -6 -5 -4 -3 -2 -1 -1 -0 -0 -0 -0 1 2 2 -0 -3 -5 -4 -2 -2 -2 -2 -1 1 1 -0 -2 -5 -8 -9 -8 -8 -8 -8 -8 -9 -9 -8 -7 -6 -5 -4 -4 -5 -5 -5 -6 -5 -4 -1 3 8 9 4 1 -0 2 2 -0 -6 -5 -4 -4 -5 -5 -3 -1 1 1 -0 -1 -1 -0 2 3 1 -4 -7 -10 -13 -13 -11 -10 -8 -8 -9 -9 -8 -8 -8 -8 -8 -6 -6 -6 -7 -8 -9 -10 -11 -11 -11 -11 -11 -10 -8 -6 -7 -9 -11 -13 -15 -15 -12 -6 -1 -0 1 3 4 5 6 5 3 -1 -4 -8 -8 -7 -6 -4 -0 4 6 7 9 11 16 24 29 33 35 34 29 21 13 7 3 -0 -1 -2 -3 -2 -2 -0 1 1 1 -0 1 -0 -1 -1 -2 -2 -2 -3 -3 -2 -2 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 1 1 1 -0 -0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -4 -5 -5 -6 -7 -8 -8 -9 -9 -10 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -8 -8 -7 -7 -7 -7 -7 -6 -5 -3 -2 -1 -1 -2 -4 -6 -7 -7 -8 -9 -8 -8 -7 -6 -5 -4 -3 -2 -1 -1 -0 1 1 -0 -1 -2 -4 -5 -6 -8 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -9 -10 -10 -10 -8 -8 -8 -8 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -6 -3 -1 -1 -1 -2 -3 -4 -3 -2 -1 -0 -0 -0 -1 -2 -3 -4 -6 -7 -7 -6 -6 -5 -6 -6 -7 -7 -8 -5 3 9 10 8 5 2 1 -0 -1 -1 -0 3 6 8 10 11 12 13 12 12 12 13 15 18 21 25 27 28 29 30 30 32 32 32 28 24 19 16 13 10 -0 1 2 2 2 2 2 2 1 1 1 1 1 -0 -1 -1 -1 -0 -0 -1 -2 -3 -6 -8 -10 -10 -9 -8 -7 -5 -5 -4 -3 -2 -2 -1 -1 -1 -0 1 2 2 1 -0 -2 -3 -2 -1 -1 -1 -3 -5 -5 -3 -0 2 1 -1 -3 -3 -1 -1 -1 -3 -6 -8 -8 -7 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -6 -2 3 6 6 3 1 1 1 2 -1 -5 -5 -4 -4 -5 -5 -4 -2 -0 -0 -2 -4 -3 -1 1 1 -1 -5 -9 -11 -12 -10 -10 -10 -9 -9 -8 -8 -8 -9 -9 -8 -6 -6 -6 -7 -8 -9 -10 -10 -11 -11 -11 -13 -13 -11 -7 -6 -8 -10 -12 -14 -18 -21 -13 -2 -3 2 4 5 6 7 8 7 5 1 -3 -6 -7 -6 -5 -2 1 2 2 1 1 3 10 16 22 26 29 29 26 20 14 7 4 2 1 -0 -1 -1 -0 1 2 2 1 1 1 -0 -1 -2 -2 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 1 1 1 -0 -0 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -6 -7 -8 -8 -9 -9 -9 -9 -10 -11 -11 -11 -10 -10 -9 -8 -8 -8 -8 -9 -9 -10 -10 -9 -8 -8 -8 -8 -8 -8 -7 -5 -3 -1 -0 -1 -3 -5 -6 -7 -8 -8 -9 -9 -9 -8 -6 -5 -4 -3 -2 -2 -1 -0 -0 -0 -1 -2 -4 -5 -7 -8 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -11 -11 -10 -11 -11 -11 -10 -9 -9 -10 -10 -11 -12 -11 -11 -10 -10 -9 -9 -10 -10 -11 -10 -7 -3 -1 -1 -1 -2 -3 -4 -3 -2 -1 -0 -0 -0 -2 -3 -4 -6 -7 -8 -7 -7 -6 -6 -7 -7 -8 -8 -9 -3 5 12 12 8 4 1 -0 -2 -2 -1 1 4 7 9 10 11 12 12 12 12 12 14 16 19 23 26 29 31 32 33 33 34 34 33 29 25 22 19 17 1 3 4 3 3 2 2 2 1 -0 -0 1 1 1 1 -0 1 -0 -0 -2 -2 -4 -6 -7 -7 -7 -7 -6 -6 -5 -5 -5 -4 -3 -2 -1 -1 -1 -0 1 2 1 -0 -1 -1 -1 -1 -1 -2 -3 -5 -9 -11 -10 -6 -2 2 4 4 4 5 6 7 5 2 -2 -5 -5 -4 -4 -5 -7 -7 -7 -5 -5 -6 -8 -9 -8 -5 -1 2 1 -1 -2 -1 -0 2 -1 -4 -5 -4 -4 -5 -5 -4 -2 -0 -2 -3 -4 -4 -2 -0 -0 -2 -5 -8 -9 -9 -10 -10 -10 -9 -9 -8 -9 -9 -9 -9 -8 -7 -7 -7 -8 -8 -9 -9 -10 -11 -12 -13 -14 -15 -11 -7 -7 -8 -10 -10 -16 -19 -11 -4 -15 -4 2 6 8 8 9 10 10 8 3 -2 -5 -6 -5 -3 1 2 1 -0 -3 -3 -0 5 11 16 21 24 23 22 19 15 10 7 5 4 3 2 2 2 3 3 3 2 1 -0 -1 -2 -2 -2 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -10 -11 -12 -12 -12 -12 -11 -11 -10 -8 -8 -9 -9 -10 -11 -11 -10 -9 -9 -9 -9 -9 -9 -8 -7 -4 -1 1 1 -1 -3 -6 -7 -7 -7 -8 -8 -8 -9 -8 -7 -6 -4 -3 -3 -2 -1 -1 -1 -1 -2 -4 -5 -7 -8 -9 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -12 -12 -13 -13 -12 -11 -12 -12 -12 -10 -9 -9 -11 -12 -13 -13 -12 -11 -11 -10 -10 -11 -11 -12 -12 -12 -8 -3 -0 -0 -1 -2 -3 -4 -3 -1 -0 -0 -0 -2 -3 -4 -6 -7 -8 -9 -8 -7 -7 -7 -8 -8 -8 -9 -9 -2 10 15 13 9 5 2 -1 -1 -1 -0 2 5 7 9 10 10 11 11 11 11 12 14 17 21 24 27 31 33 34 34 36 37 37 34 30 26 24 23 2 2 2 1 1 -0 -0 -0 -1 -1 -1 -1 -0 -0 1 1 1 -0 -1 -2 -2 -4 -6 -7 -6 -6 -4 -4 -4 -5 -5 -5 -4 -3 -1 -1 -1 -1 -1 -0 1 1 -1 -1 -1 -1 -1 -2 -4 -6 -9 -12 -14 -14 -12 -8 -4 -0 2 3 4 5 7 7 6 3 -1 -2 -2 -2 -3 -5 -6 -7 -6 -5 -6 -7 -8 -9 -10 -9 -7 -5 -4 -4 -4 -3 -1 -0 -3 -5 -5 -4 -4 -4 -4 -3 -3 -2 -2 -3 -3 -2 -1 1 -0 -2 -6 -7 -9 -11 -11 -10 -10 -9 -9 -10 -10 -10 -9 -8 -8 -7 -7 -6 -6 -6 -7 -9 -11 -12 -12 -12 -13 -13 -12 -9 -7 -6 -8 -12 -19 -23 -22 -19 -14 -6 1 7 10 12 13 14 14 11 5 -0 -3 -5 -4 -2 1 2 1 -1 -3 -3 -0 4 8 13 17 19 20 21 21 18 14 12 11 9 8 7 7 6 6 5 5 3 2 1 -0 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -7 -8 -9 -9 -10 -10 -10 -10 -11 -12 -12 -13 -13 -13 -13 -12 -11 -10 -9 -9 -9 -10 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -9 -7 -3 1 2 2 -1 -3 -5 -6 -6 -6 -7 -7 -8 -8 -7 -7 -6 -5 -4 -4 -3 -2 -2 -2 -2 -4 -5 -6 -8 -9 -10 -10 -10 -10 -9 -9 -8 -8 -8 -8 -9 -9 -9 -10 -10 -11 -12 -13 -14 -14 -14 -13 -13 -13 -13 -13 -10 -10 -10 -11 -13 -14 -13 -12 -11 -11 -11 -12 -12 -13 -14 -14 -13 -8 -3 1 1 -0 -2 -3 -3 -3 -1 -0 -0 -1 -3 -5 -6 -8 -9 -9 -9 -9 -8 -8 -8 -9 -8 -8 -10 -7 5 13 16 14 10 5 2 -0 -1 -0 1 3 6 7 8 9 9 9 9 9 10 12 15 18 22 26 29 32 33 35 36 38 39 38 34 30 26 26 -0 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -3 -3 -4 -6 -7 -6 -6 -5 -3 -3 -3 -4 -4 -4 -3 -1 -0 -0 -0 -1 -0 -0 -0 -2 -3 -3 -2 -2 -3 -5 -7 -10 -13 -15 -15 -13 -10 -7 -4 -2 -1 -1 -1 -0 2 3 3 2 1 1 1 -1 -2 -4 -6 -6 -6 -6 -6 -7 -9 -11 -13 -14 -13 -10 -8 -7 -6 -5 -3 -3 -4 -6 -5 -4 -3 -4 -4 -5 -3 -2 -2 -2 -2 -1 1 2 1 -3 -6 -9 -11 -11 -10 -10 -9 -9 -10 -10 -10 -9 -9 -8 -8 -8 -7 -5 -5 -6 -9 -11 -12 -12 -12 -12 -14 -13 -13 -11 -8 -6 -7 -12 -16 -19 -19 -15 -11 -7 -2 4 10 14 17 18 18 15 8 2 -4 -6 -5 -1 2 3 1 -1 -3 -2 -0 3 7 10 15 18 21 22 23 21 20 19 18 17 15 14 13 12 12 10 8 7 5 4 3 3 2 2 2 1 1 1 -0 -1 -1 -1 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6 -5 -5 -5 -6 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -9 -9 -10 -11 -11 -11 -11 -11 -12 -13 -14 -14 -14 -14 -13 -12 -11 -10 -9 -9 -9 -10 -11 -12 -13 -13 -12 -12 -11 -11 -11 -11 -9 -6 -1 3 4 2 -0 -3 -4 -5 -5 -5 -6 -6 -6 -7 -7 -7 -6 -5 -5 -5 -4 -4 -4 -3 -4 -5 -6 -7 -8 -9 -9 -9 -9 -9 -9 -8 -7 -7 -7 -8 -8 -9 -10 -11 -11 -12 -13 -14 -15 -15 -15 -14 -14 -14 -15 -14 -11 -10 -10 -11 -14 -14 -13 -12 -12 -12 -12 -12 -13 -13 -14 -15 -13 -7 -1 3 2 -0 -2 -4 -4 -3 -2 -1 -1 -3 -5 -7 -8 -9 -10 -10 -10 -9 -8 -8 -10 -9 -8 -6 -4 1 9 16 18 16 10 5 3 1 -0 1 2 4 6 6 7 7 7 6 6 7 9 12 16 19 23 26 29 32 34 36 38 40 41 38 33 28 27 -3 -3 -3 -3 -4 -3 -2 -2 -2 -1 -1 -0 -0 -0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -5 -6 -6 -5 -4 -3 -3 -3 -3 -3 -2 -1 -0 -0 -1 -1 -1 -1 -2 -3 -4 -4 -4 -4 -4 -5 -7 -10 -12 -14 -14 -13 -11 -8 -6 -4 -3 -4 -6 -6 -5 -4 -2 -0 1 1 1 1 -0 -2 -4 -5 -6 -5 -6 -6 -8 -10 -13 -16 -16 -14 -12 -9 -8 -8 -6 -4 -4 -5 -7 -5 -4 -3 -4 -6 -5 -3 -3 -2 -3 -1 1 2 2 -1 -4 -8 -10 -11 -11 -10 -10 -10 -9 -9 -10 -10 -10 -9 -9 -9 -8 -6 -4 -5 -9 -11 -11 -11 -11 -11 -13 -14 -15 -15 -14 -10 -7 -8 -10 -12 -13 -11 -9 -8 -7 -5 -1 5 11 16 19 21 18 12 4 -2 -4 -2 2 4 4 2 -1 -3 -2 -0 3 6 11 15 18 20 23 25 26 26 25 25 24 23 21 20 20 18 16 14 12 10 9 9 8 8 7 6 5 4 3 2 1 -0 -0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -6 -6 -7 -7 -7 -6 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -8 -9 -9 -11 -12 -13 -13 -13 -12 -12 -13 -14 -15 -16 -15 -15 -14 -13 -12 -11 -9 -9 -9 -10 -11 -13 -14 -14 -14 -13 -13 -12 -12 -12 -11 -8 -4 2 5 5 3 -0 -2 -3 -3 -4 -4 -4 -4 -5 -6 -6 -7 -6 -5 -5 -5 -6 -5 -5 -4 -4 -5 -6 -7 -8 -8 -8 -8 -8 -8 -8 -7 -6 -6 -7 -8 -9 -11 -12 -13 -13 -13 -14 -15 -16 -16 -16 -15 -16 -16 -16 -14 -10 -8 -9 -11 -12 -13 -12 -12 -12 -12 -12 -13 -13 -13 -14 -15 -13 -6 3 5 3 -0 -2 -5 -5 -3 -2 -1 -3 -4 -7 -8 -9 -10 -11 -10 -10 -9 -9 -10 -10 -9 -6 -3 1 7 13 18 21 18 11 6 3 2 1 1 3 4 5 5 5 5 5 5 5 7 10 13 17 20 24 27 30 32 35 37 41 42 42 38 31 27 -4 -3 -3 -3 -4 -3 -1 -1 -1 -1 -1 -0 -0 -1 -1 -2 -3 -4 -4 -5 -5 -4 -4 -4 -5 -6 -5 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -2 -3 -3 -3 -4 -5 -6 -6 -5 -5 -5 -5 -7 -9 -11 -12 -13 -13 -12 -9 -6 -3 -2 -3 -5 -7 -8 -7 -6 -4 -2 -1 -0 -0 -0 -1 -2 -3 -4 -4 -5 -6 -7 -9 -11 -14 -15 -15 -13 -11 -9 -9 -8 -7 -5 -5 -7 -6 -5 -4 -4 -5 -5 -5 -4 -4 -3 -2 -0 1 1 -0 -2 -6 -8 -10 -11 -11 -10 -9 -9 -8 -9 -11 -11 -10 -9 -9 -9 -7 -5 -5 -8 -11 -12 -12 -11 -10 -12 -14 -16 -17 -17 -14 -11 -10 -10 -11 -9 -5 -2 -2 -3 -6 -7 -4 -0 6 13 19 22 21 16 9 3 2 4 6 7 5 3 -0 -2 -2 -0 4 7 12 17 21 23 26 28 30 31 30 30 29 29 28 28 26 25 23 20 18 16 15 14 14 13 12 11 10 8 7 5 4 2 1 1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -5 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -9 -9 -10 -12 -13 -15 -15 -14 -13 -13 -13 -15 -16 -16 -16 -15 -15 -14 -13 -11 -10 -9 -9 -10 -11 -12 -14 -15 -16 -15 -14 -13 -12 -12 -12 -10 -6 -1 5 8 6 3 1 -1 -1 -1 -2 -1 -1 -2 -4 -5 -6 -6 -6 -6 -6 -7 -7 -7 -6 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -7 -7 -9 -10 -12 -13 -13 -14 -14 -15 -16 -16 -17 -17 -17 -17 -18 -17 -13 -9 -6 -7 -10 -12 -13 -12 -12 -12 -12 -12 -13 -13 -13 -14 -15 -14 -3 5 7 5 1 -3 -5 -5 -3 -2 -2 -4 -6 -8 -10 -11 -11 -11 -11 -10 -9 -9 -10 -10 -8 -3 4 8 11 15 21 24 19 13 8 4 2 2 2 3 4 4 4 4 3 3 3 5 8 11 14 18 21 24 28 31 34 37 40 43 44 42 35 29 -4 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -0 -0 -1 -1 -2 -2 -3 -4 -5 -5 -5 -5 -4 -5 -5 -4 -4 -3 -2 -2 -1 -1 -2 -2 -3 -3 -4 -4 -4 -5 -6 -7 -7 -7 -6 -5 -4 -6 -8 -10 -11 -12 -13 -14 -14 -13 -9 -4 -1 -0 -1 -4 -5 -6 -5 -4 -4 -4 -3 -3 -2 -2 -2 -2 -3 -4 -4 -5 -6 -7 -9 -11 -13 -13 -12 -10 -10 -10 -9 -9 -8 -7 -7 -7 -6 -5 -4 -3 -4 -5 -5 -4 -3 -2 -1 -0 -0 -0 -0 -3 -6 -8 -10 -11 -10 -9 -8 -8 -8 -9 -10 -10 -10 -10 -9 -8 -6 -5 -7 -10 -12 -13 -12 -10 -10 -12 -14 -16 -17 -17 -15 -13 -13 -14 -13 -5 1 5 6 2 -4 -7 -7 -4 1 9 17 22 22 18 13 10 10 10 11 8 6 4 2 -0 -0 1 4 9 16 23 27 27 29 32 35 35 34 34 34 34 33 33 32 30 28 25 23 21 20 19 19 18 17 15 14 12 10 9 7 5 4 2 1 -0 -1 -2 -3 -3 -3 -3 -4 -5 -5 -7 -8 -9 -9 -9 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -14 -16 -17 -17 -16 -13 -13 -13 -15 -16 -16 -16 -16 -15 -15 -14 -13 -12 -11 -10 -10 -10 -12 -13 -15 -16 -16 -16 -15 -14 -13 -13 -13 -10 -4 4 8 9 7 4 2 1 1 1 1 1 1 -0 -2 -4 -5 -6 -6 -7 -8 -8 -9 -8 -7 -5 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -8 -10 -12 -13 -14 -14 -15 -15 -16 -16 -17 -18 -18 -18 -19 -19 -16 -12 -6 -5 -6 -9 -11 -12 -12 -11 -11 -11 -13 -13 -12 -12 -13 -16 -12 -0 7 9 6 2 -2 -5 -5 -3 -1 -3 -5 -8 -10 -12 -12 -12 -11 -11 -10 -9 -11 -11 -10 -5 3 10 14 14 16 23 24 20 14 9 5 3 2 2 3 3 3 3 2 2 2 4 6 8 11 15 18 21 24 27 30 34 38 41 45 45 39 31 -2 -2 -2 -3 -3 -3 -2 -1 -0 -0 -0 -0 -0 -1 -1 -1 -1 -2 -4 -5 -6 -6 -5 -5 -4 -4 -3 -3 -3 -2 -2 -1 -2 -3 -4 -4 -5 -4 -4 -5 -5 -6 -7 -8 -7 -6 -4 -4 -5 -7 -9 -10 -11 -12 -13 -15 -15 -15 -11 -6 -2 -0 -1 -2 -3 -3 -3 -3 -4 -5 -5 -5 -4 -2 -1 -1 -3 -5 -5 -6 -6 -6 -9 -10 -11 -12 -11 -10 -10 -9 -8 -8 -8 -8 -7 -7 -6 -4 -2 -3 -5 -6 -5 -4 -2 -1 -1 -0 -0 -0 -2 -5 -7 -10 -11 -11 -10 -8 -8 -8 -8 -9 -10 -10 -10 -9 -9 -8 -8 -7 -8 -12 -14 -14 -12 -10 -9 -11 -13 -16 -18 -17 -15 -14 -16 -19 -12 -4 5 11 12 6 -0 -5 -7 -6 -2 6 15 21 22 19 18 17 16 15 10 7 6 6 5 2 1 1 4 11 21 28 30 33 36 39 38 38 37 37 37 38 38 37 35 34 31 29 27 25 24 24 22 21 20 19 18 16 14 12 10 8 6 4 3 1 -0 -1 -2 -2 -3 -3 -5 -5 -6 -7 -8 -9 -9 -10 -11 -10 -10 -10 -9 -9 -9 -9 -9 -9 -10 -11 -13 -14 -16 -18 -20 -19 -17 -14 -13 -13 -14 -15 -15 -15 -16 -16 -16 -15 -14 -13 -12 -12 -11 -11 -12 -13 -14 -16 -17 -17 -16 -15 -14 -14 -13 -12 -8 -1 7 10 10 8 5 4 4 4 4 4 4 3 1 -1 -2 -4 -6 -7 -8 -9 -10 -11 -10 -8 -5 -3 -3 -3 -4 -4 -4 -4 -5 -6 -6 -7 -7 -8 -9 -10 -11 -13 -14 -15 -15 -15 -16 -16 -17 -18 -19 -20 -20 -20 -19 -17 -10 -5 -3 -4 -7 -10 -11 -11 -10 -10 -12 -12 -12 -11 -11 -12 -16 -9 2 10 11 8 3 -2 -5 -6 -2 -1 -3 -7 -10 -12 -14 -14 -12 -10 -11 -11 -11 -12 -12 -8 1 9 16 18 14 17 22 24 21 16 11 6 3 1 2 3 3 2 1 1 2 3 4 6 9 11 14 18 21 24 27 30 35 40 44 46 42 33 -1 -1 -2 -3 -3 -3 -3 -2 -1 -1 -0 -0 -0 -1 -1 -1 -1 -2 -3 -4 -6 -6 -5 -4 -3 -3 -2 -3 -2 -2 -2 -3 -4 -5 -5 -5 -4 -3 -3 -3 -4 -5 -6 -7 -7 -5 -4 -4 -4 -5 -7 -10 -11 -12 -13 -14 -14 -14 -14 -13 -11 -7 -5 -4 -3 -1 -0 -0 -1 -3 -4 -4 -4 -2 -1 -1 -2 -4 -5 -5 -6 -6 -7 -9 -10 -11 -11 -10 -10 -8 -7 -6 -7 -8 -8 -8 -7 -7 -4 -3 -3 -4 -4 -4 -2 -0 -0 -1 -1 -1 -1 -3 -5 -8 -10 -11 -10 -9 -8 -8 -7 -8 -9 -10 -10 -10 -10 -10 -11 -11 -9 -11 -13 -15 -15 -12 -9 -9 -10 -13 -16 -16 -15 -14 -14 -16 -17 -13 -5 6 16 16 11 4 -2 -6 -7 -4 3 12 17 20 21 21 21 19 14 9 7 8 9 8 5 3 3 5 12 22 29 34 39 42 41 40 40 40 40 41 41 41 41 39 37 34 32 30 29 28 27 26 25 23 23 21 19 17 15 12 10 8 5 3 1 -0 -1 -2 -3 -3 -4 -5 -5 -6 -8 -9 -9 -10 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -11 -13 -14 -16 -18 -20 -21 -21 -18 -16 -14 -13 -13 -13 -14 -14 -15 -16 -16 -16 -16 -15 -14 -14 -13 -12 -12 -12 -13 -15 -17 -17 -17 -16 -15 -14 -14 -13 -11 -5 4 10 12 11 8 6 6 6 7 7 7 6 5 4 1 -1 -3 -6 -8 -9 -10 -11 -11 -10 -8 -5 -3 -1 -1 -1 -2 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -15 -16 -16 -16 -16 -16 -17 -19 -20 -21 -21 -21 -20 -16 -8 -2 1 -2 -6 -9 -10 -10 -10 -10 -11 -12 -12 -10 -9 -12 -14 -8 5 12 11 9 4 -2 -7 -4 -1 -0 -4 -8 -12 -15 -15 -14 -9 -7 -10 -11 -13 -14 -11 -3 6 14 19 20 14 16 20 23 21 17 12 7 3 1 2 2 2 1 1 1 3 4 5 6 8 11 14 18 21 23 26 30 35 40 45 44 36 -2 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -3 -4 -3 -3 -3 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -3 -2 -1 -0 -0 -1 -2 -3 -3 -3 -3 -3 -3 -4 -5 -7 -9 -12 -14 -15 -16 -16 -15 -15 -15 -14 -11 -8 -7 -6 -4 -1 2 2 1 -1 -2 -3 -2 -1 -1 -1 -2 -4 -5 -6 -6 -6 -7 -9 -10 -10 -10 -10 -9 -7 -5 -5 -7 -8 -8 -8 -8 -6 -4 -3 -3 -3 -4 -4 -2 -1 -1 -1 -1 -1 -1 -3 -6 -8 -9 -10 -11 -11 -9 -7 -6 -7 -8 -9 -9 -10 -10 -11 -12 -11 -10 -11 -14 -17 -16 -12 -8 -7 -9 -11 -13 -14 -13 -13 -13 -14 -14 -13 -9 5 15 18 14 7 1 -5 -8 -6 1 9 15 18 21 22 22 18 12 8 8 11 12 11 10 7 3 2 11 21 30 36 39 39 38 39 41 43 44 44 45 45 43 41 38 36 34 32 31 31 30 29 28 27 25 23 21 19 16 14 11 8 6 3 1 -1 -2 -3 -3 -4 -4 -5 -6 -7 -8 -9 -10 -11 -11 -11 -12 -12 -11 -11 -11 -11 -12 -13 -14 -16 -17 -19 -20 -21 -21 -19 -17 -15 -13 -12 -12 -13 -14 -15 -17 -18 -18 -18 -17 -16 -15 -15 -15 -14 -13 -13 -14 -16 -17 -17 -17 -16 -15 -15 -15 -13 -9 -1 7 13 14 11 9 9 9 10 10 10 10 9 7 5 3 -0 -3 -6 -8 -10 -11 -12 -12 -11 -9 -5 -2 1 2 1 -0 -2 -3 -4 -5 -7 -8 -9 -10 -11 -11 -12 -14 -15 -17 -17 -16 -16 -16 -17 -19 -20 -21 -20 -20 -20 -14 -6 2 4 -1 -6 -9 -9 -9 -9 -10 -11 -12 -11 -10 -7 -11 -13 -5 6 10 10 8 3 -5 -6 -3 1 1 -4 -9 -14 -16 -16 -10 -3 -4 -6 -9 -15 -15 -7 2 10 18 21 17 12 10 16 18 18 16 12 8 3 1 1 1 1 1 1 2 3 5 5 7 9 11 14 17 20 23 26 31 37 42 43 38 -4 -3 -3 -3 -2 -1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -0 -1 -1 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -1 -0 -0 -0 1 2 3 3 3 3 2 2 1 -0 -0 -1 -3 -4 -5 -6 -8 -11 -13 -15 -16 -17 -18 -18 -17 -16 -13 -10 -9 -8 -7 -5 -2 1 2 2 1 -1 -1 -1 -1 -1 -0 -2 -3 -4 -5 -6 -7 -8 -9 -10 -10 -10 -9 -7 -5 -4 -5 -7 -8 -9 -8 -7 -5 -3 -2 -2 -4 -5 -4 -3 -2 -1 -1 -1 -1 -3 -5 -7 -9 -10 -12 -12 -12 -10 -7 -5 -4 -6 -8 -9 -10 -11 -12 -12 -11 -10 -11 -14 -16 -15 -11 -7 -7 -10 -11 -11 -12 -12 -12 -12 -13 -13 -13 -14 -0 11 17 16 12 3 -4 -8 -7 -0 7 12 15 19 21 21 16 12 10 11 12 15 16 14 8 -1 -0 9 20 30 37 39 38 40 43 43 45 47 49 49 48 46 43 40 37 35 34 33 33 32 31 30 29 27 25 22 20 17 14 11 8 5 2 -0 -2 -3 -4 -4 -4 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -13 -13 -13 -12 -12 -13 -14 -15 -16 -17 -19 -20 -20 -20 -20 -18 -16 -13 -12 -11 -12 -13 -15 -17 -18 -19 -19 -19 -18 -17 -17 -16 -16 -14 -13 -13 -14 -16 -17 -18 -17 -16 -16 -16 -15 -12 -6 3 12 16 15 13 12 12 13 13 13 13 13 12 10 7 4 1 -2 -6 -8 -10 -12 -13 -13 -11 -9 -5 -1 2 3 2 1 -1 -2 -4 -6 -8 -10 -11 -11 -11 -12 -13 -14 -16 -16 -17 -16 -16 -16 -17 -19 -20 -20 -20 -20 -19 -13 -3 7 5 -0 -5 -8 -9 -9 -9 -10 -11 -12 -11 -7 -6 -9 -15 -3 3 7 8 6 -1 -7 -7 -2 3 1 -5 -11 -15 -17 -12 -1 5 5 1 -6 -15 -12 -3 6 14 19 18 13 6 -1 1 7 11 12 11 7 3 1 1 1 1 1 2 3 4 5 6 7 9 11 14 17 19 22 26 31 37 41 41 -5 -3 -2 -2 -2 -1 -0 -0 -1 -1 -0 1 1 2 3 2 2 1 -0 -0 -0 1 1 1 -0 -1 -0 -0 -0 -0 -0 -0 1 2 2 2 2 3 4 4 4 3 3 3 3 3 2 -1 -3 -4 -6 -7 -9 -11 -13 -15 -17 -18 -18 -18 -16 -14 -11 -10 -9 -8 -7 -5 -2 -0 2 2 1 1 -0 -0 -0 -0 -0 -1 -2 -4 -6 -7 -8 -9 -10 -9 -9 -8 -7 -6 -4 -4 -6 -7 -8 -8 -7 -6 -4 -2 -1 -3 -5 -6 -5 -4 -2 -1 -1 -1 -3 -5 -7 -9 -10 -12 -13 -14 -12 -9 -5 -2 -2 -5 -7 -9 -11 -11 -11 -11 -10 -10 -11 -15 -16 -15 -11 -7 -8 -10 -11 -11 -10 -10 -9 -10 -12 -13 -13 -12 -5 6 15 21 16 6 -3 -9 -6 2 6 9 11 15 19 18 15 11 10 10 13 17 20 17 5 -3 -2 6 18 31 37 41 42 43 42 43 46 50 52 52 51 48 44 40 38 36 35 35 35 34 33 32 30 28 26 23 19 16 13 10 7 4 1 -1 -2 -3 -3 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -12 -13 -14 -14 -14 -14 -14 -14 -15 -15 -16 -17 -18 -20 -20 -20 -18 -17 -14 -12 -11 -11 -12 -14 -16 -18 -20 -20 -20 -20 -19 -18 -18 -17 -16 -14 -12 -13 -14 -16 -18 -18 -18 -17 -17 -16 -14 -10 -2 8 17 18 17 15 14 15 15 15 16 16 15 14 12 9 6 2 -2 -5 -8 -11 -13 -14 -13 -12 -9 -4 1 4 5 4 2 -0 -2 -4 -7 -9 -11 -11 -11 -11 -11 -12 -15 -16 -16 -16 -16 -16 -16 -17 -18 -20 -20 -19 -19 -18 -13 2 8 6 -0 -6 -9 -9 -8 -9 -10 -11 -11 -9 -5 -4 -11 -9 -4 -0 3 5 2 -5 -9 -8 -2 3 1 -5 -12 -17 -13 -1 8 11 10 13 -10 -15 -8 2 10 16 18 14 6 -3 -5 -8 -8 -2 7 8 5 2 1 2 1 1 1 2 4 5 6 7 8 10 12 15 17 20 22 26 32 38 41 -5 -4 -3 -3 -3 -2 -0 2 4 5 5 6 6 5 5 3 2 -0 -2 -3 -3 -2 -2 -2 -2 -3 -2 -2 -3 -3 -4 -4 -3 -3 -3 -3 -2 -1 1 2 2 2 3 3 3 3 3 1 -1 -3 -5 -6 -7 -9 -11 -13 -15 -17 -16 -16 -16 -14 -13 -11 -8 -7 -5 -5 -5 -3 -1 1 1 1 1 1 1 1 2 1 -1 -3 -4 -5 -7 -8 -9 -9 -8 -7 -6 -6 -5 -4 -4 -5 -6 -7 -7 -7 -6 -3 -0 -1 -3 -5 -6 -6 -5 -2 -1 -1 -2 -4 -6 -7 -8 -10 -12 -13 -13 -11 -7 -3 -0 -1 -4 -7 -10 -11 -11 -11 -10 -10 -10 -14 -16 -16 -14 -10 -9 -9 -11 -11 -9 -8 -8 -9 -10 -12 -13 -14 -11 -5 3 15 21 19 9 -2 -10 -6 2 6 8 9 14 16 16 14 11 7 7 12 19 24 17 5 -3 -4 2 15 28 37 42 42 39 38 40 45 52 56 55 52 48 44 41 39 38 37 36 36 34 33 32 31 29 26 23 20 17 13 10 6 4 1 -1 -2 -2 -3 -4 -5 -6 -7 -8 -9 -9 -10 -11 -11 -12 -13 -14 -15 -15 -15 -15 -15 -15 -15 -16 -17 -19 -20 -20 -19 -17 -15 -12 -10 -9 -10 -13 -15 -18 -20 -21 -21 -21 -20 -19 -19 -18 -17 -15 -13 -12 -12 -14 -16 -17 -18 -18 -18 -18 -16 -14 -8 2 14 20 20 19 17 16 17 17 18 18 18 17 16 14 10 7 4 -1 -5 -8 -11 -13 -14 -13 -12 -9 -4 2 5 7 5 3 1 -2 -5 -8 -10 -11 -11 -10 -10 -10 -13 -14 -15 -15 -16 -16 -15 -15 -16 -18 -20 -20 -19 -18 -17 -10 4 9 6 -1 -7 -9 -8 -8 -8 -10 -11 -10 -6 -2 -4 -9 -7 -3 -2 -2 -1 -4 -9 -11 -10 -3 1 -0 -6 -15 -14 -3 8 14 13 10 -8 -16 -12 -3 5 12 15 14 7 -3 -8 -9 -9 -10 -15 -2 3 2 1 3 3 2 1 2 4 5 7 8 8 9 11 13 15 17 19 22 27 33 39 -8 -8 -6 -4 -1 2 4 5 5 4 4 4 3 2 2 -0 -1 -2 -3 -4 -4 -3 -3 -3 -4 -4 -4 -4 -5 -6 -7 -7 -8 -8 -8 -8 -7 -5 -3 -1 -0 1 2 2 3 3 4 2 -0 -2 -3 -5 -6 -8 -10 -12 -13 -15 -14 -14 -14 -14 -14 -12 -8 -5 -3 -3 -3 -3 -3 -3 -1 -0 1 2 3 3 3 2 1 -1 -4 -5 -7 -8 -9 -9 -8 -6 -5 -6 -6 -6 -4 -4 -4 -6 -8 -8 -8 -6 -2 -0 -2 -4 -6 -7 -7 -5 -2 -1 -1 -2 -4 -5 -6 -8 -10 -12 -13 -13 -10 -6 -1 -0 -1 -4 -8 -10 -10 -10 -10 -11 -11 -13 -16 -16 -15 -13 -10 -10 -11 -12 -10 -7 -7 -7 -8 -9 -13 -14 -13 -11 -6 -0 12 19 19 11 -2 -7 -4 2 7 8 10 13 15 15 14 11 6 6 11 20 24 17 7 -2 -6 -3 10 22 32 36 36 31 29 32 42 53 57 57 53 48 44 41 40 39 38 37 36 35 34 33 32 30 27 23 20 16 13 10 7 4 2 -0 -0 -2 -3 -4 -5 -6 -7 -8 -8 -8 -9 -10 -11 -12 -13 -14 -14 -15 -15 -15 -15 -15 -16 -17 -19 -19 -19 -18 -17 -15 -13 -10 -8 -8 -10 -13 -16 -19 -20 -20 -20 -20 -20 -19 -18 -18 -17 -14 -12 -10 -11 -13 -15 -16 -17 -18 -18 -18 -17 -13 -5 8 19 24 23 20 18 19 19 19 20 20 21 20 18 15 11 8 4 -0 -4 -9 -12 -14 -15 -14 -13 -9 -2 3 8 9 7 4 -0 -3 -7 -10 -11 -12 -11 -9 -9 -10 -11 -13 -14 -15 -15 -15 -14 -14 -16 -18 -19 -19 -18 -16 -16 -5 6 11 5 -3 -8 -9 -8 -8 -9 -10 -10 -8 -3 -2 -7 -8 -6 -4 -6 -6 -7 -9 -12 -13 -11 -4 -0 -0 -10 -13 -5 7 15 17 13 8 -2 -16 -8 -0 7 12 13 7 -3 -10 -13 -12 -12 -14 -17 -14 -6 -0 4 5 4 3 2 3 5 7 8 9 10 11 12 14 15 17 19 22 27 34 -9 -7 -3 1 3 3 2 -0 -0 1 1 1 1 -0 -1 -3 -3 -3 -3 -3 -5 -4 -3 -3 -4 -5 -5 -5 -6 -7 -8 -9 -10 -11 -11 -11 -10 -8 -5 -3 -1 -0 1 2 2 4 5 3 2 -0 -2 -3 -5 -7 -9 -11 -12 -13 -13 -12 -13 -13 -13 -12 -8 -4 -2 -1 -2 -2 -3 -4 -5 -5 -2 1 3 4 4 3 1 -1 -3 -4 -5 -6 -7 -8 -8 -7 -5 -4 -6 -7 -6 -4 -3 -5 -7 -9 -10 -9 -7 -2 -0 -2 -4 -7 -8 -8 -5 -1 1 -1 -2 -2 -3 -5 -8 -10 -12 -13 -12 -9 -5 -2 -1 -1 -5 -8 -9 -9 -9 -10 -10 -12 -15 -16 -15 -13 -11 -10 -11 -13 -12 -8 -6 -5 -6 -7 -10 -13 -13 -12 -11 -9 -2 8 16 18 10 -0 -4 -1 5 8 9 11 13 14 14 12 9 6 7 12 18 20 18 11 1 -8 -8 -1 11 24 32 29 21 16 21 37 51 57 57 53 48 44 42 41 40 39 38 37 36 35 34 33 31 27 24 20 17 14 10 8 5 4 3 1 -0 -1 -3 -5 -6 -6 -6 -6 -7 -8 -8 -10 -12 -13 -14 -15 -16 -16 -16 -16 -17 -17 -18 -17 -16 -15 -14 -14 -13 -11 -9 -8 -8 -10 -13 -17 -19 -19 -19 -20 -20 -19 -19 -19 -18 -16 -13 -10 -7 -9 -12 -14 -16 -17 -18 -18 -18 -16 -11 -0 15 25 28 25 22 20 20 21 21 22 23 23 22 20 16 12 8 4 -0 -5 -10 -13 -15 -15 -15 -12 -8 -2 5 9 10 8 4 -0 -4 -8 -11 -12 -12 -11 -8 -8 -9 -11 -13 -14 -14 -14 -14 -14 -14 -15 -17 -19 -19 -17 -16 -13 -4 9 11 2 -5 -8 -9 -8 -9 -10 -12 -11 -5 -3 -5 -8 -9 -8 -3 -6 -10 -13 -15 -13 -12 -10 -6 1 -5 -11 -7 4 15 20 17 12 2 -10 -14 -5 4 9 10 6 -4 -11 -14 -12 -7 -11 -17 -20 -20 -15 -0 6 7 5 3 3 4 6 8 9 10 11 12 13 14 15 16 18 22 28 -3 -2 -1 -0 -2 -3 -2 -1 -0 -0 -0 1 1 -0 -2 -3 -4 -4 -4 -4 -5 -5 -3 -3 -3 -3 -3 -4 -4 -5 -6 -8 -9 -11 -11 -11 -10 -9 -7 -4 -1 -0 1 2 3 4 5 5 4 3 1 -1 -2 -5 -7 -9 -10 -11 -11 -12 -12 -13 -13 -11 -8 -5 -2 -1 -1 -1 -2 -4 -6 -6 -6 -3 1 4 4 4 2 1 -1 -3 -3 -4 -5 -7 -8 -8 -8 -7 -6 -7 -7 -4 -3 -3 -6 -9 -10 -11 -10 -7 -0 1 -1 -4 -8 -9 -9 -6 -1 1 1 1 -1 -2 -5 -8 -11 -12 -12 -9 -8 -6 -3 -2 -3 -6 -9 -9 -7 -6 -8 -10 -13 -15 -15 -13 -11 -11 -12 -13 -15 -10 -6 -3 -3 -4 -7 -11 -12 -12 -12 -13 -10 -4 5 13 16 9 2 -1 3 7 10 12 14 14 14 12 10 8 7 8 12 14 16 15 11 3 -5 -10 -9 -1 13 23 23 15 5 9 29 47 56 57 52 48 45 43 42 41 39 38 38 37 37 36 34 31 27 23 20 17 14 11 9 7 6 4 3 2 -0 -2 -3 -4 -5 -5 -5 -5 -6 -8 -10 -12 -14 -15 -16 -17 -17 -17 -17 -17 -17 -15 -14 -13 -12 -12 -13 -12 -11 -9 -7 -7 -10 -13 -17 -19 -19 -19 -20 -19 -19 -19 -18 -17 -15 -11 -7 -6 -8 -10 -13 -15 -16 -18 -19 -18 -16 -8 6 21 31 31 27 23 22 22 23 23 24 25 25 23 20 16 12 8 3 -1 -7 -11 -14 -16 -16 -14 -12 -8 -2 6 10 11 8 4 -1 -6 -10 -12 -13 -12 -10 -7 -6 -7 -10 -12 -13 -14 -14 -14 -13 -13 -15 -17 -19 -19 -16 -14 -9 -0 11 7 -1 -7 -10 -10 -11 -12 -14 -15 -9 -7 -6 -5 -6 -12 -0 2 -3 -11 -16 -17 -12 -11 -11 -6 -3 -9 -8 1 13 21 22 16 8 1 -17 -10 -0 6 7 4 -3 -8 -7 -0 6 -0 -11 -21 -21 -22 -9 3 9 8 6 4 4 5 7 9 10 10 11 11 12 13 13 15 17 21 -2 -4 -5 -5 -4 -1 2 3 2 1 1 1 1 -0 -2 -3 -5 -6 -6 -6 -7 -6 -5 -4 -3 -1 -0 -1 -1 -1 -1 -3 -4 -5 -6 -7 -8 -9 -8 -6 -4 -1 1 3 4 4 5 6 5 4 3 1 -1 -3 -5 -7 -8 -8 -8 -9 -10 -11 -11 -10 -8 -5 -3 -2 -1 -1 -2 -4 -6 -7 -7 -5 -3 1 4 4 3 2 2 -0 -2 -3 -4 -6 -7 -7 -8 -9 -9 -8 -6 -4 -2 -2 -5 -7 -9 -10 -11 -11 -5 -0 1 -1 -5 -9 -11 -9 -5 -0 3 3 2 -0 -2 -5 -9 -11 -10 -9 -8 -7 -6 -5 -4 -6 -9 -10 -7 -3 -3 -7 -11 -13 -13 -14 -13 -12 -12 -13 -15 -13 -8 -4 -2 -2 -3 -7 -9 -12 -13 -15 -12 -10 -6 1 11 12 7 3 3 5 9 13 15 15 15 13 11 8 7 6 8 9 11 13 14 10 3 -4 -10 -13 -6 10 23 25 13 -3 -1 17 39 55 56 51 48 45 44 43 42 41 40 40 39 39 37 34 31 27 23 20 17 14 12 10 9 8 7 6 4 3 1 -1 -2 -2 -3 -3 -4 -6 -8 -11 -13 -14 -16 -16 -17 -17 -17 -16 -15 -14 -13 -13 -13 -13 -13 -13 -13 -12 -9 -6 -7 -9 -13 -16 -18 -18 -19 -19 -19 -19 -19 -18 -17 -15 -10 -4 -4 -6 -9 -12 -14 -16 -18 -19 -18 -14 -4 12 27 35 32 27 25 24 24 25 25 27 27 26 23 20 15 11 6 2 -4 -8 -12 -14 -16 -16 -14 -12 -9 -3 6 10 11 7 2 -4 -8 -12 -13 -13 -11 -8 -5 -4 -6 -9 -12 -13 -14 -14 -13 -12 -12 -14 -18 -19 -17 -14 -11 -8 4 6 2 -6 -13 -14 -14 -16 -17 -17 -14 -13 -8 -3 -0 -5 -6 -1 2 -5 -13 -17 -16 -11 -6 -14 -9 -9 -9 -3 10 19 24 21 12 2 -16 -15 -5 4 5 1 -4 -2 6 15 16 12 -1 -16 -23 -21 -20 -9 8 11 9 7 5 5 6 8 9 9 9 9 9 10 11 11 12 15 -6 -7 -6 -4 -0 5 6 4 2 1 -0 -1 -1 -2 -3 -4 -6 -7 -8 -7 -7 -7 -7 -6 -4 -2 -0 2 2 3 3 2 1 -1 -2 -3 -5 -7 -9 -9 -8 -5 -2 -1 -0 1 2 3 3 2 1 -0 -2 -3 -3 -5 -6 -7 -6 -7 -8 -9 -9 -9 -8 -6 -5 -3 -1 -1 -2 -3 -5 -7 -7 -6 -4 -1 1 3 4 4 4 2 -0 -2 -4 -5 -6 -7 -7 -9 -11 -11 -7 -3 -0 -1 -4 -5 -6 -8 -11 -12 -9 -4 -1 -0 -3 -7 -10 -11 -8 -4 2 4 4 3 2 -1 -6 -9 -10 -9 -7 -7 -8 -8 -7 -5 -8 -11 -10 -4 1 -2 -7 -10 -11 -13 -13 -13 -13 -14 -16 -14 -10 -7 -4 -4 -3 -3 -5 -10 -15 -18 -13 -11 -10 -10 -1 7 8 6 4 3 6 10 13 15 18 16 13 10 7 4 5 6 7 9 10 11 7 2 -6 -14 -15 -6 7 19 22 9 -3 -5 7 30 49 53 52 48 46 46 45 44 43 43 42 41 39 36 33 30 26 23 20 16 14 12 11 10 9 9 8 7 5 3 2 1 -0 -1 -2 -4 -7 -9 -11 -13 -15 -15 -16 -16 -15 -14 -13 -13 -13 -14 -15 -15 -15 -15 -15 -14 -12 -8 -6 -6 -9 -13 -16 -17 -18 -19 -19 -19 -19 -19 -18 -17 -15 -7 -2 -1 -4 -8 -11 -13 -15 -17 -19 -17 -11 1 17 32 35 33 29 27 26 26 27 28 28 28 26 23 19 14 10 5 -1 -5 -9 -13 -15 -16 -16 -14 -12 -10 -4 4 10 11 6 -1 -7 -11 -13 -14 -13 -10 -7 -3 -2 -5 -8 -11 -13 -13 -13 -12 -11 -11 -14 -17 -17 -15 -12 -10 -6 -1 -1 -6 -13 -15 -14 -15 -18 -18 -19 -18 -13 -6 1 3 -8 -9 -5 -6 -11 -16 -17 -15 -9 -8 -12 -12 -8 -5 6 16 23 23 17 3 -14 -17 -10 1 4 1 -3 -3 4 16 17 18 12 -3 -24 -20 -20 -16 -6 13 12 9 7 5 5 7 8 8 8 7 7 7 8 9 10 11 -6 -5 -2 1 4 5 3 1 -1 -2 -3 -4 -3 -3 -3 -5 -6 -7 -7 -6 -6 -7 -7 -6 -5 -4 -3 -2 -3 -3 -4 -5 -5 -5 -5 -4 -5 -6 -7 -8 -8 -6 -4 -2 -1 -1 -1 -0 1 1 1 -0 -2 -2 -3 -4 -5 -6 -5 -5 -6 -7 -7 -8 -8 -7 -6 -3 -2 -1 -2 -3 -4 -6 -7 -6 -5 -3 -1 -0 2 3 4 4 2 -0 -2 -3 -5 -6 -7 -8 -10 -12 -11 -5 1 2 -2 -4 -4 -6 -8 -10 -10 -8 -5 -1 -1 -5 -8 -10 -10 -6 -1 3 4 5 5 3 -2 -6 -9 -9 -6 -7 -9 -11 -10 -6 -6 -9 -11 -8 -1 1 -2 -5 -8 -11 -12 -13 -13 -13 -14 -14 -12 -9 -7 -5 -5 -4 -3 -6 -13 -19 -15 -11 -10 -12 -9 -2 3 5 6 4 3 5 8 12 16 19 18 15 11 6 5 6 7 8 8 8 8 5 -1 -10 -15 -14 -8 3 15 15 5 -5 -9 -0 20 38 48 51 49 48 47 47 46 45 44 44 42 39 36 32 29 26 22 19 16 14 12 11 11 11 10 10 9 8 6 4 3 2 -0 -2 -4 -6 -9 -11 -12 -13 -14 -14 -13 -13 -13 -13 -14 -16 -17 -18 -18 -18 -17 -16 -14 -11 -7 -4 -5 -9 -14 -16 -17 -18 -19 -19 -19 -19 -19 -19 -18 -13 -6 -0 -0 -4 -7 -10 -13 -15 -17 -18 -16 -9 3 20 31 35 34 32 30 30 30 29 29 29 28 25 22 18 14 8 2 -3 -8 -11 -13 -16 -17 -16 -13 -12 -10 -5 3 9 9 3 -4 -9 -13 -14 -13 -12 -10 -5 -1 -1 -4 -8 -11 -12 -13 -12 -11 -10 -10 -14 -16 -15 -12 -10 -12 -8 -5 -5 -11 -14 -14 -15 -19 -19 -21 -22 -20 -13 -3 2 -5 -11 -14 -12 -13 -16 -18 -18 -14 -8 -10 -11 -9 -5 4 13 20 23 20 9 -7 -15 -13 -3 2 1 -2 -4 -4 17 24 28 25 14 -13 -20 -18 -15 -12 9 14 13 10 7 6 6 7 7 7 6 6 6 7 8 9 9 -2 -1 -0 1 1 -0 -2 -2 -3 -4 -6 -6 -4 -3 -3 -3 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -7 -6 -6 -6 -4 -4 -4 -5 -5 -6 -6 -6 -7 -6 -5 -3 -3 -3 -2 -1 -0 -0 1 1 -0 -2 -3 -4 -5 -5 -4 -4 -5 -6 -6 -7 -7 -7 -6 -4 -2 -2 -2 -3 -4 -5 -6 -6 -5 -3 -3 -2 -0 1 3 4 3 2 1 -1 -4 -6 -7 -9 -11 -12 -14 -10 -2 4 2 -2 -2 -2 -5 -8 -10 -10 -8 -5 -2 -4 -6 -9 -9 -8 -4 1 4 5 6 5 2 -3 -7 -8 -6 -6 -8 -11 -12 -9 -6 -8 -11 -12 -6 -1 1 -1 -5 -9 -11 -11 -11 -11 -12 -13 -12 -10 -8 -6 -6 -7 -7 -6 -5 -12 -15 -14 -11 -10 -8 -5 -1 2 4 3 3 3 3 5 10 16 19 19 17 11 7 7 9 10 10 8 7 5 -0 -7 -12 -15 -14 -8 2 8 6 -2 -11 -15 -1 22 40 50 52 51 51 50 49 48 47 46 44 41 38 35 31 28 24 21 18 15 14 12 12 12 12 12 12 11 10 8 6 4 3 1 -1 -4 -6 -8 -9 -10 -11 -12 -13 -13 -13 -14 -16 -17 -19 -20 -21 -20 -19 -18 -16 -14 -10 -6 -3 -5 -10 -14 -16 -17 -18 -18 -18 -19 -19 -19 -19 -17 -12 -4 3 1 -3 -7 -10 -12 -15 -17 -17 -15 -9 4 20 31 37 37 35 34 33 32 31 30 30 28 25 22 17 11 5 -1 -6 -10 -12 -15 -16 -17 -15 -13 -12 -10 -7 1 7 5 -1 -8 -14 -14 -13 -13 -12 -9 -3 -0 -0 -4 -8 -11 -12 -12 -11 -10 -8 -10 -13 -15 -12 -11 -13 -12 -8 -5 -7 -11 -13 -15 -20 -22 -22 -23 -21 -15 -5 -4 -7 -10 -13 -16 -16 -17 -18 -19 -16 -9 -9 -10 -9 -5 2 10 17 20 18 12 -0 -10 -13 -7 -1 -0 -1 -2 -0 9 23 35 38 29 8 -15 -21 -14 -11 -3 10 17 15 11 8 7 6 5 5 6 6 6 6 7 8 8 -3 -3 -3 -3 -3 -4 -4 -4 -4 -5 -7 -8 -8 -6 -5 -5 -7 -8 -7 -6 -6 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -2 -3 -4 -5 -6 -6 -7 -7 -7 -7 -6 -5 -5 -4 -3 -2 -1 -0 -0 1 1 -0 -2 -3 -4 -4 -4 -4 -5 -6 -6 -6 -7 -7 -7 -5 -3 -2 -2 -3 -3 -4 -5 -5 -4 -3 -2 -1 -1 -0 -0 2 3 4 3 -0 -3 -6 -8 -10 -12 -13 -13 -13 -8 1 4 -0 -0 1 -0 -4 -9 -10 -10 -8 -5 -4 -6 -7 -9 -8 -5 -1 2 4 5 6 4 1 -3 -6 -5 -4 -5 -8 -10 -10 -9 -8 -10 -12 -9 -3 -0 1 -2 -7 -10 -10 -10 -9 -10 -11 -11 -10 -8 -7 -7 -9 -11 -11 -8 -8 -12 -15 -14 -10 -7 -5 -3 -1 2 2 3 3 2 3 4 9 15 19 21 18 12 9 10 12 13 11 8 5 1 -4 -10 -13 -13 -11 -6 -2 -0 -3 -11 -18 -10 11 33 48 53 54 55 54 52 50 50 48 46 43 40 36 34 31 27 24 21 18 15 14 13 13 12 13 13 14 13 11 9 8 6 4 1 -1 -4 -5 -7 -8 -9 -10 -12 -13 -13 -14 -16 -17 -20 -21 -22 -22 -21 -19 -17 -15 -13 -9 -4 -2 -6 -11 -14 -16 -17 -17 -18 -18 -19 -20 -18 -17 -15 -11 -1 3 2 -2 -6 -9 -12 -15 -17 -17 -15 -9 4 18 30 38 40 40 39 37 34 32 31 30 28 26 22 16 9 2 -5 -9 -11 -13 -15 -17 -17 -14 -12 -11 -11 -6 1 4 3 -5 -12 -15 -14 -13 -12 -12 -7 -2 1 -0 -4 -8 -10 -11 -12 -11 -9 -8 -10 -13 -12 -11 -13 -15 -13 -7 -4 -5 -9 -14 -20 -22 -23 -22 -19 -12 -9 -11 -11 -11 -12 -14 -16 -17 -17 -18 -16 -10 -8 -9 -9 -5 -0 7 13 16 14 12 4 -5 -12 -10 -4 -1 -1 -1 5 10 14 23 38 38 27 -3 -19 -15 -9 -10 -1 10 18 16 11 9 6 4 2 5 5 6 7 7 7 8 -5 -4 -4 -4 -4 -4 -4 -4 -5 -6 -8 -9 -8 -7 -6 -6 -8 -10 -9 -8 -8 -9 -11 -11 -11 -11 -10 -7 -4 -3 -2 -1 -1 -2 -4 -5 -7 -7 -8 -8 -8 -8 -8 -8 -7 -5 -5 -4 -3 -2 -1 -0 1 1 -0 -2 -3 -3 -3 -4 -4 -6 -6 -6 -6 -6 -6 -5 -4 -3 -2 -2 -3 -4 -5 -5 -4 -3 -0 -0 -0 -0 -0 -0 1 3 3 1 -3 -6 -8 -10 -13 -15 -14 -14 -12 -7 1 1 1 2 4 2 -5 -9 -11 -10 -8 -6 -6 -8 -9 -9 -6 -3 1 4 5 6 6 4 -0 -3 -4 -1 -0 -2 -6 -11 -12 -11 -10 -10 -8 -5 -1 1 -1 -5 -9 -10 -8 -7 -9 -10 -10 -9 -9 -9 -9 -11 -10 -8 -10 -8 -10 -13 -15 -12 -9 -5 -3 -3 -1 1 1 1 2 2 2 3 7 12 17 20 17 14 12 13 15 14 11 8 3 -3 -8 -11 -12 -10 -8 -6 -6 -9 -14 -21 -14 5 27 47 57 58 58 57 56 54 52 51 49 46 42 39 37 34 30 27 23 20 18 16 14 13 13 13 14 14 15 14 12 10 9 6 3 1 -1 -3 -4 -5 -7 -8 -10 -12 -13 -14 -15 -17 -19 -21 -22 -22 -21 -19 -17 -15 -14 -12 -8 -2 -3 -6 -10 -14 -16 -17 -17 -17 -18 -18 -18 -17 -16 -15 -10 -1 4 4 -1 -6 -10 -12 -15 -16 -16 -14 -10 -1 13 27 37 43 44 43 39 36 34 33 31 29 26 20 14 6 -2 -7 -10 -13 -14 -15 -17 -15 -12 -10 -11 -10 -5 -0 3 -1 -8 -14 -15 -14 -12 -12 -11 -6 -1 3 1 -3 -7 -10 -11 -12 -10 -9 -9 -11 -12 -9 -10 -14 -17 -11 -3 -1 -5 -12 -19 -21 -22 -22 -19 -13 -10 -13 -14 -12 -12 -12 -13 -14 -16 -16 -16 -11 -8 -8 -10 -8 -3 3 9 12 11 9 4 -3 -10 -11 -5 -2 -1 -0 6 12 14 14 17 31 33 30 14 -14 -12 -8 -6 -1 9 16 15 11 8 7 6 5 4 5 6 7 5 5 -5 -5 -6 -6 -5 -3 -3 -3 -4 -6 -7 -8 -8 -7 -6 -6 -8 -10 -9 -8 -9 -12 -14 -15 -15 -15 -14 -9 -4 -1 1 1 1 -1 -3 -6 -7 -8 -8 -8 -8 -8 -9 -9 -9 -8 -7 -6 -5 -4 -3 -2 -0 1 1 -0 -1 -2 -2 -3 -4 -6 -7 -7 -6 -5 -5 -5 -5 -5 -4 -2 -2 -2 -3 -4 -4 -3 -1 1 1 1 -0 -1 -1 -0 2 2 -1 -5 -7 -10 -12 -15 -16 -14 -13 -11 -6 -3 -2 -1 3 7 3 -4 -9 -11 -11 -8 -8 -8 -9 -10 -7 -4 -0 3 5 6 6 5 2 -2 -3 -0 3 4 -0 -7 -12 -14 -13 -10 -6 -4 -2 -0 -0 -4 -8 -9 -7 -5 -7 -9 -9 -8 -9 -10 -12 -13 -11 -7 -7 -11 -11 -12 -14 -13 -10 -6 -4 -3 -3 -2 -1 -0 1 1 1 1 2 4 9 14 17 18 17 16 17 18 16 12 6 -1 -7 -10 -11 -11 -9 -8 -10 -14 -20 -27 -20 -4 17 38 55 61 61 60 59 57 55 54 52 49 46 42 40 36 33 30 26 23 20 17 16 15 15 14 14 15 15 15 14 13 11 9 6 3 1 -1 -2 -3 -5 -6 -8 -10 -12 -13 -15 -16 -19 -20 -22 -22 -21 -20 -18 -16 -14 -13 -12 -6 -2 -3 -6 -11 -13 -15 -16 -16 -17 -17 -17 -17 -16 -15 -15 -8 1 6 4 -2 -7 -11 -13 -14 -14 -15 -15 -13 -7 5 20 34 43 47 46 42 38 36 34 32 29 24 18 11 2 -5 -10 -12 -14 -14 -15 -16 -13 -10 -9 -10 -9 -5 -0 2 -5 -11 -15 -16 -13 -12 -12 -10 -5 1 3 1 -3 -7 -10 -11 -11 -10 -9 -10 -12 -9 -8 -10 -14 -12 -9 -7 -8 -12 -16 -19 -21 -22 -21 -17 -13 -14 -15 -12 -11 -11 -12 -11 -11 -14 -15 -12 -8 -8 -12 -11 -7 -1 3 7 10 11 6 -2 -10 -11 -7 -2 1 2 7 12 15 13 6 15 27 32 26 12 -12 -11 -5 -2 -4 6 11 11 7 5 3 1 2 3 4 3 1 1 -5 -6 -6 -5 -4 -4 -3 -4 -4 -5 -6 -8 -9 -9 -8 -6 -7 -8 -8 -9 -12 -16 -18 -18 -18 -20 -20 -16 -8 -1 2 3 2 -0 -2 -5 -7 -8 -7 -7 -7 -8 -8 -8 -8 -8 -6 -6 -6 -5 -4 -2 -2 -1 -0 -0 -0 -0 -1 -3 -4 -6 -7 -7 -7 -6 -4 -4 -4 -5 -5 -5 -3 -2 -2 -2 -3 -3 -2 1 2 2 2 -0 -0 -0 -0 -0 -1 -4 -6 -9 -11 -15 -16 -15 -13 -11 -8 -5 -4 -4 -4 1 3 1 -5 -10 -11 -9 -7 -8 -9 -10 -10 -6 -2 2 5 6 7 6 4 -0 -3 -1 4 7 7 -0 -8 -14 -16 -13 -5 -2 -2 -1 -0 -3 -6 -7 -5 -2 -4 -7 -7 -7 -8 -12 -15 -17 -17 -13 -6 -13 -13 -12 -12 -13 -11 -7 -4 -2 -3 -3 -2 -0 -0 -0 -0 -0 -0 -0 2 7 12 17 19 20 20 20 19 16 11 4 -2 -7 -9 -10 -8 -8 -11 -17 -25 -32 -28 -16 -1 14 35 54 61 63 62 60 58 57 55 53 50 46 43 40 37 33 29 25 22 18 16 16 15 15 15 15 15 15 15 14 13 12 9 6 4 2 -0 -1 -2 -4 -6 -8 -10 -12 -14 -16 -18 -20 -21 -22 -21 -20 -19 -17 -14 -13 -13 -12 -6 -2 -3 -6 -10 -12 -14 -14 -15 -16 -17 -17 -16 -15 -15 -13 -6 2 7 4 -3 -8 -12 -13 -12 -13 -14 -14 -14 -13 -4 11 27 42 48 46 43 40 38 36 33 28 23 15 7 -2 -8 -12 -14 -15 -15 -16 -15 -11 -8 -9 -9 -8 -4 1 -2 -8 -14 -16 -16 -13 -12 -11 -10 -3 2 3 1 -3 -7 -9 -11 -11 -10 -9 -10 -9 -7 -7 -9 -10 -14 -15 -13 -11 -13 -17 -20 -22 -21 -20 -17 -17 -15 -11 -11 -12 -13 -11 -8 -13 -16 -13 -9 -8 -13 -14 -10 -5 -1 3 8 11 9 4 -6 -12 -10 -5 1 7 8 11 15 15 8 3 17 31 30 23 -9 -15 -8 -1 2 -4 -1 2 3 1 -3 -4 -3 -2 -1 -3 -2 -0 -5 -6 -6 -5 -5 -5 -5 -4 -4 -4 -5 -9 -12 -11 -9 -8 -9 -9 -10 -12 -16 -20 -21 -20 -21 -24 -28 -27 -18 -7 -0 3 1 -1 -3 -5 -7 -8 -8 -8 -8 -8 -8 -6 -6 -6 -6 -5 -5 -5 -4 -3 -3 -3 -2 -1 1 1 -0 -2 -4 -6 -7 -6 -6 -6 -5 -4 -5 -5 -6 -5 -4 -3 -1 -1 -2 -3 -2 -0 2 3 4 2 1 -1 -1 -2 -2 -3 -5 -8 -11 -15 -17 -17 -15 -13 -11 -7 -4 -5 -5 -4 -2 -1 -3 -6 -9 -8 -7 -7 -8 -10 -10 -9 -5 -1 3 6 7 7 6 3 -1 -2 2 7 10 8 -0 -9 -15 -14 -7 -2 -1 -0 -0 -2 -5 -6 -4 -0 -0 -3 -4 -5 -7 -12 -17 -20 -21 -20 -15 -13 -13 -13 -12 -11 -10 -7 -4 -2 -2 -3 -3 -2 -0 -1 -1 -1 -1 -1 -0 1 6 12 18 22 23 23 21 19 15 10 4 -3 -8 -11 -9 -8 -11 -19 -27 -25 -31 -23 -14 -8 5 30 49 60 62 62 61 60 59 57 54 51 47 44 41 37 32 28 23 18 15 14 14 15 16 16 17 16 16 16 15 13 11 9 7 4 3 2 1 -1 -3 -6 -8 -11 -13 -15 -17 -19 -20 -21 -21 -21 -20 -18 -16 -13 -12 -13 -10 -6 -2 -3 -7 -9 -11 -12 -13 -14 -15 -16 -16 -16 -15 -15 -13 -6 5 7 3 -4 -9 -12 -11 -10 -10 -11 -13 -12 -12 -11 -1 20 39 45 45 43 41 39 36 32 27 20 12 3 -5 -10 -14 -15 -15 -15 -14 -13 -8 -7 -7 -7 -6 -2 -1 -6 -11 -14 -15 -15 -13 -12 -11 -8 -2 2 2 -0 -3 -6 -9 -11 -10 -9 -9 -9 -9 -8 -8 -10 -14 -16 -15 -12 -12 -16 -19 -21 -21 -20 -20 -18 -15 -12 -12 -13 -14 -13 -11 -12 -14 -14 -12 -10 -13 -14 -12 -8 -4 -1 4 8 11 10 1 -10 -14 -10 -2 8 11 12 13 14 12 3 6 13 19 16 -10 -19 -14 -5 2 2 -5 -9 -5 -4 -6 -6 -6 -7 -7 -8 -6 -1 -5 -6 -6 -6 -6 -6 -6 -5 -4 -4 -5 -10 -12 -11 -10 -9 -10 -11 -12 -13 -14 -14 -15 -16 -18 -22 -28 -28 -23 -14 -5 -0 -0 -1 -2 -4 -6 -7 -8 -9 -9 -8 -7 -5 -5 -5 -5 -5 -4 -4 -5 -5 -5 -4 -3 -3 -1 1 1 -0 -2 -5 -6 -5 -5 -5 -6 -5 -5 -5 -5 -5 -5 -3 -2 -2 -1 -2 -2 -1 1 3 5 4 2 -0 -2 -4 -4 -5 -5 -7 -9 -13 -15 -16 -15 -13 -12 -8 -5 -4 -5 -5 -4 -4 -4 -5 -8 -8 -6 -6 -8 -10 -10 -10 -8 -5 -1 3 6 7 7 5 3 -0 1 4 8 10 7 -1 -8 -12 -7 -3 -1 -1 -1 -1 -3 -5 -4 -1 2 1 -0 -2 -5 -11 -18 -22 -23 -22 -20 -15 -13 -13 -15 -11 -9 -7 -4 -1 -0 -2 -4 -4 -2 -1 -1 -1 -1 -1 -1 -1 -0 5 12 19 24 26 25 23 19 15 9 3 -3 -8 -9 -7 -10 -17 -25 -19 -27 -23 -14 -7 -10 -1 19 41 55 61 62 62 62 60 58 55 51 48 45 41 37 31 26 20 15 12 10 11 13 15 18 18 18 18 17 15 14 11 9 7 5 5 3 2 -0 -3 -6 -9 -12 -14 -16 -18 -19 -20 -20 -21 -20 -19 -17 -14 -12 -12 -12 -11 -6 -2 -3 -5 -8 -9 -11 -12 -13 -14 -16 -17 -16 -16 -15 -13 -3 6 6 2 -5 -10 -11 -10 -8 -7 -9 -11 -9 -6 -8 -20 13 33 41 42 40 39 38 35 31 25 17 8 -0 -8 -13 -15 -15 -14 -14 -13 -9 -5 -4 -6 -6 -4 -2 -4 -8 -11 -12 -14 -14 -13 -10 -9 -5 -1 1 -0 -2 -4 -6 -9 -10 -10 -9 -11 -12 -11 -11 -12 -14 -15 -14 -12 -13 -14 -16 -19 -19 -19 -19 -18 -16 -13 -12 -14 -15 -15 -13 -13 -14 -14 -14 -13 -14 -14 -12 -10 -9 -6 -2 4 10 13 7 -5 -14 -15 -8 4 11 13 11 11 13 9 2 -3 -0 -4 -16 -19 -15 -8 -1 3 1 -6 -10 -9 -8 -7 -8 -10 -10 -9 -7 -2 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -6 -7 -7 -8 -9 -10 -11 -11 -10 -8 -6 -4 -4 -6 -9 -12 -16 -19 -17 -11 -5 -0 -0 -0 -0 -1 -4 -5 -6 -7 -8 -8 -7 -6 -6 -5 -5 -5 -3 -3 -4 -6 -6 -4 -4 -4 -3 -1 -0 -0 -1 -3 -5 -4 -3 -3 -4 -5 -6 -5 -5 -5 -5 -4 -3 -3 -2 -2 -1 -0 1 3 5 6 4 2 -1 -4 -6 -7 -6 -6 -7 -10 -13 -15 -14 -13 -12 -10 -7 -5 -4 -4 -4 -5 -6 -7 -8 -7 -5 -5 -6 -9 -10 -10 -9 -8 -6 -1 3 6 7 7 5 3 1 2 4 8 9 5 -2 -7 -5 -3 -2 -3 -3 -3 -3 -3 -4 -2 1 2 2 1 -2 -9 -19 -25 -27 -24 -17 -15 -15 -16 -16 -15 -8 -6 -4 -1 2 -0 -3 -4 -3 -1 -0 -1 -2 -2 -1 -1 -2 -1 4 11 20 26 28 27 24 20 15 9 3 -4 -7 -6 -8 -14 -22 -21 -16 -20 -19 -1 -1 -9 -7 3 21 39 54 62 64 64 62 58 55 53 50 46 42 37 32 26 19 12 7 5 6 10 15 18 20 21 20 18 16 13 10 8 7 6 6 5 3 1 -2 -6 -9 -12 -15 -17 -18 -18 -19 -20 -20 -19 -17 -16 -13 -11 -11 -12 -11 -6 -3 -3 -4 -6 -8 -10 -12 -13 -15 -16 -17 -17 -16 -15 -12 -1 6 6 -0 -7 -10 -10 -8 -5 -5 -8 -8 -5 -0 4 -9 7 27 35 35 35 35 34 32 29 22 13 5 -3 -10 -14 -15 -15 -13 -13 -10 -6 -3 -3 -4 -5 -5 -5 -6 -9 -8 -10 -13 -15 -10 -9 -7 -4 -0 -0 -1 -2 -4 -7 -9 -10 -10 -12 -14 -14 -14 -15 -16 -15 -14 -13 -13 -14 -14 -15 -15 -15 -16 -17 -16 -13 -12 -13 -15 -15 -14 -15 -15 -14 -14 -13 -13 -14 -13 -12 -12 -10 -7 -1 6 12 11 2 -9 -15 -12 -3 7 12 12 8 9 9 5 -2 -9 -13 -16 -16 -13 -9 -4 -0 -1 -5 -8 -10 -11 -10 -9 -9 -8 -6 -3 1 -5 -5 -5 -5 -6 -6 -6 -6 -7 -7 -5 -5 -6 -8 -10 -13 -15 -12 -6 -4 -4 -5 -7 -9 -10 -12 -13 -13 -12 -8 -3 -1 -0 -0 -0 -0 -2 -3 -5 -6 -8 -8 -8 -6 -5 -5 -5 -5 -3 -4 -5 -6 -6 -5 -5 -5 -4 -3 -3 -2 -2 -2 -3 -3 -2 -2 -3 -4 -5 -6 -6 -5 -5 -3 -3 -3 -3 -2 -1 -0 1 2 4 6 5 4 1 -3 -7 -9 -8 -6 -5 -8 -12 -14 -14 -13 -12 -11 -9 -7 -5 -3 -3 -5 -7 -8 -9 -7 -5 -4 -5 -8 -10 -9 -9 -9 -9 -6 -2 2 5 6 6 5 4 2 2 5 8 7 3 -2 -2 -1 -2 -4 -5 -5 -5 -5 -4 -2 -0 2 3 3 -0 -6 -15 -22 -26 -23 -16 -12 -15 -19 -21 -20 -11 -6 -4 -1 2 2 -1 -3 -4 -2 -0 -0 -1 -2 -1 -1 -2 -3 -3 1 10 20 27 30 29 25 21 16 10 3 -1 -3 -6 -10 -18 -22 -14 -15 -16 -7 4 -2 -10 -14 -12 1 19 37 52 62 61 59 57 55 53 51 48 44 40 33 26 17 9 3 -0 1 7 13 18 22 23 21 19 16 12 9 8 7 7 7 6 4 1 -2 -6 -10 -13 -15 -16 -17 -18 -19 -19 -19 -17 -16 -14 -11 -10 -10 -12 -11 -6 -3 -2 -4 -5 -7 -10 -12 -13 -15 -17 -17 -16 -16 -16 -9 1 7 5 -2 -8 -10 -9 -6 -2 -4 -6 -6 -2 7 3 -1 4 22 26 25 25 27 29 29 25 18 10 2 -6 -11 -15 -15 -13 -12 -10 -7 -3 -2 -4 -6 -8 -9 -7 -8 -5 -5 -10 -16 -11 -9 -8 -5 -2 -0 -1 -2 -3 -5 -7 -9 -11 -13 -15 -15 -15 -17 -17 -17 -15 -14 -14 -14 -14 -13 -13 -14 -16 -17 -17 -14 -13 -12 -12 -13 -14 -16 -16 -14 -14 -13 -13 -12 -12 -12 -12 -12 -10 -7 1 8 11 8 -0 -10 -13 -9 1 10 13 7 5 5 5 3 -2 -7 -10 -12 -10 -8 -4 -1 -2 -5 -10 -13 -13 -10 -4 -2 1 2 3 4 -6 -6 -6 -6 -5 -5 -6 -6 -5 -4 -4 -5 -8 -11 -13 -12 -10 -5 -5 -8 -9 -9 -11 -11 -12 -13 -14 -13 -9 -5 -3 -2 -2 -0 -0 -1 -3 -4 -5 -7 -8 -8 -8 -6 -5 -5 -5 -5 -4 -5 -6 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -1 -2 -3 -4 -6 -7 -6 -5 -3 -3 -3 -2 -3 -2 -1 1 2 3 4 6 5 3 -1 -5 -9 -10 -9 -6 -6 -11 -13 -14 -13 -11 -11 -10 -8 -7 -4 -2 -3 -6 -8 -9 -7 -6 -4 -4 -6 -9 -10 -9 -9 -9 -8 -7 -4 -0 3 4 5 6 6 4 4 6 7 5 3 1 -0 -0 -2 -5 -6 -8 -8 -7 -3 1 4 5 4 2 -3 -9 -16 -22 -23 -16 -9 -10 -15 -21 -22 -15 -9 -4 -2 2 3 1 -3 -5 -3 -0 1 -0 -1 -1 -0 -0 -2 -4 -5 -0 8 19 28 32 29 25 22 18 14 8 4 -1 -6 -13 -21 -17 -13 -12 -16 1 2 -4 -12 -16 -11 -7 1 16 36 46 50 52 53 52 52 52 50 46 41 34 25 15 6 -1 -5 -3 3 10 18 24 25 23 20 16 11 8 6 6 6 8 7 5 2 -2 -6 -10 -13 -15 -16 -17 -17 -18 -18 -17 -16 -15 -12 -10 -9 -9 -12 -10 -6 -3 -3 -3 -4 -7 -9 -11 -14 -15 -16 -16 -16 -15 -14 -7 3 8 2 -4 -8 -10 -8 -3 -2 -3 -5 -4 3 6 -3 -7 8 17 17 15 14 16 21 23 20 14 6 -0 -7 -12 -15 -14 -11 -10 -8 -5 -3 -7 -8 -10 -10 -10 -9 -4 -1 -4 -13 -13 -9 -8 -6 -3 -0 -2 -4 -5 -6 -7 -11 -14 -16 -16 -15 -15 -17 -18 -18 -16 -15 -15 -15 -15 -13 -12 -13 -15 -18 -18 -16 -13 -11 -10 -10 -13 -15 -15 -13 -13 -13 -13 -12 -11 -10 -11 -12 -12 -10 -5 2 8 11 9 1 -8 -11 -5 6 13 7 2 -0 2 5 2 -4 -8 -9 -9 -8 -5 -2 -1 -4 -12 -18 -17 -6 11 13 14 13 10 6 -6 -5 -4 -5 -4 -3 -4 -5 -4 -3 -2 -3 -5 -7 -9 -9 -7 -6 -8 -10 -10 -9 -11 -12 -13 -14 -15 -14 -8 -5 -3 -3 -3 -1 -1 -3 -5 -6 -7 -7 -8 -7 -7 -6 -6 -5 -5 -5 -5 -6 -7 -7 -6 -4 -3 -3 -4 -3 -3 -4 -4 -4 -2 -1 -1 -1 -2 -3 -4 -5 -7 -7 -6 -4 -3 -2 -2 -3 -3 -2 -0 2 4 5 6 6 4 1 -2 -7 -10 -11 -8 -6 -9 -12 -14 -14 -12 -11 -10 -10 -9 -7 -4 -3 -5 -8 -8 -6 -6 -5 -5 -6 -9 -9 -9 -9 -8 -8 -9 -8 -5 -2 -0 2 5 7 7 6 6 6 7 6 4 3 2 -0 -3 -5 -8 -11 -11 -7 -0 5 7 7 6 1 -4 -11 -17 -22 -19 -9 -6 -9 -17 -22 -18 -11 -6 -3 -0 3 2 -1 -4 -5 -2 -0 1 -0 -1 1 2 1 -1 -4 -5 -2 6 18 31 33 30 26 24 23 21 15 9 2 -7 -16 -20 -17 -13 -20 -8 -1 -1 -6 -10 -10 -10 -6 1 3 12 21 28 35 39 42 47 50 50 47 41 33 24 14 4 -4 -8 -8 -3 6 16 23 26 25 21 15 9 5 3 3 6 8 9 7 3 -1 -6 -10 -12 -14 -15 -16 -16 -17 -16 -16 -15 -14 -11 -9 -7 -10 -12 -10 -5 -3 -2 -2 -3 -6 -9 -12 -13 -15 -16 -15 -14 -14 -11 -5 6 6 -0 -5 -8 -9 -6 -3 -1 -2 -4 -1 1 -4 -9 -4 7 11 10 8 5 7 12 16 15 10 4 -2 -8 -13 -14 -12 -11 -10 -9 -6 -7 -9 -10 -11 -11 -11 -7 -0 1 -7 -14 -10 -8 -7 -5 -3 -5 -7 -10 -11 -12 -15 -17 -17 -16 -16 -16 -17 -17 -17 -16 -15 -15 -15 -15 -12 -11 -12 -14 -17 -18 -17 -15 -12 -9 -9 -11 -12 -13 -12 -12 -12 -13 -12 -10 -9 -9 -11 -12 -10 -7 -1 6 12 15 12 2 -6 -7 -1 7 5 -0 -4 -3 3 3 -1 -6 -9 -10 -9 -6 -3 -0 -2 -9 -12 -3 18 24 25 23 19 13 9 -6 -5 -4 -3 -3 -2 -2 -3 -2 -1 -0 -1 -3 -4 -7 -9 -9 -11 -10 -9 -8 -9 -11 -13 -13 -14 -15 -13 -8 -5 -4 -4 -3 -2 -3 -5 -7 -8 -9 -9 -7 -5 -5 -6 -6 -5 -5 -5 -5 -5 -6 -6 -5 -5 -4 -4 -3 -3 -3 -4 -6 -6 -5 -2 -0 -0 -1 -4 -5 -6 -7 -7 -6 -4 -3 -3 -3 -3 -3 -3 -1 1 4 5 6 6 5 3 -0 -4 -8 -10 -10 -9 -8 -10 -14 -15 -14 -11 -10 -10 -10 -9 -6 -5 -5 -6 -6 -5 -6 -7 -8 -8 -8 -8 -9 -8 -7 -7 -9 -9 -8 -7 -4 -3 -0 4 7 8 7 7 8 9 7 6 4 3 1 -1 -6 -11 -14 -13 -4 4 9 11 10 6 -0 -6 -12 -18 -20 -12 -6 -6 -12 -20 -19 -14 -8 -5 -2 1 2 1 -2 -5 -5 -2 -0 1 -0 1 2 3 3 -0 -4 -6 -4 5 21 32 35 32 27 27 28 24 17 10 2 -10 -19 -22 -20 -18 -16 -7 -2 -4 -8 -9 -7 -4 -3 -9 -5 -1 5 13 17 19 26 34 41 45 45 40 32 23 13 3 -4 -9 -12 -10 -0 12 22 27 26 20 13 7 2 -1 1 5 9 10 9 4 -1 -6 -10 -12 -14 -15 -15 -15 -16 -16 -15 -14 -13 -10 -7 -7 -10 -12 -10 -6 -4 -2 -2 -3 -6 -9 -11 -13 -14 -14 -13 -12 -12 -9 -2 4 3 -1 -6 -9 -7 -4 -2 -2 -4 -3 -4 -6 -8 -11 -2 2 4 3 -0 -3 -1 4 8 8 5 2 -3 -9 -14 -14 -14 -14 -12 -8 -7 -8 -10 -11 -12 -11 -7 -0 4 -1 -12 -11 -8 -8 -8 -7 -7 -9 -12 -13 -15 -17 -18 -19 -17 -17 -16 -15 -14 -14 -14 -13 -13 -13 -13 -12 -11 -11 -13 -16 -18 -19 -18 -16 -14 -12 -11 -11 -11 -11 -11 -11 -12 -12 -11 -8 -8 -10 -12 -11 -9 -3 5 12 18 19 13 4 -4 -5 -0 2 -1 -6 -8 -1 2 -0 -4 -8 -9 -9 -7 -3 1 1 -4 -5 5 27 32 32 29 25 19 13 -4 -4 -4 -3 -2 -1 -1 -2 -3 -2 -2 -2 -4 -5 -8 -10 -11 -12 -10 -8 -8 -9 -12 -14 -15 -13 -10 -8 -7 -6 -5 -5 -4 -4 -4 -5 -6 -6 -7 -8 -7 -4 -4 -5 -6 -5 -5 -5 -5 -5 -5 -4 -3 -2 -2 -2 -3 -3 -3 -4 -6 -7 -7 -5 -2 -0 -0 -1 -4 -7 -7 -6 -4 -3 -3 -3 -3 -3 -2 -2 -2 -0 3 5 6 6 6 5 3 -0 -5 -9 -11 -12 -9 -9 -12 -15 -14 -12 -10 -10 -11 -10 -7 -5 -4 -4 -5 -5 -5 -7 -8 -8 -7 -7 -8 -8 -7 -7 -8 -9 -9 -8 -8 -7 -5 -3 2 6 7 8 9 10 11 11 9 7 5 2 -2 -7 -12 -15 -10 -1 7 12 13 11 5 -1 -7 -12 -17 -15 -10 -7 -9 -16 -18 -15 -11 -7 -4 -1 2 2 -0 -4 -6 -5 -3 -1 1 2 3 4 6 5 -0 -5 -8 -5 7 24 35 38 35 34 34 30 25 18 10 -2 -13 -21 -24 -20 -20 -10 -2 -3 -9 -10 -9 -8 -7 -7 -7 -9 -7 -1 4 4 5 9 16 25 34 37 36 30 21 11 3 -4 -9 -13 -14 -7 6 21 29 26 19 11 3 -3 -5 -1 4 9 12 9 4 -1 -6 -10 -13 -14 -14 -14 -15 -16 -15 -14 -13 -11 -9 -7 -8 -11 -14 -10 -6 -4 -2 -1 -3 -6 -9 -11 -13 -13 -12 -11 -11 -10 -7 -0 3 1 -5 -9 -10 -8 -5 -3 -4 -5 -6 -7 -8 -14 -8 -3 -0 2 -0 -5 -7 -7 -3 1 -0 -0 -0 -3 -11 -16 -17 -17 -15 -9 -6 -7 -9 -11 -13 -10 -6 -0 5 2 -8 -9 -7 -7 -9 -8 -7 -7 -9 -12 -15 -17 -19 -19 -18 -17 -16 -15 -13 -13 -13 -12 -12 -12 -12 -12 -11 -12 -13 -15 -19 -21 -22 -21 -20 -16 -13 -11 -11 -10 -10 -10 -11 -13 -13 -9 -6 -7 -11 -13 -12 -6 2 11 19 21 21 16 6 -4 -4 -2 -3 -8 -11 -6 -1 -0 -3 -6 -7 -8 -7 -4 1 3 2 2 5 16 31 35 34 32 26 20 -3 -3 -4 -4 -3 -2 -2 -4 -4 -4 -4 -5 -6 -6 -8 -10 -10 -8 -8 -8 -9 -10 -13 -16 -16 -13 -8 -6 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -4 -5 -5 -4 -3 -2 -1 -0 1 -0 -1 -2 -2 -2 -2 -3 -5 -8 -8 -6 -3 -1 1 -0 -3 -6 -6 -3 -2 -2 -3 -4 -5 -4 -3 -1 1 3 4 5 5 6 6 5 3 -2 -7 -11 -14 -12 -10 -10 -13 -14 -13 -11 -9 -10 -10 -8 -6 -4 -5 -6 -6 -6 -7 -7 -8 -7 -7 -7 -7 -6 -6 -7 -8 -9 -9 -9 -9 -8 -7 -4 1 4 6 6 9 12 14 15 14 11 7 2 -3 -8 -14 -14 -8 -0 7 11 13 9 4 -1 -5 -12 -14 -13 -10 -8 -12 -15 -15 -12 -8 -6 -3 -0 2 2 -1 -5 -7 -7 -5 -0 2 2 3 5 8 5 -1 -7 -9 -3 10 25 36 40 40 40 37 32 26 18 7 -5 -15 -23 -23 -21 -12 -2 2 -5 -10 -11 -11 -10 -11 -10 -10 -10 -7 2 2 -2 -5 -4 -0 9 19 27 30 27 19 10 3 -3 -9 -12 -13 -10 -1 19 28 25 17 8 -1 -7 -8 -4 3 11 12 9 4 -2 -8 -11 -13 -13 -14 -14 -14 -14 -14 -13 -12 -10 -8 -7 -9 -14 -13 -9 -6 -3 -0 -0 -3 -7 -10 -11 -12 -11 -10 -9 -9 -9 -5 -2 -2 -7 -11 -13 -13 -11 -8 -9 -9 -8 -8 -8 -14 -10 -6 -2 2 2 -3 -8 -10 -10 -8 -8 -7 -4 -0 -1 -9 -15 -18 -16 -10 -5 -3 -6 -9 -11 -9 -6 -2 2 2 -6 -8 -6 -5 -9 -12 -9 -6 -6 -10 -14 -16 -18 -19 -18 -18 -16 -14 -13 -13 -13 -13 -12 -12 -12 -12 -13 -13 -15 -16 -20 -23 -25 -25 -23 -19 -16 -14 -14 -12 -10 -10 -11 -13 -15 -11 -6 -4 -8 -14 -15 -10 -2 8 16 20 24 24 18 6 -2 -4 -6 -9 -12 -10 -5 -2 -4 -6 -7 -7 -6 -5 -0 4 7 8 6 6 14 24 34 37 34 27 -2 -3 -4 -4 -3 -3 -3 -6 -6 -6 -5 -5 -5 -6 -7 -9 -10 -8 -6 -7 -8 -9 -11 -12 -12 -10 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -5 -5 -5 -5 -4 -2 -1 -1 -2 -2 -2 -2 -1 -0 -0 1 2 1 -0 -1 -1 -1 -1 -2 -4 -7 -8 -8 -6 -3 -0 1 -1 -4 -5 -4 -2 -1 -2 -4 -6 -7 -6 -3 1 4 4 4 5 5 6 6 5 2 -3 -8 -14 -15 -13 -10 -10 -12 -13 -11 -9 -8 -9 -9 -7 -6 -5 -6 -6 -7 -7 -7 -7 -7 -8 -7 -6 -6 -6 -7 -8 -9 -10 -11 -10 -9 -8 -6 -3 -0 2 3 4 7 12 16 18 18 14 8 2 -5 -11 -13 -10 -4 1 3 6 8 6 4 2 -2 -9 -12 -12 -10 -10 -13 -14 -13 -8 -7 -6 -3 1 3 1 -2 -6 -8 -9 -4 -0 2 2 3 7 7 4 -2 -8 -7 -0 11 24 35 42 45 43 39 35 26 16 4 -8 -17 -22 -21 -14 -4 6 3 -6 -12 -14 -14 -13 -11 -10 -11 -12 -2 4 2 -4 -9 -12 -10 -2 7 17 23 21 15 8 2 -3 -7 -10 -11 -10 -6 14 24 23 14 4 -4 -10 -10 -5 4 11 11 8 2 -4 -9 -11 -13 -13 -13 -13 -13 -13 -13 -12 -11 -10 -9 -8 -10 -13 -12 -9 -6 -3 -0 -1 -4 -7 -9 -10 -10 -9 -9 -9 -10 -11 -9 -6 -8 -12 -14 -15 -14 -11 -10 -10 -10 -9 -8 -13 -12 -8 -4 -0 3 -1 -6 -11 -12 -11 -9 -6 -2 3 6 2 -5 -11 -13 -9 -2 3 2 -3 -8 -9 -7 -4 -1 -0 -4 -7 -7 -6 -10 -14 -14 -9 -3 -6 -11 -15 -18 -18 -19 -19 -18 -15 -13 -12 -14 -15 -15 -14 -13 -14 -15 -16 -17 -19 -21 -24 -26 -27 -25 -23 -20 -18 -15 -12 -10 -9 -9 -12 -15 -13 -8 -4 -4 -12 -17 -14 -7 2 10 17 23 27 28 19 9 -0 -8 -12 -13 -11 -7 -4 -6 -7 -7 -8 -8 -7 -4 2 7 12 13 9 4 8 18 30 37 34 -3 -4 -4 -3 -3 -3 -4 -6 -6 -6 -6 -6 -7 -8 -7 -7 -8 -10 -8 -6 -6 -7 -8 -8 -9 -10 -11 -11 -10 -9 -7 -6 -6 -6 -6 -7 -7 -6 -5 -5 -5 -4 -3 -2 -1 -1 -1 -0 -0 1 1 1 1 2 2 1 1 -0 -0 -0 -0 -2 -5 -7 -9 -8 -5 -2 -1 -1 -2 -4 -4 -2 -1 -1 -2 -5 -8 -10 -8 -2 4 6 6 6 6 6 6 6 4 2 -4 -11 -15 -15 -13 -10 -11 -13 -12 -10 -8 -9 -9 -8 -7 -6 -6 -7 -7 -7 -7 -6 -7 -7 -7 -7 -6 -6 -7 -7 -9 -11 -12 -11 -9 -7 -6 -5 -3 -0 1 1 2 5 10 17 22 20 15 8 -0 -7 -11 -10 -6 -2 -0 1 2 3 3 5 4 -1 -6 -9 -10 -9 -11 -12 -11 -8 -7 -8 -7 -3 2 3 1 -3 -7 -11 -10 -4 1 2 1 3 7 7 3 -4 -6 -4 2 11 21 32 40 42 42 40 35 25 14 1 -10 -17 -18 -15 -8 1 5 1 -5 -11 -15 -14 -12 -12 -12 -13 -9 1 3 -1 -6 -10 -12 -13 -10 -3 8 13 13 9 5 1 -3 -6 -7 -8 -9 -5 9 20 20 11 1 -6 -11 -11 -6 4 10 10 6 -1 -6 -10 -12 -13 -12 -12 -12 -12 -12 -12 -11 -11 -10 -9 -9 -11 -12 -10 -8 -5 -2 -0 -1 -4 -7 -8 -9 -11 -12 -12 -12 -14 -13 -10 -8 -11 -15 -17 -17 -14 -11 -9 -10 -11 -9 -11 -12 -9 -5 -1 2 -0 -4 -10 -13 -12 -8 -5 -3 -1 4 5 2 -5 -9 -7 3 10 11 3 -5 -8 -8 -6 -4 -2 -4 -7 -10 -9 -12 -15 -16 -14 -7 -4 -8 -13 -18 -19 -19 -20 -19 -17 -14 -13 -16 -18 -18 -16 -16 -17 -18 -19 -19 -19 -21 -23 -24 -25 -25 -25 -24 -21 -17 -13 -10 -9 -8 -11 -14 -14 -11 -7 -3 -8 -15 -17 -12 -6 3 13 22 28 31 27 21 9 -6 -15 -14 -11 -7 -5 -6 -7 -8 -9 -9 -9 -7 -2 4 9 13 15 13 8 4 13 23 32 -5 -5 -4 -3 -2 -2 -3 -5 -5 -4 -4 -6 -9 -14 -15 -13 -10 -11 -10 -9 -8 -8 -7 -6 -6 -7 -7 -6 -6 -6 -5 -5 -4 -4 -4 -5 -5 -5 -4 -5 -5 -5 -5 -4 -3 -3 -2 -0 -0 1 1 1 1 1 2 2 1 1 1 1 1 -1 -3 -6 -7 -7 -6 -5 -5 -4 -3 -2 -2 -2 -1 1 -0 -2 -7 -11 -12 -9 -2 6 9 10 8 7 6 6 6 5 1 -6 -13 -17 -16 -13 -10 -12 -12 -11 -9 -9 -9 -8 -8 -7 -7 -7 -8 -7 -7 -5 -6 -7 -7 -7 -7 -7 -7 -7 -8 -10 -13 -13 -11 -7 -4 -5 -4 -3 -1 -0 -1 -1 2 9 17 20 20 15 8 -2 -8 -8 -5 -1 1 -0 -1 -1 -1 -0 -0 -1 -3 -5 -7 -7 -7 -8 -7 -6 -6 -8 -9 -6 -0 4 3 -0 -4 -10 -12 -8 -2 3 2 -0 3 7 6 1 -4 -5 -2 2 8 15 24 30 34 36 36 33 23 11 -2 -10 -14 -13 -10 -5 -1 1 -0 -3 -9 -12 -12 -13 -14 -12 -12 -3 1 -0 -5 -8 -10 -11 -12 -12 -8 -0 5 6 3 -0 -1 -3 -5 -6 -6 -10 -5 5 16 14 6 -2 -7 -11 -11 -5 2 7 8 3 -3 -8 -11 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -10 -9 -10 -11 -11 -9 -7 -4 -2 -1 -2 -5 -9 -11 -13 -16 -16 -15 -15 -15 -13 -9 -10 -14 -18 -19 -17 -12 -10 -10 -12 -10 -11 -12 -10 -7 -5 -0 1 -2 -8 -14 -13 -9 -5 -4 -5 -1 4 5 2 -5 -8 -4 3 10 6 -2 -7 -8 -7 -6 -4 -4 -8 -12 -12 -13 -15 -17 -17 -16 -9 -7 -10 -16 -19 -20 -20 -20 -19 -16 -16 -17 -18 -18 -17 -18 -19 -21 -21 -20 -20 -21 -22 -21 -21 -24 -26 -25 -23 -19 -15 -13 -10 -8 -10 -12 -12 -12 -11 -5 -5 -10 -15 -16 -13 -3 8 19 28 32 30 27 18 1 -14 -17 -14 -9 -5 -5 -6 -7 -9 -10 -10 -10 -6 1 7 10 13 16 18 16 8 8 17 -4 -3 -2 -2 -1 -2 -3 -5 -5 -4 -5 -6 -10 -15 -18 -16 -13 -11 -11 -11 -11 -10 -6 -3 -2 -2 -2 -2 -3 -6 -7 -7 -5 -5 -5 -4 -4 -4 -5 -6 -7 -7 -7 -5 -5 -4 -3 -2 -0 1 1 1 1 2 3 3 2 2 2 2 2 -0 -1 -4 -5 -5 -6 -7 -9 -9 -6 -2 -0 1 2 3 3 -0 -5 -9 -12 -13 -10 -1 8 11 10 8 7 6 6 6 5 -1 -9 -15 -18 -17 -12 -11 -11 -12 -10 -9 -9 -9 -8 -8 -7 -7 -8 -8 -7 -5 -5 -7 -7 -8 -7 -7 -6 -7 -8 -9 -12 -14 -13 -8 -3 -3 -4 -5 -3 -0 -1 -3 -4 -0 8 15 19 18 14 6 -2 -5 -4 -0 2 2 -1 -3 -4 -4 -5 -4 -4 -5 -6 -7 -6 -5 -4 -3 -4 -7 -10 -9 -4 3 5 4 -0 -5 -11 -12 -7 1 5 1 -0 3 7 5 -1 -3 -2 1 4 3 6 10 16 23 30 34 31 21 8 -3 -8 -10 -9 -8 -8 -6 -3 -0 -1 -8 -11 -13 -14 -12 -13 -8 -2 -0 -3 -8 -10 -11 -12 -13 -12 -8 -3 -0 -1 -3 -3 -4 -6 -8 -7 -8 -10 -7 3 9 7 2 -3 -8 -11 -9 -4 1 5 4 -0 -5 -9 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -10 -10 -9 -8 -6 -5 -4 -3 -6 -10 -13 -15 -16 -17 -16 -16 -16 -15 -11 -10 -13 -18 -19 -18 -13 -8 -7 -10 -11 -11 -12 -11 -9 -7 -3 -1 -1 -6 -12 -14 -10 -6 -4 -6 -5 -0 4 6 1 -5 -6 -4 3 7 1 -4 -8 -8 -7 -5 -5 -8 -13 -13 -14 -16 -18 -18 -20 -15 -10 -7 -11 -16 -17 -19 -20 -19 -18 -17 -15 -14 -15 -17 -19 -21 -21 -21 -20 -20 -20 -20 -19 -19 -21 -23 -25 -25 -22 -19 -16 -13 -10 -10 -10 -11 -12 -13 -8 -4 -5 -10 -17 -17 -8 3 14 25 30 30 27 21 11 -5 -16 -18 -14 -8 -5 -4 -5 -7 -9 -10 -12 -10 -4 3 8 11 14 18 21 21 14 8 -2 -1 -2 -2 -2 -3 -4 -5 -6 -6 -7 -7 -9 -12 -14 -14 -13 -12 -13 -13 -11 -7 -2 1 1 -0 -2 -5 -8 -11 -12 -11 -8 -7 -6 -5 -5 -6 -7 -8 -9 -9 -9 -8 -6 -5 -4 -3 -1 1 1 2 2 2 3 3 4 4 4 3 2 1 -0 -1 -3 -5 -7 -9 -11 -13 -11 -6 -0 4 5 5 4 2 -2 -6 -9 -11 -12 -10 1 10 13 11 8 6 6 7 7 4 -5 -13 -19 -21 -17 -10 -9 -10 -11 -10 -8 -8 -9 -8 -8 -8 -8 -8 -7 -6 -6 -6 -7 -8 -8 -7 -6 -6 -7 -8 -11 -14 -14 -11 -6 -3 -3 -5 -5 -2 -1 -3 -5 -5 -0 7 13 16 17 12 4 -1 -2 -0 4 4 1 -2 -4 -5 -5 -5 -5 -5 -7 -8 -7 -5 -2 -0 -1 -4 -8 -10 -7 1 6 7 6 1 -6 -10 -9 -3 6 6 1 -0 3 6 3 -0 -1 1 5 5 2 -1 -0 9 20 30 34 31 19 6 -2 -5 -7 -8 -10 -12 -9 -3 3 -2 -7 -11 -13 -13 -14 -12 -7 -2 -2 -5 -8 -11 -12 -14 -14 -12 -8 -3 -0 -2 -4 -7 -9 -10 -10 -9 -10 -12 -10 -3 2 2 -1 -6 -9 -10 -8 -4 -0 2 -0 -3 -6 -9 -10 -10 -10 -10 -10 -10 -9 -10 -10 -10 -9 -9 -9 -11 -11 -10 -10 -10 -10 -9 -10 -10 -12 -15 -16 -17 -17 -16 -16 -15 -14 -11 -11 -14 -17 -17 -13 -8 -5 -7 -10 -11 -12 -13 -11 -10 -7 -3 -2 -5 -9 -11 -10 -7 -4 -5 -6 -4 -0 5 5 -0 -4 -7 -6 1 1 -2 -7 -9 -8 -6 -7 -10 -14 -14 -15 -17 -19 -18 -18 -17 -13 -8 -7 -11 -15 -17 -18 -18 -16 -12 -9 -9 -13 -17 -20 -21 -20 -20 -19 -19 -19 -19 -18 -16 -18 -21 -24 -25 -24 -22 -20 -17 -13 -11 -11 -11 -13 -13 -9 -5 -3 -4 -12 -15 -11 -3 7 18 25 26 25 22 18 5 -10 -20 -20 -16 -8 -4 -3 -4 -5 -8 -10 -11 -9 -2 4 9 13 16 21 26 24 14 -2 -2 -3 -3 -3 -4 -6 -6 -6 -7 -8 -9 -9 -11 -12 -12 -12 -13 -13 -12 -8 -3 2 2 1 -2 -7 -12 -14 -15 -15 -12 -9 -7 -6 -5 -5 -6 -7 -7 -7 -8 -9 -10 -9 -7 -5 -4 -2 -0 2 2 2 2 2 3 5 5 5 5 5 5 4 2 -1 -3 -6 -9 -11 -13 -13 -11 -6 1 4 6 6 4 1 -1 -4 -8 -11 -12 -9 -1 8 13 10 7 6 6 6 5 -0 -8 -16 -22 -21 -12 -7 -7 -9 -10 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -5 -4 -5 -8 -8 -7 -6 -6 -8 -10 -12 -14 -13 -10 -4 -2 -3 -5 -6 -4 -4 -6 -6 -4 2 6 9 12 14 8 2 -1 -0 4 6 4 1 -1 -2 -3 -3 -4 -5 -8 -9 -9 -7 -2 1 3 1 -3 -8 -8 -2 4 9 10 8 2 -4 -9 -8 2 8 5 1 -1 2 2 2 1 -0 1 6 7 4 -1 -2 8 22 34 38 30 17 6 -1 -5 -6 -9 -13 -14 -11 -1 2 -2 -7 -11 -15 -15 -15 -11 -5 -2 -4 -7 -10 -12 -14 -14 -13 -11 -7 -1 -0 -1 -5 -8 -11 -11 -10 -11 -12 -15 -12 -8 -4 -4 -6 -8 -10 -10 -8 -6 -3 -3 -4 -6 -8 -10 -12 -11 -10 -10 -9 -9 -9 -10 -10 -9 -9 -11 -13 -14 -14 -14 -14 -14 -13 -13 -12 -13 -16 -17 -17 -17 -17 -16 -16 -16 -13 -11 -10 -13 -14 -13 -10 -6 -5 -8 -10 -12 -13 -12 -12 -10 -7 -4 -4 -6 -8 -9 -10 -7 -5 -6 -6 -4 1 5 4 -0 -6 -11 -7 -4 -4 -7 -11 -11 -9 -9 -12 -15 -16 -17 -18 -19 -18 -16 -16 -15 -13 -10 -11 -13 -16 -17 -17 -14 -12 -11 -12 -16 -18 -19 -19 -20 -20 -20 -19 -19 -20 -18 -16 -17 -19 -21 -24 -25 -24 -22 -21 -18 -15 -14 -14 -15 -13 -10 -6 -3 -2 -5 -11 -13 -9 -1 9 18 21 21 20 20 12 -2 -15 -22 -23 -16 -9 -4 -2 -2 -2 -5 -8 -10 -6 -0 7 12 16 19 18 17 14 -3 -3 -4 -4 -4 -5 -5 -5 -5 -6 -8 -10 -12 -14 -14 -14 -13 -12 -11 -8 -4 -1 2 2 -1 -5 -10 -13 -13 -15 -14 -12 -8 -6 -4 -3 -3 -4 -4 -5 -6 -6 -6 -5 -6 -6 -6 -6 -4 -2 -0 1 1 1 2 3 4 4 3 4 4 4 4 3 2 -0 -4 -7 -8 -10 -11 -11 -9 -4 1 4 5 4 3 1 -2 -5 -8 -11 -12 -9 -3 5 9 9 8 7 6 5 3 -3 -11 -19 -21 -15 -8 -5 -7 -10 -10 -9 -7 -6 -7 -7 -7 -6 -6 -7 -6 -4 -3 -3 -5 -7 -7 -6 -5 -6 -8 -11 -12 -13 -13 -9 -4 -2 -2 -5 -7 -7 -8 -7 -4 -0 2 3 6 10 8 4 -0 -1 2 5 6 5 3 1 1 -0 -2 -4 -7 -10 -11 -9 -5 -0 4 5 2 -3 -7 -5 1 7 11 12 8 2 -5 -9 -4 6 7 3 -1 -3 -3 -1 1 2 -2 -0 4 8 8 2 1 10 24 36 36 26 14 4 -3 -5 -7 -11 -16 -17 -10 -0 1 -3 -9 -16 -17 -17 -14 -8 -3 -3 -5 -8 -11 -14 -14 -14 -13 -10 -7 -1 -0 -2 -7 -11 -11 -11 -11 -12 -15 -15 -14 -12 -10 -9 -10 -11 -12 -12 -11 -10 -10 -10 -10 -9 -12 -15 -16 -13 -12 -11 -11 -12 -12 -13 -12 -12 -14 -17 -17 -18 -17 -17 -16 -14 -13 -13 -14 -16 -17 -17 -18 -17 -16 -16 -16 -15 -12 -9 -9 -10 -10 -10 -10 -8 -8 -11 -13 -14 -13 -13 -12 -10 -6 -5 -6 -8 -11 -13 -12 -9 -7 -6 -5 -4 1 4 3 -2 -10 -11 -9 -9 -11 -15 -16 -14 -13 -14 -16 -18 -18 -18 -18 -18 -16 -15 -15 -16 -14 -12 -12 -14 -16 -17 -16 -15 -15 -14 -16 -17 -18 -19 -20 -20 -21 -21 -21 -21 -20 -18 -18 -19 -21 -23 -26 -27 -26 -25 -23 -20 -18 -17 -17 -15 -12 -9 -6 -3 -4 -7 -10 -11 -8 1 10 15 17 15 18 16 6 -8 -18 -24 -22 -16 -9 -4 -1 1 1 -3 -8 -6 -2 4 9 15 17 15 11 8 -4 -4 -5 -5 -5 -4 -3 -3 -3 -4 -7 -11 -16 -20 -19 -17 -14 -11 -7 -4 -2 -1 -2 -3 -3 -5 -8 -12 -13 -11 -8 -6 -3 -1 -0 -0 -0 -1 -3 -4 -5 -6 -5 -5 -4 -5 -6 -6 -5 -4 -2 -1 1 1 2 2 3 3 1 1 1 2 2 3 3 2 -1 -3 -6 -7 -8 -9 -9 -7 -3 -0 3 4 3 2 -1 -3 -5 -7 -10 -10 -9 -4 3 7 9 8 7 6 5 1 -6 -15 -19 -16 -11 -6 -6 -9 -11 -10 -8 -5 -6 -7 -7 -6 -6 -6 -6 -5 -3 -2 -3 -5 -7 -6 -5 -4 -6 -9 -11 -12 -14 -13 -9 -4 -1 -3 -6 -9 -10 -9 -6 -1 1 2 3 7 8 6 2 -1 -2 -0 4 7 7 7 6 4 2 -2 -5 -9 -11 -11 -9 -5 -0 4 5 2 -4 -5 -2 3 8 11 11 7 1 -5 -7 -0 4 4 1 -4 -9 -8 -4 2 -0 -4 -3 2 9 10 5 4 8 18 28 28 21 12 3 -1 -3 -8 -14 -19 -17 -7 -1 -1 -6 -15 -19 -18 -16 -11 -5 -3 -4 -7 -11 -13 -14 -14 -13 -11 -10 -5 -1 -0 -5 -12 -12 -12 -12 -11 -14 -15 -14 -13 -12 -10 -12 -14 -15 -16 -15 -15 -15 -15 -14 -14 -16 -19 -20 -19 -18 -17 -16 -16 -17 -18 -18 -18 -17 -18 -19 -19 -19 -18 -17 -15 -13 -13 -14 -16 -17 -18 -18 -18 -18 -16 -16 -16 -15 -13 -9 -9 -11 -12 -14 -13 -11 -13 -15 -15 -14 -14 -13 -12 -8 -5 -7 -9 -12 -14 -14 -12 -11 -9 -7 -6 -4 -1 2 1 -5 -10 -12 -13 -14 -17 -18 -17 -16 -17 -16 -17 -16 -16 -16 -17 -17 -17 -16 -16 -15 -12 -11 -12 -13 -16 -17 -17 -17 -15 -16 -17 -18 -19 -19 -20 -21 -21 -21 -21 -21 -21 -21 -22 -23 -24 -27 -28 -28 -27 -26 -24 -22 -20 -20 -18 -16 -13 -10 -7 -5 -6 -8 -11 -12 -7 -0 6 10 11 16 17 11 -1 -12 -19 -21 -19 -14 -9 -4 -0 2 2 -2 -3 -1 2 7 13 16 14 10 4 -4 -5 -5 -4 -4 -3 -2 -2 -3 -5 -8 -12 -17 -21 -19 -14 -8 -3 -0 -0 -1 -4 -8 -10 -9 -8 -8 -9 -8 -6 -4 -3 -2 -1 -1 -1 -1 -2 -5 -7 -8 -7 -7 -7 -6 -5 -5 -6 -6 -5 -3 -2 -0 1 1 1 1 1 -0 -1 -1 -0 1 2 2 2 1 -1 -3 -4 -5 -7 -7 -8 -6 -4 -0 2 2 2 -0 -2 -3 -4 -6 -8 -9 -9 -4 1 4 7 8 7 5 2 -3 -9 -15 -15 -12 -9 -6 -7 -10 -11 -9 -5 -5 -6 -7 -6 -6 -5 -5 -5 -4 -2 -1 -3 -5 -6 -5 -4 -5 -6 -8 -10 -14 -15 -13 -9 -3 -1 -4 -8 -11 -12 -9 -3 1 2 3 7 9 9 6 2 -2 -5 -4 -0 6 9 11 11 9 4 -2 -7 -10 -11 -10 -9 -5 -0 4 5 1 -3 -4 -2 2 6 9 9 6 1 -4 -3 -0 2 1 -3 -12 -16 -12 -3 3 -2 -7 -6 1 9 11 8 6 9 20 29 30 26 17 8 2 -4 -11 -18 -18 -13 -7 -3 -3 -10 -17 -18 -16 -13 -9 -5 -4 -5 -9 -13 -15 -14 -12 -11 -11 -9 -4 -1 -1 -8 -13 -15 -13 -10 -13 -14 -14 -14 -14 -12 -12 -14 -16 -18 -16 -15 -15 -15 -15 -16 -19 -21 -22 -23 -22 -20 -18 -18 -18 -19 -19 -19 -19 -18 -19 -19 -19 -18 -18 -17 -15 -13 -14 -16 -18 -19 -19 -19 -18 -16 -16 -16 -16 -15 -11 -11 -13 -14 -14 -14 -14 -16 -17 -17 -15 -14 -14 -14 -10 -6 -6 -9 -12 -14 -14 -14 -13 -12 -11 -9 -8 -6 -3 -0 -2 -8 -12 -13 -15 -16 -18 -18 -18 -18 -16 -15 -14 -13 -13 -15 -16 -17 -18 -18 -15 -12 -11 -11 -12 -15 -18 -19 -18 -16 -16 -17 -18 -19 -19 -19 -19 -20 -20 -19 -20 -22 -24 -25 -26 -27 -27 -28 -29 -28 -26 -25 -24 -22 -21 -19 -19 -18 -16 -12 -8 -6 -8 -11 -12 -10 -6 -1 3 8 13 16 13 3 -6 -12 -16 -18 -16 -11 -8 -4 -1 1 1 1 1 3 6 11 16 16 10 2 -4 -5 -4 -3 -3 -2 -2 -3 -5 -6 -7 -10 -13 -15 -12 -8 -4 -3 -4 -6 -6 -7 -9 -11 -10 -9 -8 -8 -7 -6 -5 -4 -3 -3 -3 -3 -3 -3 -4 -7 -8 -9 -9 -9 -7 -5 -4 -5 -5 -4 -3 -2 -1 -0 1 -0 -0 -0 -0 -1 -1 -1 -0 1 1 1 1 -0 -2 -3 -4 -4 -5 -6 -7 -6 -4 -1 1 1 -0 -1 -2 -2 -2 -4 -7 -8 -7 -5 -2 2 5 6 5 3 -0 -5 -10 -13 -13 -11 -8 -5 -8 -10 -10 -7 -4 -4 -6 -6 -6 -5 -6 -6 -5 -3 -0 -1 -3 -5 -5 -4 -3 -3 -5 -8 -12 -16 -17 -14 -9 -2 -1 -5 -10 -14 -13 -4 2 4 4 7 11 12 10 6 1 -5 -9 -7 -3 3 9 14 16 13 6 -2 -8 -11 -10 -9 -8 -6 -2 3 5 1 -3 -4 -4 -1 4 8 9 7 2 -2 -2 -2 -1 -3 -10 -18 -19 -11 2 3 -3 -9 -9 -0 9 12 10 6 10 22 30 31 25 16 8 2 -5 -12 -16 -15 -12 -8 -5 -6 -12 -15 -15 -13 -11 -8 -5 -5 -7 -11 -14 -14 -12 -11 -11 -11 -8 -4 -0 -3 -10 -14 -14 -10 -12 -14 -15 -14 -14 -14 -13 -14 -17 -20 -20 -18 -16 -15 -14 -15 -17 -19 -21 -24 -23 -20 -18 -18 -18 -19 -19 -19 -20 -19 -19 -18 -18 -18 -18 -17 -16 -15 -14 -15 -17 -19 -18 -17 -18 -14 -13 -14 -16 -16 -15 -14 -14 -15 -15 -14 -15 -17 -18 -18 -15 -14 -14 -15 -13 -7 -6 -8 -12 -14 -15 -15 -14 -14 -13 -12 -11 -10 -8 -9 -8 -10 -11 -12 -15 -16 -18 -18 -17 -16 -15 -14 -13 -13 -13 -14 -15 -16 -19 -20 -17 -13 -11 -12 -13 -15 -18 -20 -19 -17 -15 -16 -18 -20 -20 -20 -20 -20 -19 -19 -20 -22 -25 -27 -28 -28 -27 -27 -28 -29 -27 -27 -26 -24 -22 -22 -23 -23 -21 -17 -12 -9 -8 -10 -13 -12 -9 -6 -3 3 10 15 14 5 -2 -7 -10 -13 -14 -12 -10 -7 -4 -3 -1 -0 2 4 5 9 15 16 12 2 -5 -5 -3 -2 -2 -1 -1 -3 -5 -5 -5 -6 -9 -11 -10 -9 -7 -6 -7 -9 -9 -8 -8 -9 -9 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -4 -3 -3 -3 -3 -4 -6 -8 -8 -6 -4 -3 -3 -4 -3 -3 -2 -2 -1 -0 -0 -1 -1 -0 -0 -1 -1 -0 1 1 1 -0 -1 -2 -2 -3 -4 -4 -4 -6 -6 -6 -4 -1 -0 -0 -0 -1 -2 -1 -1 -3 -5 -6 -6 -6 -4 -1 3 4 4 2 -2 -7 -10 -12 -11 -9 -5 -6 -8 -10 -8 -4 -3 -4 -6 -6 -6 -7 -7 -5 -3 -0 -0 -1 -2 -4 -4 -3 -2 -2 -5 -10 -15 -18 -18 -14 -6 -0 -1 -6 -14 -16 -7 3 8 8 7 11 13 13 11 6 -1 -8 -11 -9 -5 -0 7 14 19 16 7 -2 -8 -10 -7 -6 -6 -6 -4 1 3 1 -2 -5 -5 -2 3 9 12 9 4 -0 -3 -6 -5 -7 -14 -21 -21 -5 5 4 -3 -12 -10 -0 10 14 9 4 9 20 29 31 24 16 8 1 -6 -13 -14 -14 -13 -12 -7 -7 -10 -13 -14 -13 -11 -8 -6 -6 -10 -12 -12 -11 -11 -11 -12 -11 -10 -6 -3 -8 -12 -13 -12 -11 -14 -15 -14 -14 -14 -14 -15 -17 -19 -20 -19 -18 -17 -15 -15 -14 -15 -18 -24 -24 -21 -18 -17 -18 -20 -20 -20 -19 -18 -20 -19 -18 -18 -18 -17 -17 -16 -14 -14 -13 -17 -17 -15 -15 -12 -11 -12 -16 -17 -17 -16 -16 -15 -15 -15 -16 -17 -18 -17 -15 -15 -15 -16 -16 -10 -6 -6 -10 -14 -15 -15 -14 -14 -13 -13 -13 -12 -11 -10 -10 -10 -11 -11 -14 -17 -17 -16 -14 -14 -15 -14 -13 -13 -14 -15 -15 -16 -18 -19 -17 -13 -11 -12 -13 -16 -18 -20 -18 -18 -16 -16 -18 -19 -21 -21 -20 -20 -21 -20 -21 -23 -25 -27 -28 -27 -27 -26 -27 -28 -27 -25 -25 -26 -25 -26 -27 -27 -25 -22 -17 -12 -8 -9 -12 -12 -11 -10 -7 -2 4 11 14 9 -0 -5 -7 -9 -12 -11 -10 -8 -5 -4 -3 -1 1 3 5 9 14 16 13 4 -4 -3 -2 -1 -1 -1 -1 -1 -3 -4 -4 -5 -8 -10 -11 -11 -10 -9 -9 -9 -8 -7 -6 -7 -7 -6 -6 -6 -5 -6 -6 -6 -7 -7 -7 -6 -4 -4 -2 -2 -1 -2 -4 -5 -5 -3 -2 -2 -2 -2 -2 -2 -1 -2 -1 -2 -2 -3 -2 -1 -1 -1 -0 2 3 2 1 -0 -1 -2 -3 -4 -4 -4 -4 -5 -6 -5 -4 -2 -0 -0 -1 -1 -1 -1 -1 -3 -4 -5 -6 -7 -6 -3 -0 2 2 -0 -5 -8 -10 -10 -9 -5 -4 -5 -8 -8 -6 -4 -3 -3 -5 -6 -8 -7 -5 -1 2 2 1 -0 -3 -4 -4 -2 -1 -3 -9 -14 -17 -18 -16 -10 -1 1 -2 -10 -17 -11 1 11 13 10 11 13 14 14 11 5 -3 -8 -11 -10 -7 -2 5 15 21 17 7 -3 -8 -5 -3 -4 -7 -9 -6 -0 2 2 -1 -4 -5 -3 4 12 15 11 4 -3 -9 -10 -7 -10 -19 -27 -17 -1 7 6 -4 -13 -9 2 12 14 5 -0 6 17 28 28 22 14 7 -1 -9 -12 -14 -15 -15 -13 -9 -7 -9 -12 -14 -13 -10 -7 -5 -8 -10 -11 -11 -11 -11 -12 -13 -13 -13 -10 -10 -11 -12 -12 -11 -13 -15 -15 -15 -15 -15 -16 -16 -16 -17 -17 -18 -19 -16 -14 -12 -13 -17 -24 -27 -24 -19 -15 -17 -21 -22 -21 -19 -17 -20 -19 -18 -18 -18 -17 -17 -16 -16 -15 -13 -14 -14 -13 -13 -13 -13 -13 -16 -17 -17 -17 -17 -16 -15 -16 -17 -17 -18 -17 -16 -16 -16 -16 -17 -14 -8 -5 -8 -12 -14 -15 -14 -13 -12 -13 -13 -13 -13 -11 -11 -11 -11 -12 -13 -14 -14 -13 -13 -14 -16 -16 -15 -14 -15 -16 -17 -17 -17 -16 -14 -12 -11 -12 -13 -16 -18 -17 -15 -19 -19 -18 -17 -18 -21 -22 -21 -21 -22 -21 -22 -23 -24 -27 -27 -27 -26 -26 -25 -26 -24 -22 -21 -26 -27 -28 -29 -31 -29 -24 -20 -15 -10 -7 -10 -12 -13 -14 -11 -7 -2 5 10 8 2 -3 -6 -7 -9 -10 -10 -8 -5 -3 -2 -0 2 3 4 6 11 14 14 7 -4 -3 -2 -1 -0 -0 -0 -0 -2 -3 -4 -6 -8 -10 -12 -12 -11 -9 -7 -6 -5 -5 -5 -6 -6 -5 -5 -4 -5 -5 -6 -7 -7 -8 -8 -7 -6 -4 -4 -4 -3 -3 -4 -5 -4 -3 -2 -1 -0 -1 -1 -1 -1 -2 -2 -4 -5 -5 -5 -4 -3 -2 -0 2 4 4 3 1 -0 -1 -3 -3 -3 -3 -3 -5 -6 -7 -7 -4 -1 -0 -0 -1 -1 -1 -1 -1 -2 -3 -5 -7 -8 -6 -5 -3 -1 -0 -3 -7 -10 -10 -8 -4 -2 -2 -5 -8 -7 -4 -2 -0 -0 -3 -7 -8 -6 -1 5 5 3 1 -1 -3 -4 -3 -2 -3 -8 -13 -15 -16 -16 -10 -4 1 1 -5 -15 -17 -8 6 16 15 12 11 11 13 14 10 3 -3 -8 -9 -9 -8 -5 2 15 20 16 7 -2 -3 -1 -1 -4 -9 -10 -5 -1 2 2 -1 -5 -5 -3 4 14 16 12 3 -7 -12 -9 -8 -13 -25 -28 -15 1 11 8 -5 -11 -6 5 15 10 1 -3 2 16 24 24 20 13 5 -4 -9 -12 -14 -16 -15 -12 -9 -8 -10 -12 -13 -11 -7 -5 -7 -8 -9 -10 -11 -11 -12 -13 -14 -14 -13 -13 -12 -11 -11 -11 -12 -14 -16 -16 -16 -16 -16 -16 -14 -13 -14 -16 -17 -17 -16 -16 -17 -19 -23 -27 -28 -24 -18 -16 -21 -23 -22 -20 -17 -20 -20 -19 -18 -18 -17 -17 -17 -17 -18 -17 -15 -13 -13 -11 -14 -16 -17 -17 -17 -18 -18 -18 -17 -16 -17 -17 -17 -17 -16 -16 -17 -17 -17 -16 -15 -11 -5 -2 -7 -11 -12 -12 -11 -10 -12 -13 -14 -14 -12 -12 -12 -12 -12 -11 -12 -12 -13 -13 -16 -18 -19 -18 -16 -16 -16 -18 -18 -16 -14 -12 -11 -11 -12 -13 -15 -15 -12 -14 -18 -20 -18 -16 -17 -21 -23 -23 -22 -21 -20 -21 -23 -24 -26 -27 -27 -26 -26 -25 -24 -21 -17 -18 -24 -27 -29 -31 -34 -33 -28 -23 -18 -13 -9 -8 -11 -15 -16 -14 -12 -8 -1 6 6 1 -3 -5 -6 -8 -10 -10 -8 -4 -1 -0 1 4 6 4 3 6 10 11 8 -4 -3 -2 -1 -0 -0 -0 -1 -2 -4 -5 -7 -7 -8 -9 -8 -7 -5 -3 -2 -3 -4 -5 -6 -5 -4 -3 -3 -4 -5 -5 -6 -6 -6 -7 -7 -6 -5 -5 -7 -6 -4 -3 -5 -5 -3 -1 -0 1 1 1 1 1 -1 -3 -4 -5 -6 -5 -5 -4 -2 -0 3 4 5 5 4 2 1 -1 -2 -2 -2 -3 -4 -7 -9 -10 -8 -3 -0 2 1 -0 -0 -0 -1 -2 -1 -2 -4 -6 -7 -7 -6 -4 -4 -4 -7 -10 -11 -9 -4 -0 1 -0 -2 -3 -3 -2 -1 1 1 -3 -7 -8 -2 7 9 7 3 -1 -2 -3 -4 -3 -3 -6 -11 -14 -15 -14 -10 -5 -0 2 -0 -11 -20 -19 -8 9 17 16 12 8 9 13 12 8 2 -4 -6 -6 -7 -8 -9 -0 12 18 15 7 1 1 2 -0 -6 -9 -8 -4 -0 2 1 -2 -4 -5 -2 7 14 16 10 -1 -9 -10 -9 -11 -19 -26 -25 -14 2 13 7 -3 -7 -1 11 13 6 -1 -5 1 14 21 22 19 11 2 -4 -8 -11 -14 -14 -13 -11 -10 -10 -12 -11 -9 -7 -8 -8 -8 -8 -9 -11 -11 -12 -13 -14 -15 -15 -14 -12 -10 -10 -10 -10 -12 -15 -16 -16 -17 -17 -17 -15 -14 -14 -15 -16 -17 -17 -16 -17 -19 -22 -25 -27 -26 -23 -21 -23 -23 -22 -22 -21 -21 -21 -20 -19 -18 -18 -17 -17 -17 -18 -18 -15 -13 -13 -12 -13 -15 -17 -17 -17 -19 -19 -18 -18 -18 -18 -18 -17 -16 -16 -16 -17 -18 -17 -16 -16 -14 -10 -1 -2 -7 -11 -12 -11 -10 -10 -12 -13 -13 -13 -12 -12 -12 -12 -11 -11 -11 -12 -14 -18 -20 -21 -21 -19 -17 -17 -18 -18 -15 -13 -11 -11 -12 -12 -13 -14 -14 -12 -13 -17 -19 -18 -16 -18 -20 -23 -24 -23 -21 -19 -20 -22 -24 -25 -26 -27 -27 -26 -25 -24 -20 -16 -16 -23 -27 -30 -32 -36 -35 -31 -26 -21 -15 -12 -10 -12 -15 -18 -17 -16 -13 -7 1 3 -0 -4 -6 -5 -7 -9 -11 -10 -4 -0 1 2 5 9 6 3 2 5 8 7 -4 -4 -3 -1 -1 -1 -2 -3 -4 -5 -7 -7 -6 -5 -4 -2 -2 -2 -3 -4 -5 -6 -6 -5 -5 -4 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -6 -9 -12 -11 -8 -6 -6 -7 -7 -5 -2 1 2 1 2 3 3 1 -1 -3 -4 -5 -6 -6 -5 -3 -1 1 3 5 6 5 3 2 -0 -1 -1 -2 -2 -4 -7 -10 -12 -11 -6 -2 2 2 1 -0 -1 -1 -2 -1 -1 -1 -3 -5 -7 -8 -7 -6 -6 -7 -10 -12 -11 -6 -0 3 5 4 2 1 -0 -1 -0 3 1 -3 -7 -5 3 11 12 8 1 -2 -3 -3 -3 -4 -5 -7 -11 -13 -14 -11 -6 -3 -0 1 -5 -15 -20 -18 -7 10 18 17 12 6 7 10 10 6 -0 -4 -3 -3 -4 -10 -12 -3 8 16 14 7 4 3 2 -2 -6 -8 -7 -4 -1 -0 -1 -2 -3 -4 -0 7 12 13 6 -3 -8 -9 -11 -16 -24 -26 -23 -14 4 8 4 -1 -2 3 9 10 5 -1 -3 4 13 20 22 17 9 3 -2 -7 -10 -11 -12 -13 -13 -13 -12 -10 -7 -6 -8 -8 -8 -8 -8 -9 -10 -12 -14 -15 -15 -15 -15 -13 -10 -9 -9 -9 -10 -15 -15 -16 -17 -18 -18 -16 -17 -16 -15 -16 -18 -18 -18 -18 -19 -20 -23 -24 -24 -21 -21 -22 -21 -21 -25 -24 -23 -23 -22 -21 -19 -19 -18 -18 -18 -18 -16 -15 -13 -14 -15 -16 -16 -17 -17 -18 -19 -20 -19 -19 -19 -19 -19 -18 -17 -17 -17 -17 -18 -17 -16 -15 -15 -14 -7 -1 -2 -7 -11 -11 -8 -9 -10 -12 -12 -13 -12 -12 -12 -11 -11 -11 -11 -13 -16 -18 -18 -19 -22 -21 -20 -19 -18 -16 -14 -11 -10 -11 -12 -12 -13 -15 -15 -14 -15 -18 -19 -18 -17 -18 -21 -23 -25 -22 -20 -19 -18 -18 -20 -23 -24 -25 -26 -27 -25 -24 -21 -19 -18 -22 -26 -30 -32 -35 -36 -35 -31 -25 -18 -14 -12 -12 -15 -19 -19 -18 -17 -13 -5 -1 -2 -5 -7 -6 -6 -7 -9 -8 -4 -0 1 1 3 10 10 6 1 -0 5 6 -5 -5 -4 -4 -3 -4 -4 -5 -7 -8 -8 -6 -3 -0 1 1 -1 -4 -6 -6 -6 -4 -2 -2 -3 -3 -4 -4 -5 -5 -5 -4 -4 -4 -5 -8 -11 -12 -11 -8 -7 -6 -6 -8 -7 -5 -3 -0 2 2 2 3 3 1 -0 -2 -3 -4 -4 -4 -4 -2 -0 -0 2 4 5 5 4 4 3 2 1 -0 -2 -4 -7 -10 -12 -12 -9 -4 1 2 1 -0 -0 -1 -2 -1 -0 1 -0 -2 -5 -7 -8 -9 -8 -8 -10 -13 -13 -10 -4 2 6 7 5 3 1 -1 -1 2 4 1 -4 -7 -2 8 13 12 6 -0 -3 -3 -3 -4 -4 -4 -6 -9 -12 -10 -7 -5 -3 -2 -4 -10 -16 -17 -14 -3 11 18 17 10 6 6 8 7 4 -2 -3 -1 1 -3 -12 -14 -7 6 15 11 8 5 4 1 -3 -6 -6 -5 -4 -2 -2 -2 -2 -2 -3 -0 5 9 8 2 -3 -8 -11 -15 -22 -25 -24 -19 -11 2 5 3 -0 -0 4 7 7 4 -1 -0 5 12 19 21 16 10 4 -2 -5 -8 -11 -13 -14 -14 -12 -9 -6 -5 -7 -9 -9 -9 -8 -8 -9 -12 -14 -16 -16 -15 -15 -14 -13 -11 -11 -10 -11 -14 -15 -16 -17 -18 -17 -16 -17 -17 -17 -16 -17 -18 -19 -20 -20 -20 -20 -21 -21 -21 -21 -22 -22 -23 -26 -27 -27 -25 -24 -24 -22 -20 -20 -19 -20 -19 -17 -16 -16 -16 -18 -18 -17 -17 -18 -18 -19 -19 -19 -19 -19 -19 -19 -20 -19 -19 -19 -19 -18 -17 -16 -16 -15 -15 -14 -6 -2 -3 -8 -10 -8 -8 -9 -11 -11 -12 -13 -13 -12 -11 -11 -12 -13 -14 -16 -17 -17 -18 -21 -22 -22 -21 -19 -16 -12 -10 -10 -11 -11 -12 -14 -15 -16 -15 -16 -17 -17 -18 -17 -19 -22 -24 -23 -22 -21 -19 -17 -16 -15 -19 -20 -22 -24 -28 -27 -25 -24 -22 -22 -24 -26 -29 -30 -32 -36 -38 -36 -30 -21 -16 -13 -12 -13 -17 -19 -21 -20 -19 -12 -6 -3 -5 -8 -6 -5 -5 -7 -6 -3 -0 -0 1 1 9 14 12 5 -2 1 3 -6 -6 -7 -7 -6 -6 -6 -6 -6 -6 -4 -2 -0 -0 -0 -1 -3 -5 -6 -5 -4 -2 -2 -3 -4 -5 -5 -6 -7 -8 -8 -7 -6 -5 -4 -4 -5 -6 -5 -3 -2 -2 -3 -5 -5 -3 -1 -0 2 3 3 3 2 1 -1 -2 -3 -4 -4 -4 -3 -1 1 1 1 2 3 4 4 5 5 4 3 1 -1 -4 -6 -8 -11 -12 -10 -7 -2 1 1 -0 -0 -0 -1 -1 -0 2 3 2 -1 -4 -7 -10 -10 -9 -10 -12 -14 -13 -9 -4 1 6 6 4 2 -0 -2 -1 3 4 1 -5 -5 3 11 15 12 4 -0 -3 -4 -4 -5 -4 -4 -6 -9 -8 -6 -5 -5 -5 -6 -9 -12 -13 -15 -10 2 13 19 16 10 6 5 6 6 1 -2 -1 2 4 -4 -12 -13 -6 7 11 10 7 5 3 -0 -3 -4 -4 -3 -3 -3 -3 -2 -0 -1 -2 -1 1 4 3 -0 -4 -9 -14 -21 -25 -23 -17 -21 -7 2 5 3 -0 1 4 7 6 2 -0 -0 3 8 15 17 15 11 5 -0 -5 -10 -13 -14 -13 -12 -9 -5 -5 -7 -9 -10 -10 -9 -8 -9 -11 -14 -16 -16 -15 -14 -14 -14 -14 -14 -14 -13 -15 -17 -17 -17 -17 -17 -17 -17 -17 -17 -16 -15 -15 -18 -20 -20 -19 -17 -17 -19 -21 -21 -22 -23 -26 -27 -28 -28 -26 -25 -25 -24 -23 -21 -20 -21 -20 -19 -20 -20 -20 -19 -19 -18 -18 -18 -18 -19 -19 -19 -19 -18 -19 -20 -21 -21 -21 -20 -19 -19 -17 -17 -16 -16 -15 -16 -12 -6 -2 -4 -8 -9 -9 -9 -9 -10 -11 -12 -13 -13 -11 -11 -12 -14 -15 -15 -17 -19 -20 -21 -22 -22 -22 -20 -16 -12 -10 -10 -11 -11 -12 -13 -15 -16 -14 -14 -15 -15 -15 -16 -18 -21 -22 -21 -22 -23 -20 -17 -16 -12 -14 -17 -19 -21 -26 -27 -26 -25 -24 -24 -25 -25 -25 -27 -29 -34 -38 -39 -36 -26 -18 -13 -11 -11 -14 -18 -21 -24 -26 -21 -13 -7 -5 -7 -6 -4 -4 -5 -4 -2 -0 1 1 1 6 13 17 14 2 -2 -2 -6 -7 -7 -7 -7 -6 -6 -5 -5 -3 -2 -1 -1 -2 -2 -3 -3 -4 -3 -3 -2 -2 -4 -6 -8 -8 -7 -6 -7 -8 -6 -5 -3 -2 -1 -1 -0 -1 -2 -2 -1 -1 -2 -2 -2 -1 -0 1 3 4 4 3 2 1 -0 -2 -3 -4 -5 -6 -4 -1 1 1 1 1 2 3 5 5 6 6 6 4 -0 -3 -5 -7 -9 -11 -11 -9 -6 -1 -0 -0 -1 -1 -2 -2 -1 1 3 4 3 -0 -5 -9 -10 -10 -10 -11 -13 -14 -14 -11 -7 -0 5 5 3 1 -2 -4 -0 4 5 -0 -4 -2 5 12 14 9 4 -0 -3 -4 -6 -7 -6 -6 -7 -6 -4 -3 -4 -5 -9 -11 -12 -11 -12 -12 -5 6 16 20 15 9 5 4 6 3 -2 -4 -2 3 2 -5 -11 -11 -3 6 9 9 8 6 2 -1 -3 -3 -2 -2 -3 -4 -3 -0 1 -0 -2 -3 -3 -0 1 -1 -5 -12 -19 -24 -23 -15 -23 -13 -2 5 4 -0 -0 2 5 6 4 2 -0 -1 -0 5 11 15 16 13 8 -0 -7 -11 -14 -14 -12 -8 -5 -5 -6 -9 -10 -11 -11 -10 -9 -10 -13 -15 -14 -13 -13 -14 -15 -16 -17 -16 -15 -15 -16 -17 -16 -15 -16 -16 -17 -17 -17 -16 -11 -11 -14 -17 -19 -17 -15 -15 -19 -20 -20 -22 -23 -24 -25 -25 -26 -26 -25 -26 -25 -24 -22 -21 -21 -21 -21 -22 -23 -22 -21 -20 -20 -19 -18 -18 -19 -19 -19 -19 -19 -20 -21 -21 -21 -21 -20 -20 -20 -17 -17 -17 -16 -15 -14 -15 -12 -7 -3 -7 -9 -10 -10 -8 -9 -10 -12 -13 -12 -11 -11 -12 -13 -14 -13 -17 -21 -22 -21 -21 -22 -22 -19 -15 -12 -11 -11 -11 -11 -11 -12 -14 -14 -12 -12 -13 -14 -13 -13 -16 -18 -19 -19 -21 -22 -21 -18 -18 -14 -12 -13 -17 -20 -22 -25 -26 -25 -25 -24 -24 -24 -23 -24 -25 -30 -36 -40 -43 -32 -22 -13 -9 -7 -9 -12 -16 -22 -27 -26 -21 -13 -7 -6 -5 -4 -3 -3 -2 -0 2 3 3 2 4 8 15 21 13 3 -3 -5 -5 -5 -6 -6 -6 -6 -6 -5 -4 -3 -2 -2 -3 -3 -4 -4 -4 -3 -2 -2 -3 -6 -11 -13 -13 -10 -8 -7 -7 -4 -2 -2 -2 -3 -2 -1 -0 -2 -3 -4 -5 -5 -2 -0 -0 -0 2 3 4 4 4 3 3 1 -1 -3 -5 -6 -7 -6 -4 -2 -0 1 1 2 4 5 6 7 9 9 7 3 -0 -3 -5 -7 -9 -10 -10 -9 -5 -2 -1 -1 -1 -2 -2 -1 -0 2 3 5 5 1 -4 -8 -8 -9 -11 -13 -14 -15 -14 -12 -8 -0 5 5 3 -1 -5 -4 1 7 7 -0 -3 -1 5 12 12 8 4 -0 -3 -6 -8 -9 -8 -7 -6 -4 -2 -1 -4 -10 -14 -14 -11 -9 -10 -7 -0 9 17 18 13 8 4 4 3 -1 -5 -7 -3 -1 -4 -8 -11 -6 1 6 10 11 10 7 2 -1 -2 -1 1 -1 -3 -5 -4 -1 1 1 -2 -7 -6 -3 -1 -3 -8 -17 -23 -23 -17 -21 -16 -5 4 5 1 -1 1 3 5 5 4 2 -2 -5 -2 3 8 13 16 16 9 -0 -8 -13 -13 -12 -9 -6 -5 -6 -8 -11 -12 -12 -12 -11 -11 -12 -15 -14 -13 -13 -14 -15 -16 -17 -16 -16 -15 -15 -16 -15 -13 -13 -16 -17 -17 -17 -17 -14 -13 -13 -15 -18 -17 -14 -15 -20 -19 -20 -22 -22 -22 -22 -23 -24 -24 -25 -27 -25 -23 -22 -22 -22 -21 -22 -23 -23 -22 -22 -21 -20 -19 -19 -19 -19 -20 -20 -20 -20 -20 -22 -22 -22 -21 -20 -19 -19 -17 -17 -17 -16 -16 -14 -15 -15 -13 -7 -7 -9 -11 -10 -7 -8 -9 -11 -12 -12 -11 -11 -11 -13 -14 -14 -16 -20 -20 -20 -21 -22 -22 -20 -16 -14 -13 -13 -12 -11 -11 -11 -12 -12 -11 -11 -12 -12 -11 -12 -14 -15 -17 -17 -16 -17 -18 -18 -18 -17 -13 -11 -13 -19 -20 -23 -25 -25 -24 -23 -21 -19 -19 -20 -22 -27 -33 -41 -49 -40 -26 -11 -1 3 3 2 -1 -5 -8 -11 -14 -17 -14 -8 -4 -3 -3 -3 -1 2 4 5 5 4 4 6 9 17 21 17 7 -3 -3 -4 -6 -6 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -3 -3 -3 -4 -3 -3 -4 -8 -13 -17 -16 -14 -11 -9 -9 -6 -5 -5 -5 -7 -6 -4 -2 -3 -4 -6 -8 -9 -6 -2 -0 -0 1 3 4 5 5 5 5 4 2 -1 -4 -5 -6 -6 -5 -4 -3 -1 1 2 3 5 6 7 8 9 8 6 3 -1 -3 -6 -7 -9 -10 -9 -8 -5 -3 -1 -1 -2 -2 -1 -0 1 1 4 6 5 -0 -5 -7 -9 -11 -13 -14 -15 -15 -14 -13 -5 4 7 6 1 -4 -6 -3 5 11 7 -0 -3 -2 5 12 12 9 4 -0 -3 -6 -9 -10 -10 -9 -5 -1 1 -1 -8 -15 -16 -13 -8 -7 -7 -3 3 11 16 16 12 7 4 3 -0 -4 -8 -8 -6 -7 -10 -12 -8 -1 4 8 11 12 10 6 1 -2 -1 2 2 -0 -3 -5 -2 1 3 1 -6 -8 -7 -5 -4 -6 -12 -19 -23 -22 -21 -18 -8 3 5 1 -1 -1 1 3 4 5 3 -0 -4 -5 -3 1 5 11 17 17 12 2 -8 -12 -12 -11 -8 -6 -7 -10 -12 -14 -14 -13 -12 -11 -12 -15 -16 -16 -15 -14 -13 -14 -15 -15 -17 -16 -15 -15 -14 -13 -12 -14 -16 -17 -17 -17 -17 -17 -17 -18 -19 -18 -16 -15 -20 -19 -20 -21 -22 -22 -22 -22 -23 -24 -25 -27 -25 -23 -23 -23 -23 -23 -22 -22 -22 -22 -21 -21 -21 -20 -21 -20 -19 -20 -20 -20 -21 -21 -21 -22 -22 -21 -19 -18 -17 -17 -16 -16 -16 -16 -15 -14 -14 -16 -13 -10 -10 -11 -10 -7 -7 -8 -10 -11 -12 -11 -11 -12 -13 -15 -17 -18 -19 -19 -18 -20 -22 -22 -21 -18 -16 -15 -15 -14 -13 -12 -12 -12 -12 -12 -13 -13 -12 -10 -12 -13 -14 -15 -15 -13 -13 -15 -17 -20 -20 -17 -13 -11 -16 -20 -23 -25 -25 -23 -23 -19 -12 -12 -13 -17 -23 -31 -40 -54 -48 -28 -2 12 17 19 18 15 13 11 7 2 -6 -7 -5 -4 -3 -3 -3 -0 3 6 6 6 6 5 5 4 7 13 20 23 -3 -4 -6 -7 -8 -7 -5 -4 -4 -3 -2 -2 -1 -2 -2 -2 -2 -3 -4 -4 -4 -5 -8 -12 -15 -16 -15 -13 -12 -12 -10 -9 -7 -4 -3 -4 -6 -7 -7 -8 -8 -8 -7 -5 -2 -0 -0 1 2 4 6 7 7 6 5 4 2 -1 -3 -4 -5 -4 -4 -4 -2 -1 -0 2 4 6 6 7 7 8 7 5 2 -1 -4 -6 -8 -9 -9 -8 -7 -5 -3 -1 -2 -3 -3 -2 -0 1 2 4 5 3 -2 -5 -7 -9 -10 -13 -13 -14 -14 -15 -10 -1 6 8 5 -1 -6 -5 -0 10 11 5 -1 -5 -3 6 12 13 9 3 2 -0 -4 -8 -11 -12 -9 -4 1 2 -5 -13 -17 -15 -9 -7 -6 -4 -1 4 11 15 14 10 6 4 2 -2 -6 -8 -9 -11 -13 -14 -12 -4 3 7 9 12 12 9 4 -1 -1 2 3 3 1 -3 -3 -0 3 3 -2 -7 -9 -9 -9 -7 -8 -12 -19 -25 -25 -21 -10 2 5 1 -1 -2 -1 -0 1 3 4 2 -1 -3 -4 -4 -3 1 10 16 18 13 4 -5 -10 -11 -10 -6 -7 -9 -12 -14 -14 -14 -13 -12 -13 -14 -17 -17 -16 -14 -13 -13 -13 -14 -16 -17 -16 -16 -15 -13 -12 -13 -15 -17 -17 -17 -17 -18 -18 -19 -19 -20 -20 -19 -20 -19 -19 -20 -22 -22 -22 -22 -23 -24 -26 -26 -25 -24 -24 -25 -24 -24 -23 -22 -22 -22 -22 -22 -22 -22 -22 -21 -20 -20 -20 -20 -20 -20 -19 -20 -21 -21 -20 -19 -17 -17 -16 -15 -15 -15 -15 -14 -14 -14 -14 -13 -12 -12 -11 -9 -7 -7 -9 -11 -11 -11 -12 -13 -15 -16 -18 -19 -20 -20 -19 -19 -21 -22 -22 -21 -19 -17 -16 -16 -15 -14 -14 -14 -14 -14 -14 -12 -10 -9 -10 -12 -13 -13 -14 -12 -12 -13 -17 -21 -22 -19 -16 -11 -13 -18 -23 -25 -26 -23 -23 -17 -4 2 -4 -11 -18 -26 -37 -51 -50 -28 10 22 27 28 28 26 23 20 17 13 6 2 -0 -1 -1 -2 -2 -0 3 7 7 7 6 6 5 3 1 1 5 12 -4 -5 -6 -8 -8 -6 -4 -3 -3 -3 -2 -1 -1 -1 -1 -2 -2 -3 -4 -4 -5 -7 -9 -11 -12 -13 -13 -12 -11 -9 -6 -3 -2 -3 -6 -11 -14 -15 -12 -8 -7 -7 -6 -4 -1 -1 -0 -0 2 3 4 6 7 7 6 5 3 1 -1 -3 -3 -3 -2 -1 -0 -0 1 2 3 5 6 5 5 5 4 5 4 2 -1 -4 -6 -7 -8 -7 -6 -5 -4 -3 -2 -3 -5 -5 -4 -1 2 5 6 5 2 -2 -4 -6 -7 -11 -12 -13 -13 -14 -14 -7 1 7 8 4 -2 -6 -5 4 11 10 4 -4 -7 -1 8 13 11 5 3 4 2 -2 -8 -12 -11 -7 -1 3 -2 -9 -15 -17 -13 -9 -7 -5 -1 -0 5 11 15 14 9 6 3 -0 -4 -7 -10 -12 -15 -17 -17 -9 -0 6 8 10 12 11 7 2 -1 1 4 6 5 1 -2 -1 1 2 -0 -3 -7 -12 -16 -10 -6 -6 -12 -21 -25 -22 -12 -0 6 3 1 -1 -2 -3 -2 -0 3 5 2 -1 -3 -4 -6 -7 -3 5 12 17 15 7 -1 -6 -7 -6 -6 -8 -10 -12 -14 -14 -13 -13 -14 -15 -17 -17 -16 -15 -14 -12 -12 -13 -15 -17 -18 -18 -17 -15 -13 -13 -14 -16 -17 -17 -18 -18 -19 -19 -19 -22 -22 -20 -18 -17 -18 -20 -22 -22 -22 -22 -22 -23 -25 -25 -25 -25 -25 -27 -26 -26 -25 -23 -21 -21 -22 -24 -24 -23 -23 -22 -21 -20 -20 -19 -19 -19 -19 -19 -20 -20 -20 -20 -18 -17 -16 -16 -15 -15 -14 -14 -13 -13 -13 -14 -13 -13 -13 -11 -8 -7 -8 -10 -12 -12 -13 -14 -17 -18 -18 -19 -21 -21 -21 -21 -20 -21 -21 -21 -20 -19 -19 -18 -17 -16 -16 -16 -14 -13 -13 -11 -9 -8 -9 -11 -13 -12 -13 -13 -12 -13 -17 -21 -21 -19 -17 -13 -11 -14 -18 -23 -25 -25 -25 -19 -3 16 10 1 -9 -19 -30 -44 -54 -43 8 24 31 33 34 33 28 24 21 18 13 5 -0 -1 -1 -2 -3 -1 2 6 7 6 5 5 5 3 -0 -3 -3 -1 -4 -5 -6 -7 -7 -5 -3 -3 -3 -3 -2 -2 -1 -1 -1 -2 -3 -4 -5 -7 -8 -9 -10 -10 -10 -10 -9 -7 -6 -5 -5 -5 -5 -6 -8 -11 -13 -14 -11 -9 -7 -6 -4 -3 -2 -2 -2 -2 -1 -1 1 2 3 4 4 4 3 1 -1 -2 -2 -2 -1 -0 1 2 2 3 3 5 4 4 3 3 3 4 5 4 1 -1 -3 -5 -7 -7 -5 -4 -4 -4 -3 -3 -5 -7 -8 -6 -1 5 8 9 7 3 -1 -3 -4 -7 -10 -11 -11 -12 -14 -11 -5 2 7 7 2 -3 -6 -3 6 10 7 -1 -9 -7 1 9 12 6 2 3 4 3 -2 -9 -12 -10 -4 3 2 -5 -12 -16 -15 -13 -11 -8 -4 -2 2 8 14 16 13 9 6 3 -1 -5 -10 -13 -15 -18 -20 -16 -7 4 9 9 10 10 9 5 1 1 3 6 8 5 2 -1 -2 -0 -0 -1 -5 -13 -22 -16 -7 -3 -6 -14 -21 -21 -14 -2 5 4 2 -0 -1 -3 -4 -2 2 6 5 -0 -2 -3 -4 -8 -10 -8 -1 8 16 16 12 7 2 1 -1 -4 -8 -11 -13 -13 -13 -13 -14 -15 -16 -17 -17 -15 -14 -12 -12 -12 -14 -17 -19 -20 -20 -18 -15 -13 -13 -14 -16 -17 -18 -19 -19 -19 -19 -21 -22 -21 -18 -18 -18 -19 -21 -22 -21 -21 -22 -22 -22 -22 -22 -23 -26 -29 -28 -27 -26 -25 -22 -21 -22 -24 -23 -22 -23 -22 -19 -17 -16 -16 -17 -18 -19 -19 -19 -20 -19 -19 -18 -17 -16 -16 -15 -14 -14 -13 -13 -12 -12 -12 -12 -12 -13 -12 -10 -8 -8 -10 -12 -13 -14 -16 -19 -19 -20 -21 -21 -23 -23 -22 -21 -20 -20 -20 -21 -21 -21 -20 -19 -18 -18 -18 -15 -13 -12 -11 -9 -9 -9 -10 -12 -12 -13 -13 -12 -13 -17 -19 -20 -19 -18 -14 -11 -11 -15 -20 -24 -26 -26 -24 -20 18 23 14 -0 -13 -23 -35 -49 -51 -9 19 33 38 39 39 34 29 25 21 15 2 -5 -6 -4 -4 -4 -3 1 5 6 4 3 3 3 2 -0 -2 -4 -3 -4 -5 -6 -6 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -3 -3 -5 -6 -7 -8 -9 -9 -8 -7 -6 -6 -7 -6 -6 -6 -7 -7 -8 -7 -6 -8 -8 -9 -8 -7 -6 -4 -3 -2 -2 -2 -3 -3 -3 -2 -1 -0 -0 1 1 2 1 1 -0 -1 -1 -1 -0 1 2 2 3 4 4 5 4 3 2 2 3 4 4 3 2 1 -0 -2 -5 -6 -5 -4 -2 -2 -3 -3 -4 -7 -10 -12 -8 -0 8 12 11 7 2 -1 -2 -4 -7 -9 -10 -10 -12 -12 -10 -4 2 6 4 -0 -4 -5 -0 6 7 2 -7 -11 -6 3 9 7 -0 -1 1 4 3 -5 -11 -12 -8 2 6 2 -6 -13 -15 -14 -12 -9 -6 -4 -2 4 11 18 18 14 9 5 2 -2 -8 -12 -14 -17 -20 -21 -15 -4 8 9 8 9 9 8 5 3 3 5 8 8 5 1 -2 -2 -0 -0 -3 -12 -24 -22 -13 -5 -3 -8 -16 -19 -14 -4 3 4 2 1 -0 -3 -5 -5 -1 4 7 4 -0 -1 -1 -3 -8 -11 -11 -7 3 12 18 19 17 13 8 3 -2 -7 -11 -13 -14 -14 -14 -15 -16 -17 -17 -15 -15 -13 -12 -12 -14 -17 -19 -22 -24 -21 -17 -15 -13 -12 -15 -16 -18 -19 -21 -20 -20 -21 -21 -20 -19 -19 -19 -19 -20 -21 -21 -21 -21 -22 -22 -21 -21 -23 -26 -30 -29 -27 -26 -27 -25 -24 -23 -23 -22 -20 -22 -22 -19 -16 -15 -14 -15 -17 -18 -18 -19 -19 -19 -19 -18 -17 -16 -15 -15 -14 -13 -13 -13 -12 -12 -12 -13 -12 -12 -13 -12 -10 -7 -8 -10 -12 -14 -17 -20 -21 -21 -23 -23 -24 -24 -23 -21 -20 -19 -19 -19 -21 -22 -22 -21 -20 -20 -18 -15 -13 -12 -12 -11 -10 -10 -11 -12 -13 -13 -12 -12 -13 -16 -19 -20 -20 -19 -16 -13 -11 -12 -17 -22 -26 -27 -25 -25 8 24 24 9 -7 -16 -27 -39 -50 -36 4 31 42 45 44 40 35 30 26 15 -6 -17 -15 -10 -8 -7 -5 -2 2 3 1 -0 -0 1 1 -0 -2 -3 -2 -4 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -4 -5 -6 -7 -8 -7 -6 -5 -5 -5 -6 -7 -8 -8 -9 -9 -9 -8 -7 -6 -6 -5 -4 -4 -4 -3 -2 -1 -1 -2 -2 -3 -4 -4 -3 -3 -2 -1 -1 -1 -1 -0 -0 -0 -0 -0 -1 -0 1 2 3 3 4 5 5 4 3 2 1 1 2 2 1 -0 1 2 1 -2 -6 -6 -4 -1 1 -1 -1 -2 -5 -9 -14 -15 -9 1 10 12 9 5 1 -1 -2 -5 -8 -9 -8 -9 -10 -11 -8 -4 2 3 2 -1 -4 -4 2 5 4 -3 -11 -11 -4 5 8 1 -4 -4 -0 4 -1 -8 -13 -13 -3 8 8 1 -10 -15 -14 -12 -9 -8 -7 -6 -2 6 16 22 19 14 8 4 -0 -4 -9 -12 -14 -17 -20 -19 -12 1 9 8 7 7 7 6 6 5 4 7 9 8 4 -1 -3 -2 -1 -3 -11 -23 -25 -19 -11 -5 -6 -12 -16 -14 -6 2 3 2 1 -0 -2 -4 -5 -4 -0 5 6 3 1 -0 -2 -7 -12 -14 -14 -12 -2 10 20 26 25 20 14 7 -0 -5 -10 -12 -13 -14 -16 -17 -18 -18 -16 -15 -14 -12 -12 -14 -16 -19 -23 -26 -24 -20 -18 -15 -13 -14 -15 -17 -20 -23 -22 -21 -21 -22 -20 -20 -21 -21 -20 -20 -20 -20 -20 -20 -21 -22 -22 -22 -22 -26 -29 -27 -25 -25 -28 -28 -26 -24 -23 -21 -19 -21 -22 -20 -18 -18 -17 -16 -16 -17 -18 -19 -20 -19 -19 -18 -17 -16 -15 -15 -14 -13 -13 -13 -13 -12 -12 -13 -13 -13 -14 -13 -10 -6 -6 -9 -12 -14 -17 -21 -22 -23 -24 -25 -25 -25 -23 -21 -20 -20 -18 -17 -17 -19 -20 -21 -21 -20 -17 -14 -13 -13 -13 -13 -11 -11 -11 -13 -15 -15 -14 -13 -13 -15 -18 -21 -21 -20 -18 -15 -12 -11 -15 -20 -26 -30 -29 -22 -21 2 26 18 1 -9 -19 -30 -42 -46 -18 15 42 51 49 45 41 36 32 10 -19 -32 -24 -17 -13 -10 -8 -5 -1 -0 -1 -2 -2 -2 -2 -1 -1 -2 -2 -4 -4 -4 -4 -4 -4 -5 -4 -4 -3 -3 -3 -3 -3 -3 -4 -5 -5 -6 -6 -6 -5 -5 -5 -6 -7 -9 -10 -11 -11 -10 -10 -9 -8 -7 -5 -4 -3 -3 -2 -1 -1 -0 -0 -1 -2 -4 -5 -5 -4 -5 -5 -4 -2 -2 -2 -2 -1 -0 1 1 -0 1 2 2 3 4 4 5 5 5 4 3 1 -0 -1 -1 -1 -1 1 3 3 2 -2 -5 -4 -1 2 2 -0 -1 -3 -6 -12 -16 -16 -10 -1 7 8 7 3 -1 -2 -4 -6 -8 -8 -6 -7 -9 -9 -6 -2 1 2 1 -2 -4 -2 2 4 1 -8 -11 -9 -1 7 3 -3 -6 -5 2 2 -4 -12 -16 -10 4 10 6 -5 -13 -14 -11 -9 -8 -8 -7 -6 -0 9 20 23 20 13 6 2 -1 -5 -9 -12 -14 -17 -19 -18 -8 4 8 8 6 4 4 5 7 7 7 9 8 5 1 -1 -2 -2 -4 -10 -20 -24 -21 -15 -10 -9 -12 -15 -14 -7 1 2 2 1 -0 -1 -3 -5 -5 -2 3 7 7 5 2 -2 -6 -10 -13 -14 -14 -13 -7 5 21 29 29 25 17 10 3 -3 -7 -10 -12 -16 -18 -19 -20 -18 -18 -15 -13 -11 -12 -15 -19 -23 -26 -25 -23 -21 -19 -16 -14 -15 -17 -20 -26 -24 -22 -22 -23 -21 -21 -21 -22 -22 -20 -20 -20 -19 -19 -20 -21 -21 -22 -22 -25 -24 -22 -22 -24 -27 -27 -26 -25 -24 -23 -20 -21 -22 -22 -21 -22 -21 -18 -15 -15 -17 -18 -19 -20 -19 -19 -18 -17 -15 -15 -14 -13 -13 -13 -13 -12 -12 -12 -13 -14 -14 -12 -9 -7 -7 -9 -12 -15 -17 -22 -24 -24 -25 -25 -26 -25 -24 -22 -21 -21 -19 -17 -16 -17 -18 -19 -20 -19 -16 -14 -13 -13 -13 -14 -13 -12 -12 -14 -16 -17 -16 -15 -13 -13 -17 -21 -22 -21 -20 -18 -14 -11 -13 -17 -23 -30 -32 -25 -19 -16 -13 19 10 -1 -12 -23 -33 -39 -31 -8 25 48 52 50 46 41 36 -2 -32 -39 -29 -20 -16 -13 -11 -8 -4 -3 -3 -4 -3 -3 -3 -3 -2 -2 -2 -4 -4 -4 -4 -4 -5 -5 -4 -3 -3 -3 -2 -2 -2 -3 -3 -4 -5 -5 -5 -5 -5 -6 -7 -9 -11 -12 -12 -12 -12 -10 -9 -8 -7 -5 -4 -4 -3 -2 -2 -1 -0 -0 -0 -1 -2 -4 -5 -5 -6 -9 -11 -10 -6 -4 -3 -3 -2 -1 -0 -0 1 2 3 3 3 3 2 1 3 4 4 3 -0 -0 -1 -1 -1 -1 -0 3 6 7 4 -2 -5 -4 -1 2 1 -1 -2 -3 -7 -12 -16 -16 -13 -7 1 6 5 -0 -2 -4 -6 -9 -8 -5 -4 -5 -6 -5 -4 -2 -0 -0 -2 -2 -1 -0 1 1 -3 -8 -10 -6 3 6 1 -5 -8 -4 1 -1 -7 -16 -15 -3 7 7 -1 -12 -14 -12 -8 -6 -7 -7 -7 -5 1 12 22 24 19 10 5 2 -1 -5 -8 -10 -13 -17 -19 -14 -2 4 7 6 3 2 2 5 9 11 10 8 5 3 -0 -2 -3 -5 -9 -17 -20 -18 -14 -10 -10 -14 -16 -15 -7 1 2 2 -0 -1 -2 -3 -4 -3 -2 2 6 8 7 3 -1 -5 -8 -10 -11 -13 -16 -15 -11 -0 15 26 29 25 19 13 6 -0 -5 -9 -13 -17 -20 -22 -22 -21 -19 -15 -10 -9 -13 -18 -22 -25 -25 -25 -24 -23 -21 -18 -17 -18 -21 -26 -24 -21 -21 -22 -21 -21 -21 -22 -23 -22 -21 -20 -19 -18 -19 -20 -21 -22 -22 -24 -22 -21 -21 -22 -25 -26 -25 -24 -24 -24 -22 -21 -22 -22 -24 -23 -21 -18 -14 -14 -15 -17 -18 -19 -19 -19 -18 -17 -16 -14 -14 -13 -13 -13 -13 -13 -12 -12 -12 -13 -13 -12 -10 -9 -8 -10 -14 -16 -18 -22 -25 -25 -24 -25 -26 -26 -25 -23 -22 -21 -19 -17 -17 -17 -17 -16 -16 -16 -15 -14 -13 -13 -12 -14 -14 -14 -13 -14 -16 -17 -17 -17 -13 -12 -14 -19 -23 -23 -22 -20 -17 -12 -12 -14 -19 -25 -31 -27 -20 -15 -13 -15 -1 3 -4 -16 -27 -32 -33 -23 -0 32 49 55 52 47 37 -5 -32 -35 -29 -22 -17 -14 -13 -10 -7 -5 -5 -5 -6 -5 -4 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -5 -5 -6 -7 -10 -12 -15 -15 -14 -12 -11 -8 -6 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -3 -5 -5 -7 -12 -17 -18 -14 -8 -5 -3 -2 -2 -2 -1 1 3 4 4 4 4 3 -0 1 1 2 2 1 1 -1 -2 -3 -2 1 4 8 12 12 7 1 -2 -2 -0 -0 -1 -0 -0 -3 -8 -12 -14 -15 -14 -8 -1 3 3 -1 -4 -6 -9 -11 -7 -3 -2 -2 -4 -2 -1 -1 -1 -2 -2 -1 -0 1 1 -0 -4 -8 -10 -5 3 4 -1 -7 -9 -2 1 -2 -10 -15 -8 1 5 -0 -12 -17 -14 -8 -3 -4 -6 -6 -7 -6 1 15 24 25 17 9 4 1 -2 -5 -7 -10 -14 -17 -16 -8 -2 3 5 5 2 -0 1 6 12 12 9 5 2 1 -2 -5 -8 -10 -13 -15 -15 -12 -9 -9 -14 -18 -17 -9 -0 2 2 1 -2 -3 -4 -4 -3 -2 -0 3 5 5 3 -0 -3 -6 -8 -11 -13 -16 -18 -18 -14 -6 7 19 26 26 22 15 7 1 -4 -9 -15 -21 -24 -25 -25 -22 -18 -11 -7 -10 -16 -21 -23 -24 -26 -26 -26 -26 -24 -21 -19 -21 -25 -23 -20 -19 -20 -20 -21 -22 -22 -22 -23 -22 -21 -19 -18 -19 -20 -21 -21 -21 -22 -22 -21 -20 -20 -22 -23 -24 -25 -24 -24 -22 -21 -21 -22 -25 -22 -19 -16 -13 -12 -13 -15 -16 -17 -18 -19 -18 -17 -16 -14 -14 -14 -14 -14 -14 -13 -12 -12 -11 -12 -12 -11 -11 -10 -9 -11 -14 -17 -20 -24 -25 -24 -23 -24 -25 -25 -24 -22 -21 -19 -18 -18 -18 -17 -16 -15 -14 -13 -13 -12 -12 -13 -12 -12 -14 -15 -15 -15 -16 -17 -18 -18 -15 -12 -13 -17 -23 -23 -23 -22 -20 -14 -12 -12 -13 -18 -27 -27 -23 -17 -11 -15 -14 -10 -6 -8 -21 -29 -31 -27 -20 7 34 52 57 52 37 4 -23 -33 -30 -23 -18 -15 -15 -12 -10 -8 -7 -7 -7 -6 -5 -3 -3 -4 -6 -5 -5 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -4 -5 -6 -7 -8 -10 -13 -16 -16 -15 -12 -7 -3 -2 -2 -3 -3 -3 -3 -4 -4 -4 -3 -4 -5 -4 -2 -1 -2 -4 -6 -7 -12 -17 -19 -18 -13 -9 -5 -3 -3 -3 -2 -0 2 4 6 6 5 4 2 -0 -0 -0 1 1 1 -0 -2 -4 -6 -5 -1 5 12 17 16 10 4 -0 -0 -0 -0 -1 -1 -1 -4 -7 -11 -13 -14 -12 -8 -3 -0 -1 -2 -5 -8 -11 -10 -6 -3 -1 -1 -0 -0 -0 -2 -3 -3 -2 -0 1 1 2 -0 -5 -10 -9 -2 2 2 -4 -8 -6 -1 1 -4 -11 -9 -4 1 -1 -13 -19 -18 -10 -2 -1 -3 -4 -5 -7 -6 4 17 27 25 15 8 3 1 -2 -4 -7 -11 -15 -15 -10 -6 -3 -0 3 3 -0 -1 2 9 13 12 7 3 2 -1 -6 -11 -15 -14 -14 -13 -11 -7 -7 -13 -19 -20 -13 -2 2 3 1 -2 -3 -5 -5 -5 -3 -1 1 2 2 1 1 -1 -4 -7 -9 -14 -17 -19 -19 -17 -14 -10 -2 11 23 26 22 15 8 3 -3 -11 -20 -27 -27 -27 -25 -21 -13 -6 -7 -13 -19 -21 -22 -24 -26 -27 -29 -28 -24 -21 -22 -25 -22 -19 -17 -19 -20 -20 -20 -21 -21 -23 -24 -23 -21 -19 -19 -19 -20 -20 -20 -20 -20 -20 -19 -18 -20 -22 -23 -24 -24 -22 -22 -21 -21 -22 -28 -25 -19 -14 -13 -12 -12 -13 -14 -14 -17 -18 -18 -16 -15 -14 -13 -13 -14 -14 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -10 -11 -13 -17 -21 -23 -23 -21 -21 -23 -23 -23 -22 -21 -19 -18 -18 -18 -18 -17 -16 -14 -12 -13 -13 -12 -12 -13 -12 -13 -14 -16 -16 -15 -15 -16 -17 -17 -15 -13 -12 -14 -20 -22 -23 -24 -21 -16 -14 -11 -10 -12 -21 -24 -23 -20 -14 -12 -13 -14 -15 -12 -18 -27 -32 -30 -23 -13 10 35 49 46 29 7 -15 -34 -31 -25 -20 -17 -17 -15 -13 -11 -9 -8 -8 -7 -5 -3 -2 -3 -5 -4 -4 -4 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -5 -6 -7 -7 -8 -8 -11 -13 -13 -13 -10 -6 -2 -1 -2 -3 -3 -3 -3 -3 -3 -3 -4 -6 -7 -6 -3 -2 -2 -4 -6 -7 -10 -12 -14 -15 -14 -12 -9 -6 -5 -4 -3 -2 -0 2 5 5 5 4 3 2 1 1 -0 -0 -0 -0 -1 -4 -7 -9 -8 -3 5 14 19 18 13 7 5 4 2 -0 -3 -1 -2 -4 -6 -9 -11 -12 -11 -8 -5 -3 -2 -3 -5 -9 -10 -9 -6 -2 -1 -0 -0 -0 -1 -4 -4 -2 -0 2 1 2 2 -0 -5 -9 -7 -2 1 -0 -5 -6 -3 -0 -1 -7 -9 -6 -2 -1 -11 -19 -22 -18 -8 -0 1 -1 -3 -5 -8 -6 5 20 29 22 13 7 3 1 -2 -5 -9 -12 -14 -10 -7 -5 -4 -1 2 2 -0 -1 4 11 13 10 5 2 -2 -8 -15 -22 -20 -17 -13 -10 -6 -5 -10 -17 -21 -16 -5 1 2 2 -2 -3 -5 -6 -6 -5 -3 -1 -0 -0 -0 -0 -1 -2 -5 -8 -13 -18 -20 -19 -16 -15 -16 -14 -8 5 18 23 20 13 8 2 -6 -16 -24 -28 -27 -25 -22 -16 -7 -5 -9 -15 -19 -20 -22 -25 -28 -30 -29 -26 -24 -23 -24 -22 -19 -17 -17 -18 -19 -19 -20 -20 -21 -22 -24 -25 -24 -20 -19 -18 -18 -18 -18 -18 -18 -18 -17 -18 -20 -22 -23 -22 -21 -22 -22 -21 -22 -30 -29 -22 -15 -14 -12 -12 -11 -11 -12 -15 -17 -18 -17 -15 -14 -13 -13 -14 -14 -14 -13 -12 -12 -10 -10 -10 -11 -11 -11 -11 -12 -12 -16 -20 -23 -22 -20 -20 -21 -22 -21 -22 -20 -19 -18 -18 -17 -18 -18 -17 -14 -11 -13 -14 -14 -14 -13 -13 -14 -16 -16 -16 -15 -15 -15 -16 -16 -15 -13 -12 -12 -17 -20 -23 -24 -22 -19 -15 -12 -9 -9 -17 -20 -21 -20 -16 -13 -11 -11 -14 -18 -20 -25 -31 -34 -27 -19 -9 4 22 25 15 3 -12 -34 -33 -29 -23 -20 -18 -17 -15 -13 -11 -10 -10 -9 -6 -3 -1 -2 -5 -3 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -5 -5 -7 -8 -9 -9 -8 -7 -7 -7 -8 -8 -7 -6 -6 -5 -4 -4 -4 -4 -5 -5 -4 -3 -3 -4 -5 -5 -5 -3 -3 -3 -5 -7 -9 -9 -11 -13 -15 -17 -15 -12 -9 -6 -4 -3 -2 -1 1 2 3 3 3 3 3 3 2 1 -0 -1 -0 -1 -3 -5 -8 -11 -11 -6 2 15 22 22 16 13 11 7 2 -2 -3 -2 -2 -3 -5 -7 -9 -11 -11 -9 -7 -4 -3 -3 -6 -8 -10 -8 -5 -1 -0 -0 -0 -0 -3 -6 -4 -1 2 3 2 3 3 2 -4 -7 -6 -3 -1 -3 -6 -5 -2 -1 -4 -7 -7 -4 -3 -11 -19 -24 -23 -17 -5 2 2 -0 -2 -5 -8 -4 7 24 27 21 13 7 4 1 -1 -5 -10 -13 -10 -6 -4 -5 -6 -2 2 3 1 -0 6 11 13 10 4 -2 -10 -20 -29 -27 -20 -14 -10 -6 -3 -7 -13 -19 -17 -8 -2 2 3 -1 -2 -4 -5 -7 -6 -5 -2 -0 -0 -1 -2 -2 -2 -3 -6 -11 -17 -21 -21 -17 -15 -15 -17 -17 -12 -0 12 19 15 10 7 1 -8 -18 -25 -27 -26 -24 -20 -12 -7 -6 -10 -15 -18 -21 -24 -28 -30 -30 -27 -25 -23 -23 -20 -18 -17 -17 -17 -17 -18 -19 -20 -21 -22 -23 -24 -26 -21 -18 -17 -17 -18 -18 -18 -18 -18 -17 -17 -19 -21 -21 -21 -20 -22 -23 -21 -21 -28 -28 -21 -16 -16 -14 -12 -10 -9 -10 -12 -15 -16 -16 -15 -14 -14 -14 -14 -15 -15 -14 -12 -12 -11 -10 -10 -10 -10 -11 -11 -12 -13 -16 -20 -23 -23 -20 -20 -20 -21 -21 -21 -20 -19 -18 -17 -17 -17 -18 -17 -15 -11 -13 -15 -16 -16 -14 -14 -15 -17 -17 -15 -14 -14 -14 -15 -15 -15 -14 -12 -11 -13 -17 -21 -23 -24 -21 -17 -13 -11 -10 -13 -15 -17 -17 -15 -12 -11 -10 -10 -15 -22 -26 -28 -32 -28 -21 -15 -12 -7 -0 2 -1 -10 -28 -33 -30 -26 -22 -20 -18 -16 -15 -12 -11 -11 -10 -8 -4 -1 -2 -4 -2 -2 -3 -3 -2 -2 -2 -3 -3 -3 -3 -3 -4 -5 -6 -6 -8 -9 -9 -9 -8 -7 -5 -4 -4 -4 -5 -6 -6 -6 -4 -4 -4 -5 -9 -9 -7 -5 -4 -2 -2 -2 -3 -4 -4 -4 -6 -7 -9 -11 -13 -14 -15 -18 -20 -17 -13 -9 -5 -3 -1 -1 -0 1 1 1 1 -0 1 3 3 2 2 1 -0 -1 -1 -2 -3 -5 -9 -13 -15 -11 2 15 24 25 22 19 14 8 1 -4 -4 -2 -1 -3 -4 -7 -8 -9 -10 -10 -8 -5 -3 -3 -5 -8 -9 -7 -3 -1 -0 1 -0 -2 -6 -7 -4 2 5 3 2 2 4 1 -5 -8 -8 -4 -3 -5 -6 -5 -2 -3 -6 -6 -4 -3 -9 -17 -24 -26 -21 -10 -2 1 1 1 -1 -5 -7 -3 11 25 28 23 14 9 7 3 -2 -7 -12 -11 -7 -3 -4 -7 -6 -1 3 4 1 2 7 12 13 7 -2 -13 -25 -35 -32 -23 -15 -9 -6 -2 -3 -8 -14 -15 -11 -6 -1 2 -1 -3 -3 -4 -5 -6 -6 -4 -2 -0 -1 -1 -2 -2 -3 -5 -10 -16 -21 -21 -18 -15 -15 -17 -19 -21 -17 -6 6 10 7 7 5 -1 -11 -20 -24 -26 -26 -25 -20 -12 -6 -7 -13 -18 -21 -22 -25 -28 -29 -27 -24 -23 -21 -19 -18 -19 -18 -18 -17 -17 -18 -20 -22 -22 -21 -21 -23 -20 -19 -18 -17 -18 -18 -18 -18 -18 -18 -18 -18 -19 -19 -20 -20 -22 -23 -21 -20 -26 -27 -22 -17 -17 -15 -13 -11 -10 -9 -10 -12 -13 -15 -15 -15 -14 -14 -14 -15 -15 -15 -13 -12 -11 -11 -10 -10 -10 -10 -10 -12 -15 -17 -21 -24 -24 -20 -20 -20 -21 -20 -20 -20 -19 -18 -17 -16 -16 -17 -16 -15 -11 -12 -14 -16 -16 -14 -14 -15 -16 -16 -14 -13 -12 -13 -14 -15 -16 -15 -12 -11 -12 -15 -18 -21 -23 -23 -19 -16 -13 -11 -10 -11 -12 -14 -13 -12 -12 -12 -10 -11 -18 -23 -26 -27 -26 -22 -17 -13 -11 -5 -2 -2 -8 -22 -29 -30 -28 -24 -21 -19 -17 -16 -13 -13 -12 -11 -9 -5 -2 -1 -3 -2 -2 -3 -2 -2 -2 -2 -3 -3 -3 -3 -4 -5 -6 -7 -8 -8 -8 -8 -7 -5 -4 -3 -3 -3 -4 -4 -5 -4 -3 -2 -2 -5 -9 -13 -11 -8 -5 -4 -2 -1 -1 -3 -4 -4 -6 -7 -9 -11 -14 -18 -19 -19 -19 -20 -15 -11 -7 -3 -1 1 1 1 2 2 2 -0 -2 -3 -1 1 1 2 1 -0 -1 -2 -3 -3 -3 -5 -9 -14 -17 -13 -1 14 24 28 26 22 15 7 -1 -5 -4 -1 -1 -2 -4 -5 -6 -8 -11 -10 -8 -5 -1 -2 -5 -7 -8 -6 -3 -1 -0 -0 -2 -6 -8 -6 -0 7 6 3 1 2 3 -1 -6 -9 -7 -4 -5 -7 -7 -4 -4 -5 -5 -3 -2 -7 -15 -22 -25 -22 -13 -7 -3 -0 2 2 -1 -6 -9 -3 13 25 28 22 17 13 8 2 -4 -9 -10 -7 -3 -2 -6 -7 -5 -0 5 4 2 3 7 14 10 -0 -14 -27 -37 -34 -24 -14 -8 -5 -0 2 -1 -7 -11 -11 -10 -5 -0 -1 -3 -4 -3 -3 -4 -5 -5 -3 -0 -0 -0 -1 -2 -3 -4 -9 -15 -21 -22 -18 -14 -13 -16 -21 -22 -24 -20 -11 -1 -0 1 2 1 -5 -14 -19 -23 -26 -28 -24 -18 -11 -7 -11 -16 -19 -20 -22 -26 -28 -27 -25 -24 -21 -19 -19 -20 -20 -19 -18 -17 -18 -18 -21 -22 -21 -20 -20 -20 -19 -19 -17 -18 -19 -19 -19 -19 -18 -18 -18 -18 -19 -20 -20 -22 -24 -23 -20 -24 -27 -24 -20 -18 -16 -15 -14 -12 -9 -10 -11 -11 -13 -14 -15 -14 -14 -15 -15 -15 -15 -14 -12 -11 -10 -9 -9 -9 -10 -11 -12 -15 -19 -23 -24 -23 -20 -20 -21 -21 -20 -19 -19 -19 -18 -17 -15 -15 -15 -15 -15 -11 -11 -12 -13 -13 -14 -15 -15 -15 -15 -13 -12 -12 -13 -14 -14 -15 -14 -13 -12 -12 -14 -16 -19 -21 -22 -21 -18 -15 -12 -9 -8 -10 -11 -11 -12 -13 -14 -12 -11 -13 -17 -22 -23 -23 -21 -17 -14 -13 -10 -6 -4 -5 -16 -25 -29 -29 -26 -23 -21 -19 -17 -15 -14 -13 -12 -10 -5 -2 -1 -2 -3 -3 -3 -3 -2 -2 -3 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -6 -6 -5 -4 -4 -4 -4 -4 -5 -4 -3 -2 -0 -0 -2 -6 -11 -13 -9 -6 -4 -3 -2 -1 -2 -4 -5 -5 -6 -8 -9 -11 -15 -19 -21 -21 -19 -16 -10 -6 -3 -1 -0 2 3 3 3 3 3 1 -1 -3 -3 -3 -2 -1 -1 -0 -0 -1 -3 -3 -3 -2 -3 -7 -14 -15 -14 -5 10 24 29 29 24 16 5 -2 -5 -4 -1 -0 -1 -3 -4 -6 -9 -11 -11 -8 -3 -0 -1 -4 -7 -8 -6 -3 -1 -0 -1 -5 -8 -9 -4 6 8 6 2 1 3 1 -3 -7 -7 -6 -6 -7 -7 -6 -4 -5 -5 -3 -2 -5 -13 -19 -22 -20 -14 -10 -8 -5 -0 3 2 -2 -8 -11 -1 14 25 27 24 20 14 7 -0 -5 -6 -5 -3 -2 -5 -7 -6 -2 4 6 4 2 2 9 9 1 -11 -24 -32 -30 -22 -13 -7 -3 2 6 5 1 -5 -10 -12 -10 -3 -1 -3 -3 -3 -1 -3 -4 -4 -3 -1 -0 -0 -1 -2 -2 -2 -6 -13 -19 -22 -18 -14 -12 -14 -20 -25 -27 -25 -20 -9 -6 -5 -4 -2 -5 -11 -16 -19 -22 -26 -25 -21 -17 -12 -12 -16 -19 -21 -22 -23 -25 -26 -27 -26 -22 -19 -19 -19 -19 -19 -18 -18 -18 -16 -19 -21 -21 -21 -21 -20 -19 -18 -18 -20 -21 -21 -20 -20 -20 -19 -18 -18 -20 -21 -21 -22 -26 -26 -21 -23 -27 -26 -22 -20 -18 -16 -15 -13 -10 -10 -10 -11 -12 -14 -15 -15 -15 -16 -16 -15 -14 -13 -12 -11 -10 -9 -9 -9 -11 -12 -13 -16 -20 -22 -23 -22 -21 -21 -21 -20 -19 -18 -18 -17 -17 -16 -15 -15 -15 -14 -14 -12 -11 -11 -12 -13 -15 -16 -16 -16 -14 -13 -12 -12 -13 -12 -12 -13 -13 -13 -13 -14 -15 -17 -18 -20 -21 -21 -20 -18 -13 -10 -9 -9 -10 -11 -12 -14 -15 -14 -13 -13 -14 -17 -20 -21 -19 -17 -14 -13 -11 -8 -4 -5 -11 -21 -28 -30 -28 -25 -22 -20 -18 -16 -15 -14 -12 -11 -7 -3 -2 -2 -4 -4 -4 -4 -3 -3 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -2 -0 1 -0 -2 -6 -9 -10 -6 -4 -2 -2 -2 -3 -4 -4 -5 -6 -5 -6 -7 -8 -8 -13 -17 -20 -20 -16 -8 -3 -1 -0 1 2 3 4 4 4 4 4 3 -0 -1 -3 -5 -6 -5 -3 -2 -2 -2 -2 -2 -1 -0 -1 -6 -13 -15 -13 -8 5 20 29 30 24 15 5 -2 -5 -3 1 1 -1 -3 -4 -6 -9 -10 -10 -6 -1 2 -0 -4 -8 -8 -6 -4 -1 -1 -3 -6 -9 -7 -0 7 7 4 -0 -0 2 -0 -3 -5 -5 -6 -7 -8 -7 -5 -5 -4 -4 -3 -5 -11 -17 -20 -17 -13 -11 -11 -10 -4 1 3 1 -5 -12 -12 -2 13 25 27 25 19 12 5 -0 -2 -3 -2 -1 -2 -4 -6 -5 1 6 6 2 -1 2 5 1 -8 -19 -25 -26 -22 -16 -10 -6 2 8 10 7 1 -7 -13 -13 -7 -4 -3 -2 -1 -0 -2 -3 -4 -3 -2 -1 -0 -0 -1 -1 -1 -4 -10 -17 -21 -18 -15 -12 -13 -18 -24 -28 -28 -24 -12 -6 -5 -5 -6 -8 -12 -15 -18 -19 -21 -22 -21 -19 -17 -15 -17 -19 -22 -22 -21 -21 -23 -25 -24 -20 -18 -17 -18 -17 -17 -18 -17 -16 -15 -17 -19 -19 -20 -21 -21 -20 -18 -18 -20 -21 -21 -20 -20 -21 -21 -19 -18 -20 -23 -23 -23 -27 -29 -23 -22 -25 -27 -23 -21 -19 -17 -16 -14 -12 -10 -9 -10 -11 -13 -14 -15 -16 -16 -16 -15 -13 -12 -12 -11 -10 -10 -9 -10 -12 -13 -14 -16 -19 -21 -22 -22 -21 -21 -21 -20 -19 -16 -15 -15 -15 -15 -16 -16 -15 -15 -14 -13 -13 -12 -13 -15 -16 -17 -17 -16 -16 -14 -13 -12 -12 -11 -11 -12 -13 -14 -14 -14 -15 -17 -18 -19 -21 -21 -20 -18 -14 -12 -11 -11 -10 -11 -12 -14 -16 -16 -16 -16 -16 -17 -19 -19 -18 -18 -15 -13 -11 -10 -6 -5 -8 -15 -24 -29 -28 -26 -23 -21 -19 -18 -16 -14 -12 -11 -8 -5 -3 -3 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -4 -4 -4 -4 -5 -5 -5 -6 -5 -5 -5 -4 -3 -3 -3 -3 -2 -1 -1 -2 -4 -5 -4 -3 -3 -3 -3 -4 -5 -6 -5 -4 -6 -6 -7 -8 -8 -7 -7 -9 -12 -16 -13 -6 -2 -0 1 2 3 4 5 5 4 4 3 3 3 2 -1 -5 -8 -8 -6 -4 -3 -1 1 -1 -1 -0 1 -2 -9 -12 -14 -13 -9 2 15 25 28 22 14 6 -0 -3 -1 -0 -0 -1 -3 -4 -6 -8 -9 -8 -4 1 3 1 -4 -7 -7 -6 -4 -1 -1 -4 -7 -10 -6 2 6 5 -0 -0 3 4 2 -1 -4 -5 -6 -7 -7 -6 -4 -4 -4 -5 -6 -11 -16 -19 -17 -12 -10 -11 -12 -10 -4 1 2 -1 -8 -16 -15 -3 15 25 25 22 17 11 5 3 2 1 1 -0 -2 -4 -5 -2 3 6 5 1 -2 -0 -0 -6 -16 -22 -24 -22 -21 -20 -16 -5 5 11 11 7 -2 -10 -14 -11 -8 -5 -1 2 2 -1 -3 -4 -3 -1 -0 1 1 1 -0 -0 -2 -7 -13 -18 -18 -15 -13 -13 -18 -24 -28 -29 -28 -16 -7 -2 -3 -7 -10 -14 -17 -20 -20 -19 -20 -19 -18 -18 -18 -19 -20 -22 -23 -21 -19 -19 -20 -21 -19 -17 -17 -17 -17 -18 -18 -17 -16 -16 -16 -17 -19 -19 -20 -22 -21 -19 -18 -19 -20 -21 -20 -19 -20 -21 -21 -19 -21 -23 -24 -25 -28 -28 -22 -20 -24 -29 -23 -21 -19 -18 -17 -16 -13 -10 -8 -8 -10 -12 -13 -14 -15 -16 -16 -15 -13 -11 -10 -10 -10 -11 -10 -11 -12 -14 -14 -15 -18 -20 -21 -20 -19 -19 -19 -19 -18 -15 -14 -13 -13 -15 -16 -16 -15 -15 -15 -15 -14 -14 -15 -17 -17 -17 -16 -16 -16 -15 -13 -13 -11 -11 -11 -12 -13 -14 -14 -14 -14 -17 -17 -19 -21 -21 -19 -16 -14 -12 -12 -12 -11 -11 -12 -14 -16 -18 -18 -17 -17 -17 -18 -19 -19 -20 -17 -13 -12 -11 -8 -6 -5 -9 -18 -25 -26 -26 -24 -21 -20 -19 -17 -14 -12 -11 -9 -7 -5 -3 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -6 -5 -5 -5 -5 -4 -3 -4 -4 -5 -5 -5 -4 -2 -1 -1 -1 -2 -3 -4 -5 -5 -6 -6 -6 -5 -5 -5 -6 -8 -10 -10 -10 -11 -11 -11 -8 -4 -2 -0 2 2 3 4 5 6 5 4 3 2 2 2 1 -2 -6 -9 -9 -7 -4 -1 3 3 2 2 2 -0 -4 -9 -12 -13 -12 -9 -1 9 19 21 18 13 7 2 1 2 2 1 -1 -2 -3 -5 -7 -9 -6 -2 2 3 -1 -5 -7 -7 -5 -2 -0 -1 -4 -9 -10 -5 1 3 -0 -1 3 7 9 6 -1 -4 -5 -5 -6 -6 -5 -4 -3 -4 -5 -9 -14 -17 -17 -12 -10 -10 -13 -13 -8 -2 2 1 -5 -15 -20 -16 1 17 21 21 19 16 11 9 7 6 5 3 -0 -2 -4 -4 -1 3 5 4 -2 -3 -4 -7 -13 -21 -24 -25 -26 -28 -25 -13 -0 9 11 8 1 -6 -11 -12 -13 -10 -4 4 5 1 -2 -4 -3 -1 2 3 3 3 2 -0 -1 -4 -7 -12 -15 -15 -13 -13 -19 -25 -28 -29 -28 -20 -9 -2 -1 -6 -10 -15 -19 -23 -24 -22 -19 -16 -16 -17 -19 -20 -21 -22 -23 -21 -19 -16 -15 -17 -17 -17 -16 -16 -17 -19 -19 -18 -17 -16 -17 -18 -19 -19 -19 -21 -22 -22 -20 -19 -20 -21 -20 -19 -19 -20 -21 -21 -23 -24 -24 -26 -31 -25 -19 -18 -22 -28 -23 -20 -19 -19 -18 -18 -16 -12 -8 -9 -10 -11 -12 -13 -14 -15 -15 -14 -12 -10 -9 -9 -9 -10 -10 -11 -13 -14 -13 -14 -16 -18 -19 -18 -18 -18 -17 -15 -14 -14 -13 -13 -13 -15 -16 -16 -15 -14 -15 -15 -14 -15 -17 -18 -18 -17 -16 -15 -15 -15 -15 -15 -12 -11 -11 -12 -12 -14 -14 -13 -14 -17 -18 -19 -20 -20 -18 -15 -14 -13 -12 -12 -11 -11 -12 -13 -15 -17 -18 -16 -15 -14 -16 -17 -19 -20 -18 -14 -12 -11 -9 -7 -5 -5 -11 -20 -24 -25 -23 -22 -21 -21 -19 -15 -12 -11 -10 -8 -7 -4 -5 -5 -5 -4 -4 -3 -3 -3 -3 -4 -4 -4 -5 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -5 -4 -5 -5 -5 -5 -4 -1 -0 1 -0 -2 -3 -4 -5 -5 -5 -5 -4 -5 -6 -7 -6 -7 -8 -9 -9 -9 -11 -12 -12 -9 -5 -2 -0 1 2 3 4 6 6 6 6 5 3 1 -0 1 -0 -3 -9 -11 -8 -4 1 5 6 4 4 4 3 -2 -6 -10 -11 -12 -12 -10 -4 4 11 13 12 10 6 4 5 6 6 3 -0 -1 -3 -5 -7 -7 -3 1 4 2 -2 -5 -6 -6 -4 -1 1 -1 -6 -10 -9 -5 -1 -1 -3 1 8 14 15 7 -0 -4 -4 -4 -5 -6 -4 -2 -2 -4 -8 -13 -16 -17 -15 -12 -11 -13 -14 -10 -5 -0 1 -3 -11 -19 -21 -13 6 15 18 16 14 14 14 14 13 11 7 4 1 -2 -4 -3 -0 4 5 1 -3 -6 -8 -12 -20 -25 -28 -30 -32 -30 -17 -1 10 12 8 3 -2 -7 -11 -15 -15 -10 -1 5 2 -1 -3 -4 -1 4 8 10 9 6 1 -1 -2 -3 -7 -11 -12 -12 -13 -19 -25 -28 -29 -28 -22 -11 -3 -0 -3 -7 -13 -19 -25 -25 -25 -21 -15 -14 -17 -19 -20 -19 -19 -21 -21 -19 -16 -13 -14 -15 -16 -16 -15 -17 -18 -19 -19 -18 -18 -18 -18 -20 -20 -19 -20 -22 -23 -23 -21 -21 -20 -20 -20 -20 -20 -21 -24 -25 -24 -24 -26 -32 -24 -18 -17 -19 -24 -22 -20 -19 -20 -19 -18 -17 -15 -11 -10 -10 -10 -12 -13 -13 -14 -15 -13 -11 -9 -8 -8 -8 -9 -9 -12 -13 -13 -13 -13 -15 -17 -17 -17 -17 -17 -16 -13 -12 -12 -13 -13 -14 -14 -14 -14 -13 -12 -14 -14 -14 -15 -18 -18 -18 -17 -16 -15 -15 -15 -17 -18 -15 -13 -12 -11 -11 -13 -13 -12 -13 -15 -17 -18 -18 -18 -17 -15 -14 -13 -13 -12 -11 -11 -11 -13 -14 -16 -16 -16 -15 -14 -14 -16 -17 -18 -17 -15 -13 -12 -10 -8 -5 -3 -5 -14 -21 -24 -23 -23 -22 -21 -19 -16 -13 -11 -10 -9 -8 -5 -5 -4 -4 -4 -3 -2 -3 -3 -4 -5 -6 -5 -4 -3 -3 -4 -5 -6 -7 -7 -7 -6 -5 -4 -4 -4 -3 -3 -2 -1 -0 -0 -1 -1 -2 -4 -5 -6 -6 -5 -5 -4 -4 -7 -9 -9 -8 -8 -7 -7 -9 -12 -15 -16 -13 -7 -3 -0 1 1 3 4 5 6 7 8 8 5 1 -1 -2 -2 -3 -6 -10 -8 -4 1 5 6 6 6 7 6 -0 -5 -8 -9 -10 -12 -12 -10 -5 1 4 6 6 5 4 7 9 10 8 4 1 -1 -2 -4 -5 -4 -1 2 3 1 -1 -3 -5 -5 -2 -0 2 -1 -7 -9 -8 -5 -3 -4 -3 3 12 19 14 5 -1 -2 -2 -4 -5 -4 -1 -0 -2 -7 -11 -15 -18 -17 -14 -12 -13 -15 -12 -6 -1 1 -1 -8 -16 -21 -20 -6 8 15 15 12 12 15 19 21 20 14 9 5 2 -1 -3 -3 1 5 4 -0 -5 -8 -12 -19 -25 -30 -33 -34 -32 -19 -2 12 12 7 4 1 -3 -7 -14 -17 -15 -7 1 1 -2 -4 -5 -4 4 12 18 19 14 7 2 -1 -2 -4 -6 -8 -9 -12 -18 -24 -28 -29 -27 -24 -13 -3 -0 -2 -5 -10 -18 -25 -28 -28 -23 -17 -12 -16 -19 -19 -18 -18 -18 -19 -19 -18 -14 -13 -15 -16 -15 -15 -16 -18 -19 -19 -20 -20 -20 -21 -21 -19 -19 -20 -22 -22 -22 -21 -20 -20 -20 -20 -20 -21 -22 -24 -25 -24 -24 -26 -31 -24 -18 -16 -17 -21 -22 -21 -20 -20 -18 -18 -18 -17 -14 -11 -10 -10 -12 -13 -13 -14 -15 -13 -11 -9 -8 -8 -8 -8 -8 -10 -12 -13 -12 -13 -15 -16 -15 -16 -16 -16 -14 -11 -10 -11 -12 -13 -14 -13 -11 -11 -12 -12 -14 -15 -16 -16 -18 -18 -17 -17 -16 -16 -15 -16 -18 -19 -16 -14 -12 -11 -11 -11 -12 -12 -11 -14 -16 -17 -16 -16 -16 -15 -14 -14 -14 -14 -12 -11 -11 -12 -14 -15 -15 -17 -17 -15 -15 -16 -17 -18 -17 -16 -15 -13 -11 -8 -5 -2 -2 -10 -18 -22 -23 -23 -23 -22 -20 -16 -14 -12 -10 -9 -9 -7 -5 -5 -5 -4 -3 -2 -2 -3 -5 -5 -5 -3 -3 -3 -4 -5 -7 -8 -9 -9 -8 -5 -3 -1 -1 -2 -1 -2 -2 -1 -1 -1 -2 -3 -4 -5 -5 -6 -6 -5 -4 -3 -4 -6 -10 -11 -11 -9 -7 -7 -9 -12 -16 -18 -17 -11 -4 -0 1 -0 1 2 3 4 7 9 8 6 4 2 -2 -3 -3 -4 -7 -7 -5 -1 3 6 8 9 11 9 3 -2 -6 -8 -8 -10 -12 -12 -9 -5 -1 -0 -0 -0 -0 3 7 12 14 9 5 1 -1 -2 -3 -3 -1 -0 2 4 3 1 -1 -3 -3 -0 2 2 -3 -7 -8 -7 -6 -6 -6 -3 5 16 17 10 3 -0 -0 -2 -4 -4 -1 2 -0 -5 -10 -15 -19 -18 -15 -13 -14 -17 -15 -9 -2 2 -0 -6 -13 -18 -21 -15 -2 10 16 12 8 11 18 25 27 23 16 11 7 4 -0 -3 -2 2 4 2 -2 -7 -12 -18 -25 -31 -34 -34 -31 -20 -3 13 12 6 3 1 -0 -3 -11 -16 -17 -12 -5 -2 -3 -5 -7 -8 -4 4 15 25 24 18 9 2 -1 -2 -4 -5 -6 -9 -16 -23 -28 -29 -27 -24 -15 -5 -0 -1 -3 -8 -15 -22 -27 -28 -24 -18 -12 -14 -18 -20 -19 -18 -17 -18 -19 -18 -17 -15 -15 -16 -15 -14 -16 -18 -19 -20 -21 -22 -23 -23 -21 -19 -19 -19 -20 -22 -21 -20 -21 -22 -23 -20 -20 -22 -24 -24 -23 -24 -25 -27 -30 -24 -20 -18 -17 -18 -20 -20 -20 -20 -18 -17 -17 -16 -16 -13 -11 -10 -12 -13 -13 -14 -15 -13 -11 -9 -8 -7 -8 -8 -8 -10 -12 -12 -11 -11 -13 -15 -15 -15 -14 -13 -11 -10 -10 -10 -10 -12 -14 -12 -10 -9 -9 -10 -14 -17 -19 -19 -18 -17 -16 -15 -15 -15 -15 -16 -17 -19 -17 -15 -13 -11 -10 -11 -12 -12 -11 -13 -15 -15 -15 -16 -16 -15 -14 -14 -14 -14 -13 -12 -12 -12 -14 -15 -15 -17 -17 -17 -16 -15 -15 -17 -18 -18 -17 -14 -11 -9 -6 -2 -1 -6 -14 -20 -23 -24 -23 -22 -20 -17 -14 -12 -11 -10 -10 -9 -5 -5 -5 -4 -4 -3 -3 -4 -5 -5 -4 -3 -3 -4 -6 -7 -8 -9 -9 -7 -4 -1 1 1 -0 -1 -1 -3 -3 -2 -2 -2 -2 -3 -5 -6 -5 -5 -4 -3 -3 -2 -3 -5 -10 -13 -13 -11 -9 -8 -10 -12 -15 -17 -18 -12 -6 -1 1 1 1 1 1 1 3 5 5 5 6 5 1 -2 -3 -3 -4 -5 -5 -4 -0 5 9 13 16 15 9 2 -3 -6 -7 -9 -12 -14 -12 -7 -3 -2 -2 -3 -4 -4 -0 6 13 14 9 4 -0 -2 -1 -1 -1 -1 -0 4 7 7 4 -0 -2 -1 1 3 1 -3 -6 -8 -8 -8 -8 -7 -4 6 13 12 7 2 2 1 -2 -3 -2 3 2 -3 -9 -14 -19 -19 -16 -13 -13 -17 -17 -12 -4 2 -0 -4 -10 -15 -20 -20 -11 2 14 14 7 7 13 23 31 30 26 20 15 11 5 -1 -5 -4 -0 2 1 -4 -11 -18 -24 -30 -33 -32 -28 -21 -7 10 12 5 2 1 1 -1 -7 -14 -18 -17 -9 -4 -4 -6 -9 -10 -10 -7 -0 14 24 25 20 12 3 -1 -2 -1 -0 -2 -11 -20 -27 -30 -28 -25 -17 -8 -0 -0 -2 -7 -12 -18 -24 -26 -23 -17 -12 -14 -16 -18 -19 -18 -18 -18 -18 -18 -18 -17 -17 -17 -15 -14 -15 -17 -18 -19 -22 -24 -25 -24 -21 -19 -18 -18 -19 -21 -21 -20 -21 -23 -23 -21 -21 -22 -25 -24 -23 -24 -25 -26 -26 -25 -23 -20 -17 -17 -17 -18 -19 -20 -19 -17 -17 -17 -16 -13 -12 -11 -12 -12 -13 -13 -14 -14 -11 -10 -8 -7 -7 -7 -8 -10 -11 -12 -10 -9 -11 -16 -15 -14 -12 -10 -9 -10 -9 -9 -9 -11 -12 -10 -9 -9 -9 -9 -12 -15 -18 -19 -16 -15 -14 -14 -14 -14 -14 -15 -17 -18 -18 -17 -15 -11 -10 -11 -12 -12 -12 -12 -14 -14 -15 -16 -16 -16 -15 -14 -14 -14 -14 -13 -12 -13 -13 -14 -16 -18 -17 -17 -16 -14 -14 -17 -18 -19 -18 -14 -12 -10 -8 -3 -0 -3 -10 -18 -23 -23 -22 -21 -20 -19 -16 -13 -11 -10 -11 -10 -4 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -6 -7 -7 -6 -5 -3 -0 2 2 1 -1 -1 -3 -4 -4 -3 -2 -2 -2 -4 -5 -5 -4 -3 -2 -1 -2 -2 -3 -6 -10 -13 -12 -11 -9 -9 -12 -14 -14 -13 -12 -8 -5 -2 -0 1 1 2 2 -0 -0 1 1 1 4 5 4 2 1 -2 -2 -2 -3 -4 -4 1 7 12 18 20 16 8 1 -4 -5 -7 -11 -15 -16 -10 -4 -1 -1 -2 -5 -7 -7 -3 4 11 12 8 2 -2 -0 1 1 -1 -3 1 8 12 11 5 -0 -1 -0 2 4 1 -4 -7 -11 -10 -8 -8 -9 -7 4 9 8 5 4 4 2 -1 -2 1 3 -1 -6 -13 -19 -20 -17 -14 -13 -17 -18 -15 -8 -0 1 -2 -7 -12 -17 -21 -17 -7 6 13 9 6 8 16 27 31 31 27 23 18 12 4 -2 -5 -3 -0 1 -1 -8 -17 -24 -28 -30 -31 -28 -24 -13 4 9 4 1 -0 1 1 -4 -12 -19 -20 -12 -5 -4 -6 -10 -10 -12 -13 -12 -4 9 18 23 22 14 6 1 1 4 4 -4 -14 -23 -28 -27 -23 -18 -11 -4 1 -0 -4 -10 -15 -20 -23 -21 -17 -13 -13 -15 -18 -19 -19 -19 -18 -17 -19 -18 -16 -16 -16 -16 -15 -15 -16 -17 -19 -23 -25 -25 -24 -21 -19 -18 -18 -18 -19 -19 -20 -22 -24 -23 -22 -21 -22 -25 -25 -24 -23 -22 -22 -23 -26 -27 -23 -18 -17 -17 -17 -17 -18 -19 -18 -17 -18 -17 -15 -13 -12 -13 -13 -13 -13 -14 -14 -11 -10 -9 -8 -6 -6 -8 -10 -11 -11 -9 -7 -9 -16 -15 -13 -10 -9 -9 -10 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -10 -13 -15 -16 -15 -14 -14 -14 -14 -13 -13 -14 -16 -18 -19 -18 -17 -13 -11 -10 -11 -13 -13 -13 -14 -14 -15 -15 -16 -16 -16 -15 -14 -15 -15 -14 -13 -12 -12 -13 -15 -18 -17 -17 -16 -14 -14 -16 -18 -19 -19 -16 -14 -11 -9 -4 -1 -1 -6 -15 -21 -21 -21 -20 -21 -21 -18 -14 -12 -10 -11 -12 -3 -4 -6 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -2 -1 -0 1 2 1 -0 -1 -3 -3 -4 -4 -4 -3 -2 -2 -3 -5 -6 -5 -3 -2 -1 -1 -3 -3 -4 -6 -9 -10 -10 -9 -8 -10 -10 -12 -13 -12 -8 -6 -5 -3 -1 -0 1 2 2 -0 -0 -0 -0 -0 3 3 4 4 3 2 2 1 -0 -2 -3 -1 1 5 11 18 18 14 7 1 -1 -5 -10 -15 -16 -12 -6 -3 -1 -2 -3 -6 -8 -8 -6 1 8 10 6 -0 1 3 3 1 -3 -3 5 14 20 14 7 1 -1 2 6 4 -0 -6 -11 -10 -6 -4 -7 -11 -6 1 6 6 4 7 6 2 -1 -1 3 2 -4 -11 -17 -20 -19 -16 -13 -16 -18 -17 -12 -4 -0 -0 -4 -9 -14 -19 -20 -15 -5 8 11 8 5 8 16 24 29 30 28 23 17 10 4 -0 -2 -2 -1 -0 -5 -15 -21 -24 -26 -29 -29 -27 -19 -3 5 4 1 -0 -0 1 -2 -9 -17 -21 -14 -7 -4 -6 -10 -9 -10 -12 -15 -13 -6 3 13 22 22 16 9 5 5 7 2 -7 -16 -22 -23 -20 -17 -14 -11 -3 -0 -1 -6 -11 -17 -20 -20 -17 -14 -14 -15 -17 -18 -19 -20 -19 -18 -19 -18 -17 -16 -17 -16 -16 -15 -14 -15 -18 -23 -25 -25 -24 -22 -20 -19 -18 -18 -18 -19 -20 -22 -23 -23 -23 -23 -22 -23 -23 -22 -22 -22 -22 -24 -27 -27 -23 -18 -17 -17 -17 -17 -17 -18 -18 -17 -18 -18 -16 -14 -14 -13 -13 -13 -13 -14 -14 -12 -10 -10 -9 -6 -6 -7 -9 -11 -12 -8 -6 -7 -15 -16 -14 -11 -10 -10 -11 -11 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -13 -14 -14 -14 -14 -14 -13 -13 -12 -13 -15 -18 -19 -19 -18 -15 -11 -10 -11 -13 -14 -14 -14 -14 -15 -15 -16 -17 -18 -17 -15 -16 -16 -14 -13 -12 -12 -14 -15 -16 -17 -17 -16 -15 -14 -15 -17 -19 -20 -18 -16 -13 -9 -6 -1 -1 -5 -14 -19 -20 -20 -21 -22 -23 -20 -16 -13 -11 -12 -12 -4 -6 -9 -10 -9 -7 -6 -6 -6 -6 -5 -3 -3 -2 -0 -0 1 1 -0 -0 -0 -1 -2 -4 -5 -5 -5 -4 -3 -3 -4 -5 -6 -7 -6 -6 -3 -1 -1 -2 -4 -5 -5 -7 -10 -10 -10 -9 -9 -9 -10 -11 -11 -9 -7 -7 -7 -5 -4 -3 -2 -1 -0 1 2 2 2 2 3 4 4 4 3 2 1 1 1 1 -0 -1 -1 -0 4 9 13 14 11 7 3 -1 -7 -13 -15 -11 -7 -3 -2 -2 -3 -6 -8 -9 -8 -6 -0 5 6 3 3 5 6 5 -0 -4 -0 11 25 27 18 8 1 -0 7 9 6 -1 -8 -9 -5 -1 -2 -7 -8 -5 -0 3 3 6 8 7 3 -0 2 3 -1 -9 -16 -21 -22 -20 -16 -15 -16 -17 -14 -8 -1 1 -1 -6 -12 -16 -20 -19 -13 -1 8 9 7 3 6 13 21 27 29 26 21 16 11 6 2 -1 -1 -1 -3 -11 -18 -22 -25 -29 -29 -26 -19 -8 1 2 -0 -2 -1 -0 -2 -8 -16 -21 -16 -8 -4 -5 -9 -8 -8 -9 -11 -12 -12 -10 -2 10 22 22 17 12 8 10 7 -0 -9 -15 -18 -17 -16 -15 -15 -10 -4 -0 -2 -8 -14 -18 -19 -18 -15 -13 -14 -16 -17 -19 -20 -20 -19 -19 -19 -17 -16 -17 -17 -17 -15 -13 -14 -17 -22 -25 -25 -24 -23 -20 -19 -18 -18 -19 -19 -20 -21 -21 -21 -22 -23 -23 -22 -21 -21 -22 -23 -26 -25 -24 -23 -21 -18 -16 -16 -17 -18 -17 -18 -18 -18 -18 -18 -17 -16 -16 -14 -13 -13 -14 -14 -13 -13 -12 -12 -12 -8 -7 -7 -8 -11 -12 -9 -4 -4 -13 -16 -14 -11 -10 -13 -14 -13 -11 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -11 -13 -13 -14 -14 -14 -13 -12 -11 -11 -13 -17 -20 -20 -19 -17 -13 -10 -10 -13 -15 -15 -15 -15 -16 -16 -17 -18 -19 -17 -16 -16 -16 -14 -13 -13 -13 -14 -15 -16 -17 -17 -16 -15 -15 -15 -16 -19 -20 -20 -18 -14 -11 -8 -3 -1 -4 -12 -18 -20 -21 -22 -23 -24 -22 -19 -15 -13 -12 -12 -6 -9 -11 -10 -8 -6 -5 -5 -5 -4 -2 -0 1 2 2 1 -0 -0 -1 -2 -2 -2 -4 -5 -5 -5 -4 -4 -4 -5 -7 -8 -8 -7 -5 -3 -1 -1 -2 -3 -5 -6 -7 -8 -10 -11 -12 -11 -9 -9 -11 -10 -9 -8 -8 -9 -8 -6 -5 -6 -5 -3 -1 -0 -0 1 3 4 5 6 6 6 5 4 2 2 2 2 3 1 -0 -1 1 4 7 9 10 8 5 1 -4 -10 -13 -10 -7 -3 -2 -2 -3 -6 -7 -9 -9 -9 -6 -3 -0 1 3 6 7 7 4 -1 -2 6 23 35 30 19 7 -0 5 12 13 8 -1 -4 -2 2 3 -0 -4 -5 -3 -1 1 4 8 9 7 3 4 5 3 -5 -13 -19 -23 -23 -19 -15 -14 -15 -15 -12 -6 -1 -0 -3 -9 -14 -17 -19 -17 -9 -0 7 8 6 3 5 10 18 25 27 25 21 16 12 8 4 1 -1 -2 -7 -12 -17 -21 -25 -26 -24 -19 -12 -5 -2 -2 -2 -2 -2 -3 -7 -13 -19 -17 -10 -5 -5 -9 -9 -9 -8 -8 -9 -12 -15 -14 -7 10 18 20 17 14 14 11 6 -2 -9 -13 -14 -13 -13 -15 -14 -8 -2 2 -3 -11 -17 -20 -19 -14 -12 -13 -16 -17 -19 -20 -20 -19 -18 -18 -17 -16 -16 -17 -18 -17 -15 -14 -17 -21 -24 -25 -24 -22 -20 -19 -18 -18 -19 -20 -20 -20 -20 -19 -20 -21 -22 -22 -20 -20 -22 -25 -27 -26 -25 -24 -22 -18 -16 -16 -17 -18 -18 -17 -17 -18 -18 -18 -17 -17 -18 -14 -14 -14 -14 -15 -13 -14 -16 -16 -14 -10 -9 -8 -8 -11 -13 -10 -4 -1 -9 -15 -14 -11 -10 -13 -14 -13 -12 -9 -10 -9 -9 -9 -9 -9 -10 -11 -12 -11 -12 -13 -14 -14 -14 -14 -13 -11 -10 -11 -15 -19 -21 -19 -18 -15 -11 -10 -12 -15 -16 -16 -17 -17 -16 -16 -17 -19 -18 -17 -16 -15 -14 -14 -14 -14 -15 -16 -16 -17 -18 -17 -16 -15 -15 -15 -17 -20 -20 -19 -17 -14 -10 -6 -3 -3 -12 -16 -19 -21 -21 -22 -24 -23 -21 -18 -14 -13 -12 -9 -10 -8 -6 -4 -3 -4 -3 -2 -1 -0 1 1 1 -0 -1 -2 -2 -1 -1 -2 -3 -5 -6 -5 -5 -4 -5 -6 -8 -9 -9 -7 -4 -1 -0 -2 -3 -3 -4 -6 -7 -8 -10 -11 -12 -11 -11 -10 -10 -11 -9 -8 -7 -9 -9 -8 -6 -5 -5 -5 -4 -3 -2 -3 -1 1 3 5 7 8 8 7 6 5 4 3 3 3 2 1 1 1 2 3 5 6 7 5 2 -2 -6 -9 -8 -7 -4 -1 1 -2 -5 -7 -9 -10 -9 -9 -8 -8 -7 -1 4 7 7 6 2 -1 2 14 33 36 30 17 6 4 10 16 16 9 5 6 7 8 5 1 -2 -3 -3 -1 2 5 8 8 6 5 6 5 -1 -10 -17 -23 -26 -23 -17 -13 -12 -13 -12 -9 -5 -2 -1 -6 -12 -16 -18 -17 -12 -7 -0 7 10 6 2 1 6 15 23 26 25 21 16 13 9 5 -0 -3 -5 -6 -9 -14 -19 -21 -21 -18 -14 -8 -5 -3 -3 -3 -4 -6 -9 -13 -18 -17 -13 -8 -6 -8 -8 -9 -9 -9 -10 -12 -15 -18 -18 -6 5 12 16 18 19 17 12 4 -3 -7 -8 -10 -12 -15 -15 -13 -8 -0 1 -5 -14 -21 -20 -14 -11 -12 -15 -17 -18 -19 -19 -17 -16 -16 -16 -15 -14 -17 -19 -19 -17 -15 -15 -19 -22 -24 -23 -21 -20 -19 -18 -18 -18 -19 -20 -21 -21 -20 -19 -20 -22 -23 -21 -21 -22 -26 -28 -28 -28 -28 -25 -22 -18 -16 -16 -17 -17 -17 -17 -18 -18 -18 -17 -17 -19 -15 -14 -14 -15 -15 -13 -15 -17 -17 -14 -11 -10 -9 -10 -11 -12 -10 -6 -0 -5 -11 -13 -11 -12 -12 -12 -11 -11 -10 -10 -9 -9 -9 -9 -10 -11 -12 -12 -11 -12 -13 -14 -14 -14 -14 -14 -12 -9 -8 -12 -18 -21 -20 -18 -15 -12 -11 -12 -14 -16 -17 -18 -16 -16 -16 -16 -18 -18 -18 -17 -16 -15 -14 -14 -14 -15 -15 -15 -16 -18 -17 -17 -16 -15 -15 -16 -19 -20 -20 -18 -17 -12 -8 -4 -3 -10 -14 -16 -17 -17 -18 -21 -23 -22 -20 -17 -15 -13 -9 -7 -3 -1 -1 -2 -4 -2 -1 -1 -1 -0 -0 -1 -1 -1 -1 -0 -0 -1 -3 -4 -5 -5 -6 -5 -5 -6 -7 -8 -8 -6 -3 -1 -0 -1 -4 -5 -5 -6 -6 -7 -9 -11 -12 -11 -10 -10 -11 -13 -12 -10 -8 -7 -8 -8 -7 -6 -5 -3 -3 -3 -3 -3 -4 -3 -1 1 3 5 7 8 8 8 7 5 4 3 3 3 2 2 3 3 2 3 4 5 4 1 -1 -3 -4 -6 -6 -4 -0 3 1 -3 -6 -8 -10 -9 -8 -10 -13 -15 -10 -2 4 6 5 4 2 -0 4 19 31 34 27 15 8 9 14 18 18 16 16 17 15 12 8 4 -0 -2 -2 -0 3 5 6 6 6 8 7 3 -5 -13 -21 -25 -26 -19 -14 -11 -10 -11 -10 -7 -4 -1 -3 -9 -14 -17 -16 -12 -9 -5 3 12 12 5 -0 -1 5 16 24 28 26 20 17 14 10 4 -3 -5 -3 -2 -5 -12 -16 -18 -17 -15 -10 -7 -5 -5 -4 -5 -8 -12 -15 -16 -15 -13 -10 -7 -7 -8 -9 -10 -11 -12 -13 -16 -19 -20 -14 -8 -2 5 13 20 21 17 9 3 1 -1 -5 -10 -13 -16 -17 -14 -6 2 -1 -9 -18 -18 -13 -11 -11 -14 -16 -17 -18 -17 -15 -14 -14 -15 -14 -14 -16 -18 -19 -19 -15 -15 -17 -20 -22 -23 -20 -19 -18 -18 -18 -18 -18 -19 -21 -21 -21 -20 -20 -21 -23 -23 -23 -24 -26 -28 -29 -30 -30 -28 -25 -21 -18 -16 -17 -17 -17 -17 -18 -18 -18 -18 -18 -20 -16 -14 -14 -15 -15 -14 -14 -16 -16 -14 -13 -13 -12 -11 -13 -13 -12 -7 -0 -2 -7 -10 -11 -12 -10 -9 -9 -10 -9 -9 -9 -9 -9 -10 -11 -13 -14 -12 -10 -11 -12 -13 -14 -14 -15 -14 -13 -10 -7 -10 -15 -20 -20 -19 -17 -14 -13 -13 -13 -15 -16 -18 -16 -16 -16 -16 -17 -17 -18 -18 -16 -16 -15 -14 -14 -14 -15 -15 -16 -17 -17 -17 -17 -16 -15 -16 -17 -19 -19 -19 -19 -15 -10 -6 -3 -8 -13 -15 -15 -14 -15 -19 -22 -23 -22 -20 -17 -15 -5 -1 2 -0 -3 -5 -4 -3 -2 -1 -1 -1 -1 -2 -1 -1 -0 -0 -1 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -5 -4 -3 -2 -2 -2 -4 -6 -7 -7 -7 -7 -9 -10 -11 -11 -10 -8 -8 -11 -15 -16 -12 -8 -6 -7 -8 -7 -6 -5 -3 -3 -3 -4 -4 -3 -2 -1 -0 1 3 5 6 7 8 7 7 6 5 5 5 4 3 3 4 3 2 2 3 2 -0 -2 -3 -3 -3 -5 -3 1 4 3 -0 -4 -7 -9 -9 -8 -9 -14 -20 -18 -10 -1 3 3 4 4 2 -0 4 16 26 29 23 15 11 11 15 20 23 26 27 26 22 16 11 6 1 -1 -1 1 2 3 4 5 7 8 6 -0 -8 -16 -23 -26 -21 -15 -10 -9 -9 -10 -9 -6 -3 -3 -7 -12 -16 -17 -13 -9 -6 -3 6 11 8 3 -2 -1 9 21 30 33 28 24 21 17 10 -1 -4 -2 -0 -0 -6 -11 -15 -16 -16 -12 -9 -7 -6 -5 -7 -11 -15 -17 -16 -13 -12 -10 -8 -6 -6 -7 -9 -11 -12 -14 -17 -20 -20 -15 -12 -11 -10 -3 10 18 19 13 9 8 5 1 -6 -11 -16 -19 -19 -14 -3 -0 -4 -12 -13 -11 -10 -10 -12 -15 -17 -18 -18 -15 -14 -15 -15 -14 -14 -16 -18 -19 -19 -16 -15 -16 -18 -20 -21 -19 -18 -17 -18 -18 -18 -18 -17 -18 -20 -21 -21 -21 -21 -21 -23 -25 -25 -25 -27 -29 -30 -31 -30 -28 -25 -22 -19 -17 -17 -17 -17 -18 -18 -19 -19 -20 -21 -17 -15 -14 -14 -14 -14 -15 -15 -15 -15 -16 -17 -16 -14 -15 -15 -12 -8 -2 -0 -4 -9 -11 -11 -10 -9 -9 -10 -9 -10 -10 -10 -10 -10 -12 -15 -15 -13 -10 -10 -11 -13 -13 -14 -15 -15 -14 -11 -7 -8 -13 -18 -20 -21 -19 -15 -15 -14 -14 -14 -16 -17 -17 -17 -16 -15 -16 -17 -17 -18 -17 -17 -16 -15 -14 -14 -15 -15 -15 -16 -16 -16 -16 -16 -15 -16 -17 -18 -19 -20 -21 -19 -15 -9 -5 -8 -12 -16 -16 -14 -15 -17 -20 -23 -24 -22 -20 -18 -1 1 -0 -3 -5 -5 -4 -3 -2 -2 -2 -2 -2 -1 -1 -1 -0 -1 -3 -4 -5 -5 -6 -7 -7 -7 -6 -5 -4 -3 -3 -2 -2 -3 -4 -5 -6 -7 -8 -8 -9 -11 -12 -12 -10 -7 -5 -6 -11 -18 -20 -16 -11 -8 -9 -9 -7 -6 -6 -5 -4 -4 -5 -4 -3 -2 -1 -1 -0 1 3 4 5 6 7 7 7 7 6 6 5 4 4 4 4 2 1 -0 -1 -3 -4 -3 -2 -3 -4 -3 -0 4 5 3 -0 -3 -6 -8 -7 -8 -13 -21 -23 -17 -8 -0 1 3 4 4 1 -3 1 10 18 21 17 11 7 8 14 21 29 34 35 31 24 19 13 6 1 -1 -1 -0 1 2 2 4 7 8 3 -4 -11 -19 -24 -22 -16 -10 -7 -8 -9 -10 -9 -6 -3 -5 -9 -15 -17 -14 -10 -7 -5 -1 6 9 7 1 -3 2 12 25 35 35 35 34 31 22 10 -0 -4 -4 -0 -1 -7 -13 -16 -17 -13 -10 -9 -8 -7 -9 -13 -17 -20 -17 -13 -10 -9 -8 -6 -5 -6 -8 -11 -13 -16 -19 -21 -21 -17 -15 -16 -18 -17 -8 5 16 16 13 11 9 5 -0 -6 -12 -17 -21 -20 -11 -4 -2 -6 -9 -10 -9 -8 -10 -14 -16 -17 -17 -16 -15 -16 -16 -15 -15 -15 -17 -18 -17 -15 -14 -15 -17 -18 -19 -18 -17 -17 -18 -17 -18 -17 -16 -17 -18 -19 -20 -21 -21 -20 -21 -23 -24 -24 -25 -27 -29 -31 -32 -31 -29 -26 -23 -19 -18 -18 -19 -18 -20 -21 -22 -21 -21 -19 -16 -14 -14 -14 -15 -16 -16 -15 -16 -19 -20 -18 -16 -16 -15 -13 -8 -3 -1 -4 -9 -13 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -13 -14 -16 -15 -13 -11 -11 -11 -12 -13 -14 -15 -15 -14 -12 -8 -8 -11 -17 -20 -22 -21 -17 -16 -16 -15 -14 -15 -16 -18 -18 -16 -15 -15 -16 -17 -18 -18 -16 -16 -15 -14 -15 -15 -15 -15 -15 -15 -15 -16 -16 -16 -16 -18 -19 -19 -20 -21 -21 -18 -13 -7 -8 -12 -17 -17 -15 -15 -16 -18 -21 -24 -24 -22 -20 -0 -0 -2 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -3 -4 -5 -6 -6 -6 -7 -7 -6 -4 -3 -3 -3 -3 -3 -3 -3 -4 -5 -6 -8 -9 -10 -12 -12 -12 -10 -6 -4 -6 -9 -15 -22 -26 -23 -18 -13 -11 -9 -7 -6 -6 -6 -5 -5 -4 -2 -1 -0 -0 -1 -1 -0 -0 2 3 6 7 8 8 8 8 7 5 4 3 3 5 4 2 -1 -4 -6 -6 -4 -2 -1 -3 -4 -3 -0 3 3 2 -1 -3 -5 -6 -7 -11 -19 -23 -21 -15 -6 1 4 4 3 2 -1 -3 -1 4 10 11 7 1 -1 1 11 22 33 41 39 32 26 19 13 6 1 -0 -0 1 1 -0 1 3 5 4 -0 -7 -15 -21 -21 -17 -11 -6 -6 -8 -10 -10 -8 -4 -4 -7 -12 -17 -15 -11 -7 -6 -5 2 9 11 7 -1 -3 2 12 27 36 38 39 38 35 26 15 5 -3 -1 -0 -3 -8 -13 -16 -14 -11 -9 -9 -9 -11 -15 -19 -22 -18 -13 -8 -7 -7 -5 -3 -3 -6 -10 -13 -17 -20 -22 -22 -20 -18 -18 -21 -23 -21 -12 -0 8 11 13 13 10 6 -0 -7 -13 -19 -21 -18 -10 -3 -1 -5 -7 -7 -7 -9 -13 -15 -16 -15 -15 -16 -16 -16 -15 -15 -16 -16 -16 -15 -14 -13 -14 -15 -17 -17 -16 -16 -17 -18 -17 -17 -18 -17 -17 -17 -18 -19 -21 -21 -20 -20 -21 -22 -21 -22 -24 -26 -30 -32 -32 -31 -28 -25 -21 -19 -18 -20 -20 -22 -24 -25 -22 -21 -19 -17 -15 -15 -15 -15 -16 -16 -15 -19 -21 -21 -18 -17 -16 -15 -12 -8 -5 -2 -3 -8 -14 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -15 -16 -16 -16 -14 -12 -11 -11 -12 -13 -14 -15 -14 -14 -12 -10 -8 -10 -17 -21 -22 -21 -18 -18 -17 -15 -14 -14 -16 -18 -18 -17 -16 -15 -16 -16 -17 -18 -16 -16 -16 -15 -15 -15 -15 -15 -15 -15 -15 -16 -17 -16 -17 -18 -19 -19 -20 -20 -20 -19 -15 -11 -9 -11 -16 -18 -17 -16 -16 -17 -20 -23 -24 -23 -23 -1 -3 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -6 -6 -6 -6 -5 -4 -3 -3 -4 -3 -3 -3 -3 -4 -5 -6 -8 -9 -11 -12 -11 -9 -7 -7 -9 -11 -13 -18 -28 -39 -36 -27 -17 -11 -10 -8 -5 -3 -4 -4 -3 -2 -1 -0 -0 -0 -0 -1 -1 -1 -1 1 3 5 7 8 9 10 10 8 6 4 3 4 4 3 -1 -6 -8 -8 -7 -4 -1 -1 -2 -5 -4 -1 1 2 1 -0 -3 -5 -6 -8 -15 -21 -22 -19 -12 -5 3 6 5 2 -0 -2 -2 1 4 6 3 -0 -4 -5 -1 8 22 38 44 39 32 25 20 13 6 1 -1 -1 1 -0 -1 -1 -0 2 1 -4 -11 -19 -20 -17 -10 -5 -5 -7 -9 -9 -8 -6 -4 -5 -9 -14 -15 -12 -8 -5 -6 -2 6 13 13 6 -1 -2 1 11 25 33 39 42 42 36 28 16 3 -4 -4 -3 -3 -6 -12 -12 -10 -8 -10 -12 -13 -15 -19 -22 -20 -14 -8 -4 -6 -5 -3 -2 -4 -8 -13 -17 -20 -23 -22 -20 -19 -19 -22 -24 -24 -19 -10 -2 1 3 5 6 6 3 -1 -6 -12 -17 -18 -15 -9 -1 -1 -3 -5 -6 -8 -12 -14 -15 -15 -14 -14 -15 -16 -16 -16 -15 -15 -15 -15 -15 -15 -15 -15 -17 -16 -16 -16 -18 -19 -18 -18 -19 -18 -19 -18 -18 -19 -21 -21 -21 -21 -20 -21 -20 -21 -23 -25 -28 -29 -31 -31 -29 -27 -23 -20 -18 -19 -21 -24 -26 -25 -22 -20 -18 -17 -16 -16 -16 -15 -15 -15 -17 -22 -22 -19 -17 -17 -16 -14 -11 -9 -6 -2 -1 -5 -13 -12 -13 -14 -14 -14 -15 -16 -17 -17 -17 -17 -17 -17 -17 -16 -14 -12 -12 -12 -13 -14 -14 -15 -14 -12 -10 -9 -10 -17 -21 -22 -22 -20 -20 -18 -15 -14 -14 -15 -17 -18 -18 -17 -16 -16 -16 -17 -17 -17 -16 -16 -16 -16 -15 -14 -14 -14 -15 -15 -16 -16 -17 -17 -18 -18 -19 -20 -20 -20 -20 -15 -12 -10 -10 -14 -16 -16 -16 -15 -16 -18 -22 -24 -24 -25 -2 -4 -4 -3 -3 -3 -3 -4 -3 -2 -2 -3 -2 -2 -3 -3 -3 -3 -4 -4 -5 -6 -6 -6 -5 -4 -4 -4 -4 -3 -3 -3 -3 -4 -5 -6 -7 -8 -9 -10 -9 -8 -7 -7 -8 -9 -9 -9 -12 -22 -41 -47 -38 -22 -11 -10 -8 -5 -3 -3 -3 -2 -1 -0 1 1 -0 -0 -0 -0 -1 -1 -1 1 3 4 6 8 9 10 10 8 6 4 4 4 3 -0 -6 -9 -10 -8 -6 -2 1 -0 -2 -5 -4 -2 -0 1 1 -2 -4 -5 -7 -11 -17 -20 -20 -16 -12 -2 5 8 6 1 -2 -2 -0 3 4 4 1 -2 -3 -4 -3 6 22 39 43 37 30 24 20 13 6 -0 -1 2 2 -0 -3 -5 -3 -0 -1 -7 -16 -19 -17 -10 -2 -1 -5 -8 -9 -9 -8 -6 -4 -6 -11 -14 -13 -9 -5 -5 -4 1 9 16 13 6 -1 -4 -1 8 18 28 36 42 39 33 23 10 -2 -6 -5 -3 -3 -4 -6 -6 -5 -7 -12 -13 -15 -17 -21 -21 -15 -8 -3 -3 -4 -4 -3 -2 -6 -12 -17 -20 -22 -22 -21 -19 -19 -21 -23 -24 -21 -15 -6 -6 -5 -4 -2 1 -0 -1 -4 -6 -11 -15 -17 -14 -7 -0 1 -2 -5 -8 -11 -13 -14 -14 -13 -13 -14 -15 -15 -15 -14 -13 -14 -15 -15 -16 -15 -14 -14 -14 -14 -16 -18 -19 -20 -20 -19 -19 -21 -19 -19 -19 -21 -21 -22 -22 -22 -21 -21 -22 -23 -25 -25 -28 -31 -32 -31 -29 -25 -21 -19 -20 -22 -26 -27 -25 -22 -20 -18 -18 -17 -17 -16 -15 -14 -16 -20 -22 -21 -19 -18 -19 -16 -13 -10 -10 -7 -3 -0 -2 -10 -12 -13 -15 -15 -15 -15 -15 -17 -18 -17 -16 -16 -17 -18 -17 -16 -14 -13 -13 -13 -14 -15 -15 -14 -12 -11 -9 -10 -16 -20 -24 -24 -22 -22 -19 -16 -14 -13 -14 -15 -18 -18 -18 -18 -18 -16 -17 -17 -18 -17 -17 -17 -16 -15 -13 -13 -14 -14 -15 -15 -15 -16 -17 -18 -18 -19 -20 -21 -21 -20 -16 -13 -10 -8 -12 -14 -16 -16 -16 -16 -18 -20 -22 -25 -25 -3 -3 -2 -2 -2 -3 -4 -4 -4 -3 -3 -2 -2 -2 -3 -4 -4 -4 -4 -3 -3 -5 -5 -5 -5 -4 -4 -3 -3 -4 -3 -3 -4 -4 -6 -8 -9 -9 -8 -8 -6 -6 -6 -6 -7 -7 -4 -1 -0 -3 -19 -35 -38 -28 -11 -8 -6 -5 -2 -2 -2 -2 -1 -0 1 -0 -0 -0 -0 -0 -0 -1 -0 -0 -0 1 3 5 7 9 9 9 8 6 4 4 3 -0 -5 -8 -10 -9 -8 -3 1 3 1 -3 -5 -4 -3 -1 -0 -2 -3 -4 -6 -8 -13 -17 -19 -18 -16 -9 -0 7 10 6 1 -2 -2 1 2 3 2 1 -0 -2 -4 -3 5 23 37 41 36 28 24 19 12 5 -0 2 2 1 -3 -8 -8 -4 -1 -3 -12 -18 -18 -12 -1 2 -1 -5 -8 -10 -10 -8 -6 -4 -7 -12 -13 -10 -4 -2 -4 -2 4 14 16 11 5 -1 -5 -4 2 10 19 26 30 31 26 17 4 -4 -6 -6 -3 -2 -3 -3 -3 -4 -9 -11 -12 -13 -16 -19 -17 -11 -4 -2 -4 -5 -4 -2 -4 -10 -15 -20 -21 -21 -20 -19 -18 -20 -21 -23 -22 -17 -8 -7 -8 -9 -7 -5 -5 -7 -7 -6 -8 -11 -14 -15 -12 -5 -0 1 -3 -8 -11 -13 -14 -14 -13 -12 -12 -14 -14 -13 -13 -12 -12 -14 -16 -17 -16 -13 -12 -13 -14 -15 -18 -19 -19 -19 -20 -21 -21 -21 -21 -20 -21 -21 -22 -23 -23 -22 -21 -22 -24 -25 -25 -27 -30 -32 -32 -31 -27 -24 -23 -24 -24 -26 -27 -23 -20 -19 -20 -20 -18 -17 -17 -17 -16 -17 -20 -22 -23 -23 -21 -20 -17 -14 -11 -10 -7 -4 -1 -0 -9 -12 -14 -16 -17 -15 -15 -16 -18 -17 -16 -16 -16 -17 -17 -18 -17 -16 -14 -13 -13 -14 -15 -15 -14 -13 -10 -8 -9 -14 -19 -23 -24 -23 -23 -21 -18 -16 -13 -13 -14 -18 -19 -19 -19 -19 -17 -17 -18 -18 -18 -18 -18 -17 -15 -14 -13 -14 -14 -15 -15 -15 -15 -16 -17 -18 -20 -21 -22 -22 -20 -18 -15 -11 -9 -11 -13 -16 -16 -16 -16 -18 -19 -21 -23 -24 -2 -2 -2 -2 -3 -4 -6 -6 -6 -5 -4 -2 -2 -2 -3 -4 -4 -3 -2 -2 -3 -4 -5 -4 -4 -4 -4 -3 -3 -4 -4 -4 -4 -5 -6 -8 -9 -9 -8 -7 -6 -5 -4 -4 -4 -5 -2 2 4 5 -2 -17 -25 -21 -9 -6 -5 -3 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 -0 -1 -1 -0 2 3 5 7 8 9 8 6 5 3 1 -3 -7 -9 -10 -8 -5 -0 3 3 -1 -4 -5 -5 -4 -2 -2 -3 -4 -5 -6 -10 -14 -17 -18 -17 -14 -8 -0 9 10 7 2 -1 -1 -0 1 2 2 2 2 -0 -3 -3 6 24 37 41 34 28 23 17 10 4 4 3 2 -2 -8 -10 -9 -4 -2 -7 -16 -19 -15 -4 4 4 -1 -6 -10 -12 -12 -9 -6 -6 -9 -11 -9 -4 1 -1 -2 -0 8 16 16 11 5 -1 -5 -5 -3 -0 5 14 22 25 21 12 3 -3 -6 -5 -3 -4 -4 -4 -3 -7 -9 -10 -10 -13 -16 -16 -13 -7 -3 -3 -3 -3 -3 -3 -7 -13 -18 -21 -20 -18 -17 -17 -18 -20 -22 -23 -19 -9 -6 -7 -9 -9 -7 -9 -10 -11 -10 -9 -9 -11 -13 -13 -10 -5 -2 -3 -9 -12 -13 -13 -13 -12 -11 -12 -14 -14 -13 -13 -12 -12 -13 -16 -18 -17 -15 -13 -13 -14 -15 -18 -19 -19 -19 -20 -21 -22 -23 -22 -22 -21 -21 -22 -23 -23 -23 -23 -24 -24 -24 -25 -27 -30 -33 -32 -32 -29 -26 -26 -28 -27 -26 -24 -21 -19 -20 -22 -22 -20 -18 -18 -18 -17 -18 -21 -23 -23 -24 -22 -21 -18 -15 -13 -11 -8 -5 -2 -0 -9 -14 -16 -16 -17 -16 -15 -17 -18 -17 -16 -16 -17 -17 -17 -18 -19 -18 -15 -14 -13 -14 -15 -16 -16 -14 -11 -8 -9 -13 -17 -21 -21 -22 -23 -22 -20 -17 -14 -12 -13 -16 -19 -20 -20 -20 -17 -18 -18 -18 -18 -18 -18 -17 -17 -16 -15 -14 -14 -16 -16 -16 -16 -16 -17 -18 -20 -21 -22 -22 -21 -21 -18 -15 -11 -10 -13 -15 -16 -16 -16 -17 -18 -20 -21 -22 -1 -1 -2 -3 -4 -5 -6 -6 -6 -5 -3 -3 -2 -3 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -3 -4 -4 -5 -4 -4 -4 -4 -4 -5 -6 -7 -8 -8 -8 -7 -6 -5 -4 -4 -4 -5 -3 -2 -0 1 -0 -7 -10 -9 -6 -6 -4 -2 -1 1 1 1 1 -0 1 1 -0 -0 -1 -0 1 2 2 1 -0 -1 -1 -1 -0 2 4 6 7 8 7 7 5 3 -1 -5 -9 -10 -8 -5 -2 1 3 1 -3 -5 -6 -6 -5 -3 -3 -3 -3 -5 -8 -12 -17 -18 -16 -15 -13 -9 -1 9 11 8 3 -1 -2 -1 1 2 2 4 4 2 -2 -3 8 25 38 41 34 28 21 15 10 8 6 3 -1 -6 -11 -12 -8 -3 -4 -12 -18 -18 -10 3 6 3 -3 -7 -11 -13 -12 -10 -8 -9 -10 -8 -3 4 4 -0 -1 3 12 16 15 11 4 -1 -4 -5 -5 -7 -1 9 18 21 16 10 3 -2 -4 -3 -5 -6 -7 -6 -8 -8 -8 -8 -10 -12 -13 -12 -9 -5 -3 -2 -3 -5 -5 -7 -12 -17 -21 -21 -18 -16 -15 -15 -17 -21 -23 -21 -12 -7 -6 -7 -8 -8 -9 -11 -12 -11 -10 -9 -9 -11 -13 -13 -9 -5 -3 -8 -12 -13 -12 -12 -12 -12 -13 -15 -14 -15 -14 -13 -12 -13 -16 -18 -18 -16 -14 -14 -14 -15 -18 -20 -20 -20 -21 -21 -22 -24 -25 -25 -21 -21 -22 -24 -24 -23 -24 -25 -25 -24 -25 -26 -29 -32 -33 -34 -31 -28 -28 -30 -28 -26 -24 -23 -22 -22 -23 -26 -22 -20 -19 -19 -18 -18 -21 -23 -23 -25 -23 -21 -18 -15 -14 -13 -11 -7 -3 -1 -9 -14 -16 -15 -17 -16 -16 -17 -17 -17 -16 -16 -17 -17 -19 -20 -21 -20 -18 -16 -14 -14 -16 -17 -18 -16 -13 -8 -8 -11 -16 -19 -19 -21 -22 -22 -20 -19 -16 -13 -12 -14 -18 -20 -20 -20 -19 -19 -18 -18 -18 -18 -18 -18 -18 -18 -16 -14 -14 -15 -16 -16 -16 -16 -16 -17 -20 -21 -22 -23 -23 -23 -22 -19 -14 -11 -12 -15 -16 -16 -17 -17 -17 -19 -20 -20 -1 -2 -3 -4 -6 -6 -6 -7 -5 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 -2 -4 -5 -7 -7 -6 -5 -4 -4 -4 -6 -6 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -6 -4 -3 -3 -3 -5 -6 -6 -6 -6 -4 -2 -0 1 1 1 1 1 1 1 1 -0 -1 -1 -0 1 1 1 1 -0 -1 -1 -1 -0 1 2 4 5 7 8 8 7 2 -3 -7 -9 -8 -6 -3 -0 1 1 -2 -4 -6 -6 -6 -5 -3 -2 -2 -3 -6 -11 -16 -18 -15 -14 -14 -15 -13 -1 9 12 8 1 -2 -3 -1 1 2 4 6 6 3 -3 -2 9 26 40 39 33 27 21 18 14 10 4 -1 -4 -9 -12 -11 -6 -3 -8 -14 -18 -15 -2 6 7 2 -5 -9 -13 -14 -13 -11 -11 -11 -8 -3 7 8 5 1 2 8 12 14 13 10 5 1 -1 -3 -7 -8 -3 6 14 15 12 8 3 -0 -1 -4 -7 -10 -9 -10 -9 -8 -7 -9 -11 -12 -11 -9 -6 -4 -2 -2 -6 -8 -9 -12 -16 -21 -23 -20 -16 -12 -12 -15 -19 -22 -21 -15 -9 -6 -6 -8 -8 -9 -10 -11 -10 -9 -8 -8 -10 -13 -15 -13 -9 -5 -7 -11 -12 -12 -11 -11 -12 -14 -16 -16 -17 -16 -14 -12 -12 -15 -17 -18 -17 -16 -15 -15 -16 -18 -20 -21 -21 -21 -21 -22 -25 -28 -29 -24 -22 -22 -25 -25 -23 -23 -24 -24 -23 -23 -24 -27 -30 -32 -34 -32 -29 -29 -30 -29 -27 -24 -26 -25 -23 -23 -26 -24 -22 -21 -20 -20 -19 -20 -22 -23 -25 -24 -22 -19 -16 -14 -14 -12 -9 -4 -2 -7 -12 -15 -14 -17 -17 -17 -16 -16 -17 -17 -17 -17 -17 -19 -21 -22 -22 -21 -18 -16 -15 -17 -19 -19 -18 -15 -9 -7 -9 -14 -18 -18 -20 -21 -20 -19 -19 -16 -14 -12 -12 -17 -19 -20 -20 -21 -20 -19 -19 -19 -18 -18 -18 -18 -18 -16 -14 -13 -13 -15 -16 -16 -16 -16 -18 -20 -21 -23 -23 -23 -24 -23 -22 -18 -14 -13 -14 -16 -16 -16 -16 -17 -19 -19 -20 -3 -4 -5 -5 -6 -7 -6 -5 -4 -3 -2 -2 -3 -3 -4 -4 -5 -4 -4 -3 -3 -2 -1 -1 -2 -4 -6 -9 -9 -9 -7 -6 -5 -4 -5 -5 -6 -7 -8 -8 -9 -9 -10 -9 -8 -5 -3 -1 -0 -0 -2 -5 -7 -7 -6 -7 -6 -4 -2 -1 1 1 1 -0 -0 -0 1 1 -1 -1 -1 -0 1 1 1 -0 -2 -2 -1 1 1 1 1 1 2 5 8 10 6 -0 -5 -8 -8 -6 -4 -3 -3 -2 -3 -3 -4 -5 -5 -4 -3 -1 -0 -1 -4 -10 -15 -18 -17 -13 -13 -15 -17 -13 -1 9 12 6 -1 -3 -3 -0 1 3 6 8 8 2 -3 -1 8 25 36 36 32 28 25 21 14 7 1 -2 -6 -11 -13 -9 -5 -5 -10 -16 -18 -9 2 9 8 -0 -6 -12 -15 -16 -15 -14 -13 -10 -5 6 11 9 3 1 6 9 11 11 10 7 3 -0 -1 -5 -8 -7 -2 6 8 7 5 3 2 2 -1 -5 -9 -11 -11 -10 -8 -7 -9 -11 -12 -11 -10 -8 -6 -4 -3 -5 -10 -12 -14 -15 -20 -23 -22 -18 -11 -9 -12 -16 -19 -21 -17 -11 -7 -6 -7 -8 -8 -9 -9 -9 -9 -8 -8 -9 -14 -16 -15 -12 -9 -9 -11 -13 -13 -11 -10 -12 -14 -15 -16 -17 -17 -16 -13 -11 -13 -16 -19 -18 -17 -17 -17 -18 -19 -20 -20 -20 -20 -21 -23 -25 -28 -29 -26 -23 -22 -22 -23 -23 -23 -22 -22 -22 -21 -21 -23 -26 -30 -33 -33 -30 -29 -29 -28 -25 -23 -25 -24 -23 -22 -23 -23 -23 -23 -23 -23 -19 -19 -20 -23 -25 -26 -24 -21 -17 -15 -14 -12 -10 -7 -3 -5 -10 -15 -15 -16 -17 -17 -16 -15 -17 -18 -18 -18 -18 -19 -20 -22 -23 -22 -20 -17 -16 -17 -18 -19 -18 -16 -11 -7 -8 -12 -17 -17 -19 -20 -20 -19 -19 -17 -15 -13 -11 -14 -17 -19 -19 -22 -21 -20 -19 -19 -18 -18 -18 -18 -18 -16 -15 -14 -13 -15 -15 -16 -16 -16 -17 -19 -21 -22 -24 -25 -26 -25 -24 -22 -17 -13 -13 -15 -16 -16 -16 -18 -19 -19 -19 -5 -5 -6 -6 -6 -6 -5 -4 -3 -2 -2 -2 -3 -4 -4 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -4 -8 -10 -10 -10 -9 -8 -6 -5 -4 -5 -6 -6 -7 -8 -9 -9 -9 -7 -5 -5 -5 -5 -4 -3 -3 -5 -6 -7 -7 -8 -7 -6 -4 -2 -1 1 2 2 1 1 -0 -0 -0 -1 -1 -1 -0 1 1 1 -0 -2 -2 -0 2 2 1 -1 -1 -0 4 7 9 5 -0 -5 -8 -6 -4 -5 -6 -6 -4 -4 -4 -4 -4 -3 -3 -1 1 2 -2 -8 -14 -19 -18 -14 -13 -14 -18 -19 -12 -1 10 10 3 -1 -3 -2 -2 -0 3 8 12 9 3 -3 -4 2 17 26 30 31 32 28 20 10 2 -0 -3 -8 -12 -12 -7 -4 -6 -11 -16 -14 -5 5 12 8 -1 -9 -15 -17 -17 -17 -15 -13 -9 2 11 12 7 3 5 8 10 10 8 7 4 2 -0 -1 -5 -7 -5 1 5 6 3 1 -0 1 -0 -4 -8 -10 -10 -10 -8 -8 -9 -12 -13 -13 -11 -9 -8 -6 -4 -5 -11 -15 -17 -16 -18 -22 -23 -20 -12 -8 -9 -13 -17 -19 -18 -13 -9 -7 -7 -7 -8 -8 -9 -9 -10 -10 -9 -10 -14 -16 -16 -14 -11 -11 -12 -14 -13 -11 -10 -11 -13 -15 -15 -16 -18 -18 -14 -13 -14 -17 -20 -20 -20 -20 -20 -20 -19 -19 -20 -20 -20 -20 -23 -26 -27 -28 -25 -23 -22 -22 -21 -22 -21 -21 -21 -20 -19 -19 -20 -22 -27 -30 -31 -30 -29 -28 -26 -23 -22 -23 -22 -21 -22 -23 -23 -24 -23 -23 -23 -20 -19 -19 -22 -24 -25 -24 -21 -18 -16 -15 -13 -11 -10 -5 -4 -7 -12 -13 -15 -17 -17 -16 -16 -17 -18 -18 -18 -18 -19 -19 -21 -22 -23 -21 -19 -17 -18 -18 -17 -17 -17 -14 -9 -7 -11 -16 -16 -18 -20 -20 -19 -19 -19 -17 -14 -11 -11 -15 -19 -18 -20 -20 -20 -19 -19 -19 -19 -19 -18 -18 -17 -16 -14 -14 -15 -16 -16 -16 -16 -17 -18 -20 -22 -24 -26 -26 -26 -25 -24 -20 -14 -11 -15 -17 -17 -17 -19 -20 -20 -19 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -2 -2 -3 -4 -4 -3 -2 -1 -2 -2 -3 -3 -3 -2 -3 -6 -9 -9 -9 -8 -7 -7 -4 -3 -3 -4 -5 -6 -7 -8 -8 -8 -7 -5 -5 -5 -6 -6 -4 -3 -2 -2 -3 -5 -6 -7 -8 -8 -7 -4 -2 -0 2 4 3 1 -0 -0 -0 1 -0 -0 -1 -1 1 1 -0 -2 -3 -1 -0 1 2 -0 -3 -3 -1 3 8 8 5 -0 -4 -5 -4 -5 -7 -7 -6 -5 -6 -6 -4 -2 -2 -1 -0 2 -1 -5 -11 -17 -17 -15 -12 -12 -17 -21 -18 -9 3 9 5 1 -1 -2 -2 -2 -0 5 12 13 9 4 -1 -5 -4 2 13 25 34 31 24 14 5 2 -1 -4 -9 -12 -9 -5 -4 -7 -14 -18 -13 -1 12 15 6 -5 -13 -17 -19 -19 -17 -15 -14 -6 6 12 11 6 5 6 8 9 6 5 4 2 -0 -0 -3 -6 -7 -4 2 6 6 5 2 1 -0 -2 -4 -7 -8 -9 -8 -8 -9 -12 -14 -15 -13 -11 -9 -7 -5 -6 -11 -17 -20 -19 -18 -19 -21 -20 -14 -7 -7 -10 -14 -18 -18 -15 -11 -7 -7 -7 -7 -7 -8 -9 -10 -10 -10 -12 -15 -17 -17 -15 -12 -13 -14 -14 -14 -13 -11 -10 -12 -14 -14 -15 -17 -19 -17 -15 -16 -18 -20 -20 -21 -21 -21 -20 -19 -19 -19 -20 -20 -20 -22 -25 -27 -27 -24 -22 -22 -22 -22 -21 -20 -20 -20 -18 -18 -18 -19 -20 -24 -28 -29 -29 -28 -26 -23 -22 -23 -22 -20 -19 -21 -23 -23 -23 -23 -23 -21 -19 -18 -19 -21 -21 -22 -21 -19 -19 -18 -16 -14 -12 -11 -6 -4 -5 -11 -12 -15 -17 -16 -16 -16 -17 -18 -18 -18 -18 -18 -18 -19 -21 -22 -22 -21 -19 -19 -19 -17 -16 -17 -15 -11 -8 -10 -15 -16 -18 -20 -21 -20 -20 -20 -19 -16 -12 -12 -14 -18 -17 -17 -18 -20 -19 -19 -18 -18 -19 -20 -19 -18 -16 -15 -15 -16 -17 -17 -17 -16 -16 -17 -19 -22 -24 -25 -26 -25 -24 -25 -22 -17 -11 -13 -17 -18 -17 -18 -20 -20 -20 -7 -5 -4 -4 -5 -5 -5 -5 -5 -4 -3 -2 -2 -3 -3 -2 -1 -1 -1 -2 -2 -4 -4 -5 -5 -7 -10 -10 -10 -8 -6 -4 -2 -3 -4 -6 -7 -7 -8 -8 -8 -7 -5 -4 -3 -4 -5 -5 -3 -1 -0 -0 -0 -2 -3 -5 -7 -8 -7 -4 -3 -2 -0 3 4 2 1 -0 -1 -0 -0 -0 -1 -2 -2 -1 -0 -1 -3 -3 -1 1 3 2 -1 -3 -3 -0 4 8 8 5 -0 -2 -3 -5 -6 -7 -5 -6 -7 -9 -7 -3 -1 -1 -0 1 -0 -4 -9 -15 -17 -15 -12 -12 -15 -21 -21 -15 -4 6 5 3 1 -0 -1 -3 -3 -0 7 12 12 10 5 -0 -6 -9 -7 3 19 26 25 17 8 4 1 -2 -5 -10 -10 -7 -4 -4 -10 -17 -17 -10 4 15 10 1 -8 -16 -21 -21 -18 -15 -15 -12 -3 7 14 12 7 5 6 8 6 4 3 1 -0 -0 -1 -3 -6 -7 -2 5 10 13 11 7 4 2 -0 -4 -7 -9 -9 -8 -9 -12 -15 -16 -15 -12 -10 -7 -5 -7 -12 -19 -23 -22 -17 -17 -19 -20 -16 -9 -6 -8 -13 -17 -18 -16 -12 -9 -7 -7 -7 -7 -7 -8 -9 -10 -10 -11 -14 -15 -15 -12 -11 -13 -14 -14 -15 -15 -13 -12 -12 -12 -12 -13 -15 -18 -17 -15 -16 -18 -19 -20 -21 -22 -21 -20 -20 -20 -20 -21 -21 -21 -21 -23 -26 -26 -23 -21 -21 -23 -23 -21 -20 -21 -20 -19 -19 -19 -21 -21 -25 -28 -30 -30 -26 -24 -22 -21 -22 -21 -18 -17 -19 -21 -23 -23 -23 -22 -20 -18 -17 -17 -19 -20 -21 -20 -19 -21 -20 -19 -16 -14 -12 -8 -5 -5 -11 -13 -15 -16 -16 -16 -16 -17 -17 -18 -18 -18 -18 -17 -18 -19 -20 -21 -21 -20 -19 -18 -17 -17 -18 -16 -13 -10 -9 -13 -16 -19 -21 -21 -21 -21 -21 -20 -17 -14 -12 -12 -16 -16 -15 -16 -19 -20 -19 -18 -18 -19 -20 -20 -19 -17 -16 -16 -16 -16 -16 -17 -17 -16 -16 -19 -21 -23 -24 -24 -24 -24 -25 -24 -19 -12 -12 -16 -18 -17 -17 -18 -19 -19 -5 -4 -3 -4 -5 -6 -6 -5 -5 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -5 -5 -6 -7 -9 -8 -6 -4 -3 -2 -3 -5 -6 -8 -9 -11 -10 -10 -8 -5 -3 -3 -3 -4 -3 -2 -1 -0 1 1 1 -0 -1 -2 -4 -6 -5 -3 -2 -3 -2 1 4 3 2 -0 -2 -1 -0 -0 -0 -2 -3 -3 -2 -2 -3 -3 -2 -0 3 5 2 -1 -2 -2 -0 5 8 7 4 1 -1 -3 -4 -5 -4 -5 -9 -12 -11 -5 -1 -0 -0 -0 -0 -3 -7 -13 -16 -14 -12 -11 -14 -20 -22 -18 -10 1 4 3 2 2 1 -1 -3 -3 -0 7 11 12 9 5 -1 -8 -12 -10 3 16 21 18 10 5 3 -0 -3 -7 -9 -8 -5 -4 -9 -15 -19 -17 -7 8 11 7 -3 -12 -20 -22 -19 -15 -14 -13 -9 -1 11 16 11 7 6 7 6 5 3 1 -1 -1 -1 -2 -4 -7 -5 1 9 17 19 14 10 7 6 2 -3 -7 -9 -9 -9 -11 -14 -17 -16 -14 -10 -7 -6 -8 -14 -20 -24 -23 -16 -15 -17 -20 -18 -11 -7 -7 -11 -16 -18 -17 -14 -10 -9 -8 -8 -7 -6 -7 -8 -9 -10 -11 -12 -13 -13 -13 -12 -13 -14 -15 -16 -16 -15 -14 -13 -11 -10 -11 -14 -16 -15 -15 -16 -17 -17 -18 -20 -21 -21 -20 -21 -21 -21 -21 -21 -21 -21 -21 -23 -24 -23 -21 -21 -22 -23 -22 -21 -22 -21 -21 -20 -20 -21 -22 -25 -29 -33 -31 -25 -22 -21 -20 -19 -19 -17 -16 -18 -20 -22 -23 -23 -22 -20 -17 -16 -16 -17 -20 -21 -21 -21 -21 -22 -21 -18 -16 -14 -10 -7 -6 -11 -15 -17 -17 -16 -16 -16 -16 -17 -17 -17 -17 -16 -16 -18 -18 -19 -20 -20 -19 -17 -17 -17 -19 -19 -18 -16 -13 -10 -13 -16 -19 -21 -21 -22 -21 -21 -20 -19 -17 -13 -11 -13 -16 -15 -15 -17 -19 -18 -17 -17 -18 -20 -20 -19 -18 -17 -16 -16 -16 -16 -16 -16 -15 -15 -17 -20 -21 -22 -22 -23 -23 -25 -26 -21 -15 -14 -15 -17 -16 -16 -17 -18 -19 -2 -2 -4 -6 -6 -6 -5 -3 -2 -1 -0 -0 -1 -2 -3 -4 -4 -4 -4 -5 -5 -5 -6 -7 -8 -8 -8 -5 -1 1 -0 -4 -8 -9 -7 -6 -9 -13 -13 -12 -8 -3 -2 -3 -5 -5 -3 -1 -0 -0 -0 1 1 1 -0 -1 -3 -4 -3 -2 -1 -2 -3 -1 2 3 2 -0 -2 -3 -1 -0 -0 -2 -3 -4 -5 -4 -3 -4 -3 -2 1 5 5 2 -0 -1 -0 2 5 7 6 2 1 -1 -2 -3 -2 -4 -9 -14 -14 -8 -2 1 1 1 -0 -3 -6 -12 -15 -14 -11 -10 -12 -18 -21 -20 -14 -4 1 2 1 2 3 2 -1 -4 -4 1 6 9 10 8 3 -3 -9 -12 -6 6 14 16 12 7 4 1 -1 -4 -7 -7 -6 -5 -7 -14 -18 -19 -14 -0 8 9 2 -9 -18 -22 -21 -17 -12 -10 -10 -7 1 13 16 14 10 9 8 6 4 1 -2 -2 -1 -1 -3 -6 -8 -5 3 13 20 18 15 12 10 9 4 -2 -7 -9 -9 -10 -12 -15 -16 -14 -11 -7 -6 -8 -13 -20 -24 -24 -17 -15 -15 -19 -20 -15 -10 -8 -10 -12 -15 -17 -16 -12 -10 -9 -8 -7 -6 -6 -7 -8 -9 -10 -12 -13 -13 -13 -13 -13 -14 -16 -16 -16 -16 -15 -14 -10 -9 -11 -13 -14 -13 -14 -15 -16 -15 -16 -19 -21 -22 -22 -22 -22 -22 -22 -21 -20 -19 -19 -20 -22 -22 -21 -20 -21 -22 -23 -22 -22 -22 -22 -21 -21 -20 -21 -24 -28 -33 -32 -25 -22 -20 -20 -20 -19 -17 -16 -17 -18 -20 -22 -22 -21 -19 -18 -16 -15 -15 -18 -21 -23 -24 -24 -24 -24 -22 -20 -16 -12 -8 -7 -10 -15 -18 -18 -17 -16 -16 -16 -16 -16 -16 -16 -16 -16 -18 -19 -19 -19 -20 -19 -17 -16 -17 -20 -20 -20 -19 -16 -12 -13 -16 -18 -20 -20 -21 -21 -20 -20 -20 -19 -16 -11 -12 -16 -16 -15 -16 -18 -17 -17 -17 -17 -18 -19 -19 -19 -18 -17 -16 -16 -16 -15 -15 -15 -15 -16 -18 -20 -21 -20 -22 -22 -24 -26 -24 -17 -15 -15 -16 -15 -15 -16 -17 -19 -3 -4 -5 -6 -4 -3 -2 -1 -1 -1 -1 -1 -2 -3 -5 -5 -5 -4 -3 -4 -4 -5 -8 -10 -10 -8 -5 -1 1 2 -0 -7 -13 -13 -10 -6 -8 -11 -12 -10 -6 -2 -2 -4 -7 -7 -4 -1 -0 -0 -1 -0 2 2 1 -1 -3 -3 -2 -1 -0 -1 -3 -3 -1 1 2 1 -1 -2 -1 -1 -1 -1 -2 -5 -6 -6 -6 -4 -4 -4 -3 1 4 4 3 2 1 2 4 5 5 4 2 1 -0 -0 -0 -3 -8 -15 -17 -11 -4 1 2 2 -0 -3 -6 -11 -14 -13 -11 -10 -11 -15 -19 -20 -16 -7 -1 1 1 1 3 3 2 -2 -5 -4 -0 5 8 7 4 -0 -5 -9 -7 -0 7 12 12 8 4 2 -0 -2 -5 -6 -6 -5 -6 -11 -16 -19 -17 -7 3 9 6 -4 -14 -20 -21 -19 -13 -7 -7 -9 -8 2 12 17 16 12 8 7 4 1 -2 -3 -1 -0 -1 -5 -9 -9 -4 5 14 17 16 14 12 13 10 4 -3 -7 -8 -9 -11 -12 -14 -13 -11 -8 -6 -9 -14 -20 -25 -25 -20 -15 -13 -17 -21 -19 -14 -10 -9 -8 -11 -14 -15 -12 -11 -10 -9 -8 -6 -6 -6 -8 -9 -10 -11 -12 -13 -14 -13 -14 -15 -16 -16 -16 -16 -15 -14 -12 -12 -11 -11 -10 -11 -13 -14 -15 -15 -16 -18 -21 -22 -21 -21 -21 -21 -22 -21 -20 -19 -19 -19 -21 -21 -20 -20 -20 -22 -23 -23 -23 -22 -22 -22 -21 -20 -20 -22 -25 -30 -30 -25 -23 -23 -22 -22 -21 -18 -16 -16 -17 -19 -20 -20 -19 -20 -20 -19 -16 -15 -17 -20 -23 -25 -25 -25 -25 -25 -23 -20 -15 -11 -8 -8 -13 -17 -18 -17 -16 -16 -15 -15 -15 -16 -16 -16 -16 -18 -18 -18 -18 -19 -19 -18 -17 -17 -19 -19 -20 -20 -18 -15 -13 -14 -17 -19 -20 -21 -20 -20 -21 -21 -20 -18 -14 -12 -16 -17 -16 -14 -16 -16 -16 -16 -17 -18 -19 -19 -20 -19 -18 -17 -17 -16 -15 -15 -15 -15 -15 -17 -18 -19 -19 -20 -22 -24 -25 -24 -19 -17 -16 -15 -14 -14 -15 -16 -18 -4 -5 -4 -3 -1 -0 -0 -0 -1 -2 -3 -3 -3 -3 -4 -5 -5 -4 -3 -2 -3 -5 -9 -10 -9 -6 -3 -0 1 -0 -3 -9 -13 -14 -13 -10 -9 -9 -7 -4 -2 -1 -2 -4 -5 -6 -5 -3 -1 -0 -0 -0 1 2 2 -0 -3 -3 -2 -1 -1 -0 -1 -2 -2 -1 -0 -0 -0 -1 -1 -1 -2 -3 -3 -3 -5 -6 -8 -8 -6 -5 -3 -1 4 6 6 4 2 3 5 7 5 3 2 1 1 -0 -0 -1 -6 -12 -17 -14 -6 1 3 3 -0 -2 -6 -10 -12 -13 -12 -11 -11 -13 -16 -19 -18 -11 -3 -0 -0 -0 1 2 2 1 -2 -4 -2 1 4 5 3 -0 -3 -6 -7 -3 2 7 10 8 4 2 -0 -1 -4 -6 -6 -6 -6 -9 -14 -17 -18 -12 -2 5 7 -0 -9 -15 -18 -18 -15 -8 -5 -6 -10 -7 2 12 20 20 15 11 8 6 2 -1 -2 -2 -2 -5 -9 -11 -10 -3 7 12 14 13 13 13 13 9 4 -2 -5 -7 -9 -10 -11 -12 -11 -10 -8 -10 -14 -20 -24 -26 -22 -17 -13 -15 -19 -20 -18 -14 -12 -7 -4 -5 -10 -10 -9 -9 -10 -10 -7 -6 -6 -7 -9 -10 -10 -11 -13 -15 -15 -15 -16 -16 -16 -16 -16 -16 -14 -13 -13 -12 -10 -7 -10 -12 -13 -15 -16 -16 -18 -20 -21 -19 -19 -20 -20 -22 -21 -20 -19 -19 -20 -21 -21 -20 -20 -20 -20 -21 -23 -23 -22 -22 -22 -21 -21 -19 -20 -23 -27 -26 -25 -24 -25 -24 -23 -21 -20 -18 -16 -16 -18 -19 -20 -19 -20 -21 -21 -19 -16 -16 -19 -22 -24 -24 -25 -26 -26 -25 -24 -21 -15 -9 -7 -12 -16 -18 -17 -17 -16 -14 -13 -14 -15 -15 -15 -17 -17 -16 -16 -17 -19 -19 -18 -17 -17 -18 -19 -19 -19 -18 -16 -14 -14 -17 -18 -19 -20 -20 -20 -20 -21 -21 -19 -16 -13 -15 -16 -16 -13 -14 -15 -15 -16 -16 -18 -19 -19 -20 -20 -19 -18 -18 -16 -16 -15 -15 -15 -15 -16 -17 -18 -19 -19 -21 -23 -23 -24 -21 -19 -17 -16 -15 -15 -15 -16 -17 -4 -3 -1 1 1 -0 -0 -1 -2 -3 -3 -3 -3 -3 -4 -5 -5 -4 -3 -2 -2 -4 -7 -8 -7 -5 -4 -3 -2 -3 -6 -8 -9 -11 -14 -16 -14 -9 -3 -0 -0 -2 -2 -2 -2 -3 -3 -3 -2 -0 -0 -0 -0 1 2 -0 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -1 -1 -2 -2 -2 -3 -2 -3 -5 -8 -10 -9 -7 -5 -2 -0 3 5 4 2 5 8 10 8 5 3 2 2 1 1 -0 -3 -10 -17 -16 -9 -1 3 3 1 -2 -6 -9 -11 -12 -12 -13 -12 -11 -13 -16 -18 -14 -6 -1 1 -0 -0 1 1 1 -1 -2 -2 -1 1 2 1 -0 -2 -3 -5 -4 -2 2 6 6 4 2 1 -0 -3 -6 -6 -6 -6 -8 -12 -15 -17 -14 -7 -0 4 2 -4 -9 -13 -16 -16 -10 -5 -4 -7 -9 -6 3 15 25 23 19 15 12 7 3 -0 -2 -3 -4 -8 -11 -12 -8 1 8 12 13 14 14 14 12 9 4 -0 -3 -6 -8 -9 -10 -11 -11 -11 -12 -16 -20 -24 -25 -23 -18 -13 -12 -17 -20 -20 -16 -15 -11 -5 -1 -2 -6 -8 -9 -10 -10 -9 -7 -6 -7 -10 -11 -10 -11 -13 -15 -15 -16 -16 -16 -16 -16 -16 -16 -14 -12 -13 -14 -12 -8 -9 -11 -13 -16 -16 -16 -16 -18 -19 -18 -19 -19 -20 -21 -21 -20 -20 -20 -21 -21 -21 -20 -20 -20 -20 -21 -22 -23 -24 -23 -22 -22 -21 -20 -21 -23 -24 -23 -24 -25 -27 -26 -24 -23 -22 -20 -17 -17 -17 -18 -20 -19 -20 -21 -22 -21 -18 -18 -19 -23 -23 -23 -24 -26 -27 -26 -26 -23 -18 -12 -10 -11 -14 -18 -18 -18 -16 -15 -13 -14 -15 -15 -15 -16 -17 -16 -16 -17 -18 -19 -19 -18 -17 -17 -18 -19 -19 -17 -17 -15 -15 -17 -16 -17 -19 -19 -18 -19 -20 -20 -19 -17 -15 -14 -15 -16 -13 -13 -13 -14 -15 -16 -17 -18 -19 -21 -21 -20 -19 -19 -17 -16 -16 -15 -15 -15 -16 -17 -18 -18 -19 -20 -21 -23 -23 -22 -21 -19 -17 -16 -16 -16 -16 -17 -1 -0 1 1 1 -0 -1 -2 -2 -3 -3 -3 -4 -5 -5 -4 -4 -3 -2 -1 -1 -2 -4 -5 -6 -7 -7 -6 -5 -6 -6 -6 -6 -9 -12 -14 -11 -6 -3 -2 -2 -3 -2 -1 -0 -0 -1 -0 -0 -0 -0 -1 -2 -2 -0 -0 -1 -1 -0 -0 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -1 -2 -2 -2 -3 -3 -3 -3 -5 -8 -10 -10 -8 -5 -2 -1 -0 1 1 4 9 13 13 10 7 5 3 1 1 1 -1 -7 -15 -16 -10 -3 2 3 2 -1 -5 -8 -9 -10 -13 -15 -15 -11 -11 -13 -16 -15 -10 -5 -0 1 1 -0 -0 -0 -1 -1 -2 -1 1 1 -1 -2 -2 -1 -2 -4 -3 -1 2 4 4 3 1 -0 -2 -5 -7 -7 -6 -8 -10 -13 -14 -14 -11 -6 -1 1 -2 -5 -8 -12 -14 -11 -8 -5 -4 -7 -9 -6 4 18 23 23 22 19 15 10 6 2 -1 -5 -8 -10 -12 -10 -2 6 13 16 17 16 15 13 10 8 6 3 -1 -4 -6 -8 -10 -11 -13 -15 -19 -22 -25 -24 -23 -19 -15 -11 -14 -18 -19 -18 -16 -16 -11 -4 -1 -4 -6 -7 -8 -10 -10 -9 -7 -7 -9 -11 -11 -11 -13 -14 -15 -16 -17 -17 -16 -16 -17 -17 -15 -13 -14 -15 -14 -11 -9 -10 -12 -13 -14 -14 -15 -16 -18 -21 -21 -20 -20 -22 -20 -20 -19 -20 -20 -20 -21 -21 -20 -20 -20 -21 -23 -24 -24 -23 -22 -22 -20 -21 -22 -22 -21 -22 -24 -26 -29 -28 -26 -25 -24 -22 -19 -17 -18 -19 -20 -19 -19 -19 -21 -21 -20 -19 -21 -25 -24 -23 -25 -27 -27 -26 -26 -24 -19 -14 -11 -10 -12 -17 -17 -17 -17 -16 -14 -14 -15 -16 -15 -16 -16 -17 -16 -16 -17 -19 -19 -18 -18 -17 -18 -19 -18 -17 -17 -16 -16 -16 -15 -16 -17 -18 -18 -19 -20 -21 -20 -18 -15 -13 -13 -16 -14 -12 -11 -13 -14 -16 -16 -17 -19 -20 -20 -19 -19 -19 -18 -17 -16 -15 -15 -15 -15 -16 -17 -17 -19 -19 -19 -22 -23 -24 -23 -20 -17 -16 -16 -16 -17 -18 2 1 1 -0 -0 -1 -1 -1 -1 -2 -2 -3 -5 -7 -7 -6 -4 -2 -1 -1 -1 -2 -4 -4 -4 -5 -6 -6 -6 -6 -7 -6 -6 -7 -7 -6 -5 -5 -6 -6 -5 -3 -1 -0 -0 -0 -0 1 1 2 2 -0 -2 -3 -2 -0 -1 -1 -1 -0 -0 -0 -1 -1 -2 -2 -1 -0 1 2 -0 -0 -0 -1 -2 -3 -4 -4 -4 -5 -7 -9 -10 -10 -6 -3 -1 -1 -1 1 6 11 15 14 12 9 6 3 1 2 -0 -4 -12 -15 -12 -6 -1 2 3 -0 -4 -8 -8 -9 -12 -16 -16 -12 -10 -11 -14 -14 -11 -8 -4 -0 1 1 -0 -0 -1 -1 -2 -2 -1 -0 -0 -2 -2 -1 -2 -3 -3 -2 1 3 3 3 2 1 -2 -4 -6 -7 -7 -8 -10 -12 -13 -12 -12 -11 -8 -4 -3 -4 -5 -7 -10 -10 -9 -6 -4 -5 -8 -10 -7 3 14 20 23 24 22 18 14 9 4 -1 -5 -9 -11 -11 -7 1 9 16 19 19 19 17 13 10 9 8 6 2 -1 -4 -7 -10 -14 -18 -22 -26 -28 -25 -22 -19 -17 -13 -12 -14 -17 -18 -17 -17 -14 -9 -3 -2 -3 -5 -7 -9 -11 -11 -9 -8 -8 -8 -9 -10 -12 -13 -15 -17 -18 -16 -17 -17 -17 -17 -16 -15 -15 -16 -15 -13 -11 -10 -10 -12 -13 -14 -14 -16 -18 -20 -21 -22 -22 -22 -21 -20 -19 -19 -20 -21 -21 -21 -21 -21 -21 -22 -23 -24 -24 -24 -23 -22 -22 -21 -21 -20 -18 -20 -24 -27 -29 -29 -28 -27 -26 -23 -20 -19 -18 -19 -19 -18 -18 -18 -18 -20 -19 -19 -22 -26 -25 -25 -26 -27 -26 -26 -26 -24 -20 -15 -11 -8 -8 -13 -16 -17 -17 -17 -16 -15 -16 -17 -17 -16 -16 -16 -16 -15 -16 -18 -19 -19 -18 -17 -18 -17 -17 -17 -17 -17 -17 -15 -14 -15 -16 -17 -18 -19 -20 -21 -21 -19 -17 -14 -13 -14 -14 -11 -9 -11 -14 -16 -17 -17 -18 -18 -19 -20 -19 -19 -19 -18 -17 -16 -15 -14 -15 -15 -16 -18 -19 -20 -20 -21 -23 -24 -24 -22 -18 -16 -16 -16 -17 -17 2 -0 -0 1 1 1 -0 -1 -1 -1 -2 -4 -6 -8 -7 -5 -3 -2 -2 -2 -3 -4 -4 -4 -4 -4 -6 -6 -6 -6 -6 -7 -6 -4 -4 -4 -5 -6 -7 -6 -4 -1 1 -0 -1 -2 -1 1 2 3 3 1 -1 -2 -2 -1 -1 -1 -1 -0 -0 -0 -1 -2 -3 -3 -2 -0 2 3 2 1 1 -0 -1 -3 -4 -4 -4 -4 -4 -7 -11 -13 -11 -5 -1 -0 -0 -1 2 7 13 16 15 13 9 5 2 2 2 -1 -7 -11 -11 -8 -4 -0 2 1 -3 -7 -8 -9 -12 -15 -16 -12 -9 -9 -11 -12 -11 -9 -6 -2 1 1 -0 -1 -1 -2 -2 -3 -3 -1 -1 -1 -1 -2 -2 -3 -3 -2 -1 1 2 3 2 1 -1 -4 -6 -6 -6 -8 -10 -12 -12 -10 -11 -12 -12 -9 -6 -4 -3 -6 -8 -9 -9 -8 -6 -4 -6 -9 -11 -9 -0 9 16 21 24 23 21 17 12 6 -1 -6 -10 -11 -10 -6 1 8 14 20 22 21 16 12 11 10 10 8 5 2 -2 -7 -13 -18 -24 -29 -32 -28 -22 -18 -17 -16 -12 -11 -13 -16 -17 -16 -15 -12 -8 -5 -4 -4 -5 -8 -11 -12 -12 -10 -8 -7 -7 -9 -11 -14 -17 -19 -19 -16 -16 -16 -17 -17 -17 -17 -16 -16 -16 -14 -12 -11 -10 -11 -13 -15 -15 -14 -15 -18 -20 -21 -22 -23 -22 -21 -19 -19 -20 -22 -22 -22 -22 -22 -22 -23 -24 -24 -25 -24 -24 -23 -23 -22 -21 -20 -18 -20 -24 -27 -29 -30 -30 -29 -27 -24 -21 -19 -19 -19 -18 -18 -18 -18 -18 -19 -19 -18 -20 -24 -25 -26 -27 -27 -26 -25 -25 -24 -22 -17 -12 -7 -5 -9 -14 -17 -19 -19 -18 -16 -16 -17 -17 -16 -16 -16 -15 -15 -16 -17 -18 -19 -17 -17 -17 -17 -17 -17 -17 -18 -17 -15 -14 -15 -16 -16 -17 -19 -20 -20 -19 -18 -17 -16 -14 -13 -14 -12 -9 -9 -13 -15 -17 -18 -17 -17 -18 -19 -20 -20 -20 -20 -19 -17 -15 -14 -14 -15 -16 -17 -19 -20 -19 -20 -23 -25 -25 -24 -18 -17 -16 -16 -16 -16 1 -0 1 1 1 1 -0 -1 -2 -2 -3 -4 -6 -8 -6 -4 -2 -2 -2 -4 -5 -6 -5 -5 -5 -6 -7 -8 -6 -5 -4 -5 -4 -4 -5 -6 -7 -7 -6 -4 -1 1 1 -1 -4 -5 -3 -1 2 4 5 4 1 -1 -2 -2 -2 -2 -1 -1 -0 -1 -1 -3 -4 -4 -2 -0 2 4 3 2 1 -0 -1 -2 -3 -5 -5 -6 -5 -5 -8 -13 -12 -7 -1 4 4 1 1 3 8 14 16 15 12 7 4 3 2 1 -2 -7 -9 -8 -6 -2 1 1 -2 -6 -8 -9 -11 -14 -15 -12 -9 -8 -9 -11 -10 -9 -8 -5 -1 -0 -0 -1 -2 -2 -2 -3 -4 -3 -2 -1 -0 -2 -3 -4 -3 -2 -2 -0 -0 1 2 3 1 -2 -5 -5 -4 -6 -9 -12 -12 -9 -9 -11 -13 -12 -9 -6 -4 -4 -6 -8 -9 -8 -8 -5 -5 -6 -10 -12 -10 -4 4 11 17 21 22 21 19 14 7 -1 -7 -9 -10 -9 -6 -1 5 12 18 21 19 15 12 11 12 12 10 7 2 -4 -10 -16 -23 -28 -32 -30 -25 -20 -18 -17 -12 -9 -10 -14 -17 -16 -14 -12 -13 -11 -8 -6 -6 -7 -9 -12 -14 -14 -10 -7 -6 -7 -11 -16 -21 -23 -21 -15 -15 -16 -16 -17 -17 -16 -15 -15 -15 -15 -14 -13 -11 -10 -13 -15 -15 -14 -14 -17 -20 -22 -23 -23 -23 -22 -20 -20 -21 -22 -23 -23 -22 -22 -22 -23 -24 -24 -24 -24 -24 -24 -23 -21 -20 -21 -19 -20 -22 -25 -29 -31 -32 -31 -29 -24 -21 -19 -19 -18 -18 -18 -18 -18 -18 -20 -19 -18 -18 -22 -25 -27 -28 -28 -26 -24 -24 -23 -22 -19 -14 -8 -5 -6 -12 -17 -20 -20 -19 -18 -17 -17 -17 -17 -17 -16 -15 -15 -16 -17 -18 -19 -17 -17 -16 -17 -18 -17 -18 -17 -17 -17 -16 -16 -16 -16 -16 -18 -19 -19 -17 -17 -17 -16 -15 -12 -13 -12 -9 -8 -11 -14 -17 -18 -17 -16 -16 -18 -20 -20 -20 -20 -19 -18 -16 -15 -15 -15 -15 -16 -17 -18 -18 -19 -21 -24 -25 -24 -20 -17 -16 -16 -15 -16 1 1 1 1 1 -0 -1 -2 -2 -3 -4 -5 -5 -5 -5 -3 -2 -1 -2 -5 -8 -9 -7 -5 -6 -7 -8 -8 -5 -3 -3 -3 -4 -6 -8 -8 -7 -6 -4 -2 1 2 1 -2 -6 -7 -5 -2 2 6 9 7 2 -1 -2 -2 -2 -2 -2 -1 -1 -1 -2 -3 -5 -4 -2 -0 2 4 4 3 1 -0 -1 -1 -3 -5 -8 -11 -10 -8 -6 -7 -9 -6 -1 4 6 4 1 1 4 10 14 15 13 10 6 4 3 3 3 -2 -6 -8 -7 -4 -1 1 -1 -5 -9 -10 -11 -13 -14 -13 -9 -7 -8 -10 -9 -8 -8 -8 -4 -2 -1 -1 -2 -2 -2 -3 -4 -5 -4 -2 -0 -1 -4 -5 -5 -4 -2 -1 -1 -1 -0 3 2 -0 -3 -4 -3 -4 -7 -11 -13 -10 -8 -9 -11 -13 -11 -8 -4 -1 -4 -6 -8 -9 -9 -6 -5 -5 -7 -11 -14 -12 -8 -1 3 8 12 16 20 20 14 7 -1 -5 -6 -7 -7 -6 -5 1 8 14 17 16 13 11 12 14 14 11 7 1 -6 -13 -19 -24 -28 -32 -31 -25 -18 -15 -13 -11 -10 -13 -16 -16 -15 -14 -12 -12 -11 -10 -7 -6 -7 -10 -14 -16 -13 -8 -5 -6 -12 -21 -28 -29 -24 -16 -15 -15 -15 -16 -16 -15 -15 -15 -15 -15 -15 -15 -13 -11 -12 -14 -15 -14 -15 -17 -20 -22 -23 -23 -23 -22 -21 -20 -21 -21 -22 -23 -21 -21 -22 -23 -24 -24 -24 -24 -24 -23 -22 -20 -19 -20 -20 -19 -20 -23 -28 -31 -31 -30 -28 -25 -22 -20 -19 -18 -17 -17 -18 -18 -17 -19 -20 -19 -18 -22 -25 -27 -26 -26 -24 -24 -23 -21 -20 -20 -17 -13 -9 -7 -10 -15 -19 -20 -19 -19 -19 -17 -16 -16 -16 -17 -18 -17 -17 -17 -18 -19 -18 -17 -17 -18 -18 -17 -17 -17 -17 -17 -17 -17 -17 -17 -16 -17 -18 -18 -16 -16 -16 -15 -15 -12 -12 -12 -11 -7 -9 -13 -17 -18 -17 -16 -16 -16 -18 -19 -20 -19 -19 -17 -17 -16 -16 -16 -15 -15 -15 -16 -17 -17 -19 -22 -23 -22 -19 -17 -16 -16 -14 -16 -0 1 1 -0 -1 -1 -1 -2 -3 -3 -4 -4 -5 -5 -5 -3 -0 -0 -2 -7 -12 -13 -10 -6 -6 -7 -7 -5 -3 -2 -2 -3 -6 -9 -10 -9 -6 -3 -2 -0 2 2 -0 -4 -8 -9 -7 -3 2 6 9 7 3 -0 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -2 -1 -0 2 4 4 3 1 -0 -1 -2 -4 -9 -15 -16 -14 -8 -4 -3 -1 1 3 5 5 2 -0 1 6 11 14 14 11 8 5 3 3 4 2 -2 -5 -6 -5 -1 1 -0 -4 -7 -9 -10 -11 -14 -13 -10 -7 -7 -9 -8 -8 -7 -7 -6 -4 -3 -2 -2 -3 -2 -2 -4 -6 -6 -4 -1 -0 -2 -5 -6 -6 -4 -2 -2 -3 -2 2 3 2 -1 -3 -2 -3 -6 -11 -14 -12 -8 -7 -9 -12 -13 -11 -6 -1 -1 -3 -6 -9 -9 -8 -6 -5 -5 -9 -13 -16 -14 -10 -7 -6 -5 -1 7 16 18 15 7 1 -2 -4 -5 -5 -8 -6 -2 5 10 12 11 9 10 13 15 15 12 6 -2 -9 -14 -18 -22 -30 -35 -32 -19 -9 -7 -8 -10 -12 -13 -15 -15 -14 -12 -11 -11 -11 -9 -7 -7 -9 -12 -16 -14 -10 -7 -7 -14 -26 -35 -36 -26 -17 -15 -15 -15 -16 -16 -15 -15 -15 -15 -15 -16 -17 -16 -14 -13 -14 -15 -14 -15 -18 -20 -22 -23 -24 -24 -23 -21 -21 -21 -21 -22 -21 -21 -22 -23 -23 -23 -24 -23 -23 -23 -21 -21 -20 -19 -20 -20 -19 -20 -21 -26 -29 -30 -29 -27 -24 -21 -20 -19 -17 -17 -17 -18 -17 -17 -18 -19 -20 -19 -22 -24 -24 -23 -25 -24 -23 -22 -21 -19 -20 -19 -17 -14 -10 -11 -14 -16 -18 -19 -21 -21 -18 -17 -16 -17 -18 -18 -18 -18 -18 -18 -18 -19 -18 -18 -18 -18 -17 -16 -16 -16 -16 -16 -17 -17 -17 -16 -16 -17 -16 -15 -15 -15 -15 -14 -12 -12 -12 -12 -9 -9 -12 -15 -17 -18 -17 -15 -14 -16 -18 -19 -19 -18 -16 -17 -17 -17 -16 -15 -14 -14 -14 -15 -16 -18 -20 -21 -21 -19 -16 -15 -15 -13 -14 1 1 1 -1 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -3 -1 -0 -0 -3 -8 -13 -14 -12 -8 -6 -6 -5 -4 -2 -2 -3 -4 -6 -9 -10 -8 -5 -2 -0 1 1 1 -2 -5 -7 -7 -5 -3 -0 4 6 4 2 1 -1 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -2 -1 -1 -2 -2 -1 2 4 4 1 -2 -3 -5 -11 -18 -20 -18 -12 -4 2 4 4 3 4 4 3 2 1 3 7 10 12 11 11 9 7 5 4 4 2 -2 -5 -3 -1 1 1 -2 -6 -8 -9 -11 -15 -15 -11 -6 -4 -7 -8 -8 -7 -7 -6 -5 -4 -4 -4 -4 -4 -3 -3 -4 -6 -5 -2 -0 -1 -4 -6 -7 -6 -4 -3 -3 -3 -1 2 3 2 -1 -1 -2 -5 -10 -14 -13 -10 -6 -6 -10 -13 -14 -10 -4 -0 -0 -3 -7 -9 -8 -8 -6 -5 -7 -12 -16 -19 -16 -11 -7 -6 -7 -7 -0 9 14 14 8 3 -1 -3 -3 -5 -6 -6 -3 1 5 7 8 8 9 12 15 16 12 5 -3 -8 -12 -15 -23 -30 -30 -18 -7 -4 -4 -7 -10 -11 -13 -14 -13 -12 -11 -11 -10 -10 -9 -8 -9 -11 -15 -15 -13 -10 -10 -16 -28 -37 -37 -24 -16 -14 -15 -16 -15 -15 -15 -16 -16 -16 -15 -16 -17 -16 -15 -15 -15 -14 -14 -15 -17 -20 -21 -23 -24 -24 -23 -22 -21 -21 -21 -21 -20 -22 -23 -23 -23 -24 -23 -22 -21 -20 -20 -19 -20 -21 -21 -20 -20 -20 -20 -23 -28 -29 -28 -25 -22 -21 -20 -18 -16 -16 -17 -17 -17 -16 -17 -18 -20 -19 -21 -21 -20 -20 -23 -23 -23 -22 -22 -19 -18 -19 -19 -16 -12 -12 -13 -14 -16 -19 -21 -22 -19 -18 -18 -18 -18 -19 -19 -18 -18 -18 -18 -19 -19 -19 -18 -18 -17 -16 -15 -15 -15 -15 -16 -17 -17 -16 -15 -16 -16 -15 -15 -14 -14 -13 -12 -11 -11 -13 -10 -9 -10 -14 -16 -18 -18 -16 -13 -14 -16 -18 -18 -18 -16 -16 -17 -18 -17 -16 -15 -14 -14 -14 -15 -16 -17 -18 -19 -18 -16 -15 -14 -13 -13 1 -0 -1 -3 -4 -3 -2 -0 -0 -1 -3 -4 -4 -3 -1 -0 -0 -2 -5 -8 -11 -12 -10 -8 -5 -4 -4 -5 -4 -4 -4 -5 -5 -6 -7 -7 -4 -2 -1 -1 -2 -3 -3 -4 -3 -1 -0 -2 -1 2 4 3 1 -1 -2 -2 -3 -2 -2 -2 -2 -3 -4 -4 -3 -0 -0 -1 -2 -4 -4 -2 -0 2 1 -2 -5 -8 -11 -16 -20 -18 -13 -5 1 4 5 6 5 5 4 3 2 2 4 6 7 9 11 13 13 10 8 5 2 -2 -4 -2 1 2 2 -1 -3 -6 -8 -10 -14 -16 -13 -7 -3 -5 -7 -8 -7 -6 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -5 -5 -4 -2 -2 -3 -6 -8 -8 -6 -4 -3 -3 -3 -0 3 4 2 1 -0 -3 -9 -14 -15 -12 -7 -3 -6 -11 -14 -14 -8 -2 -0 -1 -4 -7 -8 -8 -8 -7 -7 -10 -15 -19 -21 -17 -11 -6 -5 -9 -10 -5 3 11 10 7 5 4 3 -0 -3 -5 -5 -5 -1 4 7 7 6 7 10 14 17 13 6 -0 -4 -6 -12 -19 -23 -18 -7 -2 -1 -3 -7 -9 -11 -12 -13 -12 -11 -11 -11 -11 -11 -10 -10 -10 -12 -14 -14 -14 -14 -18 -27 -33 -31 -20 -14 -14 -15 -16 -15 -15 -15 -15 -15 -16 -16 -16 -17 -16 -16 -16 -15 -14 -13 -13 -15 -18 -21 -22 -23 -23 -24 -23 -23 -22 -22 -22 -21 -22 -23 -24 -25 -24 -22 -19 -18 -16 -16 -18 -20 -22 -22 -21 -21 -22 -20 -21 -25 -28 -28 -25 -23 -22 -21 -19 -18 -17 -17 -17 -18 -17 -17 -17 -19 -18 -19 -18 -17 -18 -20 -21 -21 -22 -22 -19 -18 -17 -17 -15 -14 -14 -13 -13 -16 -18 -20 -21 -20 -19 -19 -19 -19 -19 -19 -19 -17 -17 -17 -19 -19 -18 -18 -18 -17 -17 -16 -15 -15 -15 -15 -17 -17 -16 -15 -15 -15 -15 -14 -14 -14 -13 -12 -11 -11 -13 -12 -10 -9 -12 -15 -17 -18 -18 -14 -13 -15 -17 -19 -18 -16 -15 -15 -18 -17 -17 -16 -15 -14 -14 -16 -16 -15 -16 -17 -17 -15 -14 -14 -13 -13 -0 -2 -4 -5 -6 -3 -0 1 1 -0 -2 -3 -4 -2 -0 -0 -1 -3 -5 -7 -8 -8 -7 -6 -4 -4 -5 -8 -8 -5 -3 -3 -3 -4 -5 -5 -3 -2 -2 -4 -5 -4 -1 1 3 3 1 -1 -1 -0 2 1 -0 -1 -2 -3 -3 -2 -1 -1 -2 -3 -4 -4 -2 -0 -0 -0 -2 -3 -4 -5 -4 -2 -2 -4 -7 -10 -11 -13 -14 -13 -11 -7 -4 -0 4 7 7 5 4 4 4 3 2 2 2 4 9 14 18 17 12 8 3 -2 -6 -4 1 3 2 -0 -2 -4 -6 -10 -14 -16 -15 -9 -3 -3 -6 -7 -8 -6 -4 -3 -3 -4 -5 -6 -7 -7 -6 -5 -5 -5 -4 -3 -2 -4 -6 -8 -8 -7 -5 -3 -3 -3 -3 -1 3 4 3 1 -1 -6 -12 -16 -15 -9 -3 -3 -7 -12 -15 -12 -6 -2 -0 -1 -5 -7 -8 -9 -8 -8 -9 -13 -17 -21 -22 -18 -11 -4 -5 -11 -12 -9 -1 5 7 8 8 9 7 4 -0 -3 -4 -3 -0 4 8 5 2 2 6 14 17 15 9 2 -0 -4 -9 -14 -16 -9 -3 -0 -1 -4 -7 -9 -11 -12 -12 -11 -10 -10 -10 -10 -10 -10 -10 -10 -12 -14 -16 -16 -18 -23 -25 -25 -19 -14 -14 -15 -16 -16 -15 -14 -14 -14 -16 -15 -16 -18 -17 -17 -16 -14 -14 -13 -14 -15 -17 -20 -21 -22 -23 -24 -24 -24 -23 -23 -22 -22 -23 -23 -24 -26 -24 -21 -18 -16 -15 -15 -17 -19 -22 -22 -22 -22 -23 -21 -21 -23 -26 -27 -27 -25 -23 -21 -21 -19 -18 -18 -18 -20 -20 -18 -17 -18 -17 -18 -18 -17 -16 -18 -18 -19 -21 -22 -21 -19 -17 -17 -16 -16 -15 -13 -13 -14 -16 -17 -18 -20 -20 -19 -19 -18 -19 -19 -18 -17 -17 -17 -18 -18 -18 -18 -18 -18 -18 -18 -17 -16 -15 -14 -15 -16 -16 -15 -15 -16 -15 -15 -14 -14 -14 -13 -12 -12 -13 -13 -11 -8 -10 -14 -17 -18 -18 -16 -13 -13 -16 -19 -19 -17 -15 -14 -17 -18 -17 -16 -16 -15 -15 -15 -15 -14 -15 -16 -16 -14 -13 -14 -14 -14 -3 -4 -6 -6 -5 -1 1 2 1 1 -1 -2 -3 -3 -1 -1 -2 -4 -4 -5 -6 -6 -6 -4 -3 -4 -6 -8 -7 -3 -0 -0 -1 -4 -5 -6 -4 -3 -3 -4 -5 -2 4 6 5 3 -0 -1 -1 -0 -0 -0 -1 -2 -3 -3 -2 -1 -1 -1 -2 -3 -4 -3 -1 -0 -0 -0 -1 -2 -3 -5 -6 -7 -6 -7 -9 -10 -10 -8 -7 -7 -7 -9 -8 -4 1 6 7 6 5 5 5 5 3 -0 -1 -1 3 11 19 22 16 11 5 -1 -7 -6 -0 4 4 1 -1 -2 -4 -8 -13 -17 -15 -11 -4 -2 -4 -6 -8 -6 -3 -2 -2 -3 -4 -6 -7 -8 -7 -8 -7 -5 -4 -3 -3 -4 -6 -8 -9 -9 -6 -4 -2 -3 -3 -2 -0 3 3 3 1 -4 -11 -16 -17 -12 -4 -0 -3 -8 -13 -14 -10 -5 -2 -0 -2 -5 -7 -9 -9 -9 -10 -12 -14 -19 -24 -25 -20 -9 -4 -7 -12 -14 -12 -5 1 4 7 11 12 10 6 2 -1 -3 -2 1 6 6 2 -3 -5 1 11 17 14 3 -2 -3 -5 -8 -11 -9 -6 -3 -2 -3 -5 -7 -9 -10 -10 -9 -8 -8 -9 -11 -11 -10 -10 -10 -13 -15 -17 -17 -21 -21 -20 -20 -19 -15 -14 -15 -16 -16 -16 -15 -14 -14 -15 -15 -16 -18 -17 -16 -15 -15 -14 -16 -16 -16 -17 -19 -21 -23 -24 -25 -24 -24 -24 -24 -23 -23 -23 -24 -25 -24 -23 -20 -17 -16 -15 -15 -16 -17 -20 -21 -21 -21 -23 -23 -21 -21 -24 -26 -28 -26 -24 -22 -22 -21 -21 -21 -21 -24 -25 -22 -19 -18 -17 -17 -17 -16 -16 -16 -16 -17 -18 -21 -21 -20 -18 -18 -18 -18 -16 -14 -13 -13 -13 -14 -17 -19 -19 -19 -18 -18 -18 -18 -18 -17 -18 -18 -18 -17 -17 -17 -18 -19 -19 -19 -18 -17 -16 -15 -14 -15 -15 -16 -16 -16 -16 -15 -15 -14 -14 -14 -12 -12 -13 -14 -13 -9 -9 -12 -15 -18 -19 -17 -14 -13 -14 -17 -19 -18 -16 -14 -16 -18 -18 -17 -15 -15 -15 -15 -15 -14 -14 -15 -14 -14 -13 -14 -14 -14 -6 -6 -6 -5 -2 -0 2 2 2 1 -0 -2 -3 -3 -2 -1 -1 -2 -3 -4 -5 -5 -5 -4 -4 -6 -7 -8 -4 -0 2 1 -1 -5 -7 -7 -6 -6 -5 -5 -2 3 7 7 4 -0 -2 -1 -1 -0 -0 -0 -1 -2 -2 -2 -1 -1 -1 -1 -3 -3 -2 -1 -0 -0 -0 -0 -1 -2 -2 -4 -6 -10 -11 -10 -9 -8 -7 -5 -4 -4 -5 -8 -8 -6 -2 2 5 6 5 5 6 7 5 2 -2 -5 -5 3 14 23 19 13 6 -0 -6 -7 -2 3 5 2 -0 -1 -3 -7 -12 -16 -16 -12 -7 -3 -2 -4 -6 -7 -4 -1 -0 -1 -3 -5 -7 -7 -7 -8 -8 -6 -4 -3 -3 -5 -7 -8 -10 -10 -8 -4 -2 -1 -3 -3 -2 1 3 4 3 -1 -9 -15 -18 -15 -8 -2 -1 -5 -10 -12 -11 -8 -4 -1 -1 -3 -6 -8 -8 -9 -11 -12 -12 -16 -22 -28 -28 -21 -9 -6 -8 -12 -14 -11 -7 -3 1 5 9 11 10 8 4 1 -0 -0 3 6 3 -2 -8 -9 -4 2 4 -3 -8 -11 -11 -9 -7 -7 -7 -6 -4 -3 -3 -5 -7 -7 -8 -8 -7 -7 -10 -11 -11 -10 -10 -11 -14 -17 -17 -17 -20 -19 -17 -17 -19 -18 -16 -15 -16 -18 -18 -17 -15 -15 -15 -16 -17 -16 -16 -15 -15 -14 -15 -17 -17 -17 -16 -17 -20 -22 -25 -25 -25 -25 -26 -25 -24 -24 -24 -25 -25 -23 -22 -20 -18 -16 -16 -16 -17 -18 -19 -20 -20 -20 -22 -23 -22 -21 -22 -25 -25 -24 -23 -22 -22 -23 -24 -25 -24 -27 -28 -26 -23 -21 -19 -18 -16 -16 -14 -14 -15 -16 -16 -19 -20 -20 -19 -21 -22 -21 -18 -16 -14 -13 -12 -13 -16 -17 -17 -18 -18 -18 -18 -18 -18 -18 -19 -19 -18 -18 -18 -17 -17 -18 -19 -19 -19 -18 -17 -17 -15 -14 -15 -16 -17 -17 -16 -15 -14 -14 -14 -14 -13 -13 -14 -15 -14 -11 -9 -11 -14 -17 -18 -17 -16 -14 -14 -16 -19 -19 -18 -14 -14 -17 -18 -18 -15 -15 -16 -16 -15 -13 -14 -15 -14 -14 -14 -14 -13 -12 -7 -8 -6 -4 -2 1 3 3 1 1 -0 -2 -3 -4 -3 -1 -0 -1 -2 -4 -5 -6 -6 -6 -6 -7 -6 -4 -0 2 2 -0 -3 -6 -7 -8 -8 -8 -6 -2 3 7 8 5 2 -1 -2 -1 -0 -0 -0 -1 -2 -2 -2 -1 -1 -1 -1 -2 -3 -2 -1 -0 1 1 -0 -0 -1 -2 -3 -4 -7 -11 -13 -11 -7 -4 -4 -5 -5 -5 -5 -5 -5 -5 -4 -1 2 4 5 5 6 9 9 6 1 -6 -11 -7 5 18 20 14 7 1 -4 -7 -3 2 4 2 1 -0 -2 -6 -11 -15 -15 -13 -9 -5 -2 -1 -4 -6 -4 -2 1 -0 -2 -4 -6 -6 -5 -7 -9 -8 -5 -3 -3 -5 -7 -9 -10 -11 -9 -6 -2 -0 -1 -3 -4 -2 1 4 4 2 -5 -13 -17 -17 -12 -6 -2 -3 -7 -10 -11 -10 -8 -3 -0 -1 -3 -6 -8 -9 -11 -12 -12 -14 -21 -27 -32 -30 -19 -10 -6 -8 -12 -11 -9 -7 -6 -4 -0 5 7 9 8 5 3 1 1 4 4 1 -5 -9 -10 -8 -6 -7 -10 -14 -17 -15 -8 -6 -5 -5 -4 -2 -2 -2 -4 -6 -7 -7 -7 -8 -10 -10 -10 -9 -10 -12 -15 -18 -18 -17 -17 -16 -15 -17 -20 -19 -18 -16 -17 -17 -18 -18 -18 -18 -17 -16 -16 -13 -15 -15 -15 -15 -16 -18 -19 -18 -16 -16 -19 -22 -25 -26 -26 -27 -27 -27 -26 -25 -25 -25 -25 -23 -22 -20 -18 -17 -18 -17 -17 -18 -19 -20 -19 -19 -22 -23 -23 -22 -22 -25 -24 -23 -23 -24 -25 -25 -26 -26 -26 -28 -28 -27 -25 -22 -19 -16 -14 -14 -14 -14 -14 -15 -16 -17 -18 -19 -21 -24 -25 -24 -21 -18 -16 -15 -13 -13 -15 -15 -16 -17 -17 -18 -19 -19 -19 -20 -20 -20 -20 -19 -19 -19 -18 -18 -19 -19 -19 -18 -17 -17 -15 -15 -16 -17 -18 -18 -17 -16 -14 -13 -13 -14 -14 -14 -14 -14 -14 -13 -10 -10 -13 -16 -16 -17 -16 -15 -13 -16 -18 -18 -17 -14 -13 -15 -18 -18 -16 -16 -16 -16 -15 -14 -14 -15 -16 -15 -14 -13 -12 -12 -8 -8 -6 -4 -1 2 4 3 -0 -2 -3 -4 -4 -4 -4 -2 -0 -0 -2 -3 -5 -7 -8 -9 -7 -5 -3 1 2 1 -1 -2 -4 -6 -7 -8 -9 -8 -4 2 7 8 5 2 -0 -1 -1 -1 -0 -1 -1 -2 -2 -1 -1 -0 -0 -1 -2 -3 -3 -2 -0 1 1 -0 -0 -0 -0 -2 -4 -6 -9 -12 -12 -8 -4 -2 -3 -5 -6 -6 -4 -4 -4 -4 -4 -3 -1 1 3 4 5 8 10 9 4 -4 -14 -14 -4 11 20 15 8 2 -3 -5 -2 1 2 1 1 -0 -2 -5 -10 -13 -13 -12 -10 -7 -2 -0 -1 -3 -4 -2 -0 1 -1 -4 -5 -5 -3 -5 -7 -8 -6 -4 -3 -4 -6 -8 -10 -11 -11 -9 -4 -0 -0 -1 -4 -3 -0 3 5 4 -3 -9 -15 -17 -15 -10 -5 -2 -3 -7 -9 -11 -10 -8 -3 -0 -0 -3 -5 -6 -8 -10 -12 -15 -20 -26 -32 -35 -28 -17 -9 -7 -10 -10 -8 -6 -7 -8 -7 -4 -0 4 6 7 5 3 1 1 2 3 1 -4 -8 -11 -12 -10 -10 -12 -17 -20 -15 -9 -4 -3 -3 -3 -1 -1 -2 -4 -5 -6 -6 -7 -8 -8 -9 -10 -11 -13 -16 -19 -20 -17 -13 -12 -15 -20 -21 -20 -18 -18 -18 -17 -16 -17 -18 -18 -17 -16 -14 -13 -16 -18 -18 -17 -18 -20 -21 -21 -18 -17 -19 -22 -26 -27 -28 -28 -28 -28 -28 -28 -27 -26 -26 -25 -23 -20 -18 -18 -19 -19 -18 -19 -20 -20 -19 -19 -21 -22 -22 -23 -23 -27 -26 -25 -26 -28 -28 -27 -27 -27 -27 -27 -26 -24 -22 -19 -17 -15 -13 -14 -14 -14 -14 -14 -15 -16 -18 -20 -21 -24 -25 -25 -23 -20 -18 -16 -14 -14 -14 -15 -15 -16 -17 -19 -19 -20 -20 -20 -20 -21 -20 -20 -20 -20 -20 -19 -20 -19 -18 -18 -18 -18 -17 -17 -18 -19 -19 -18 -17 -16 -14 -13 -13 -14 -15 -14 -13 -13 -13 -14 -10 -10 -12 -15 -15 -16 -16 -14 -13 -15 -17 -18 -17 -14 -12 -13 -15 -17 -17 -16 -15 -15 -14 -14 -15 -16 -17 -16 -15 -14 -13 -12 -8 -6 -3 1 5 5 3 -0 -3 -5 -6 -5 -5 -4 -4 -1 -0 -0 -1 -3 -5 -8 -10 -10 -6 -1 2 3 1 -2 -3 -4 -5 -7 -8 -9 -8 -5 2 7 9 5 1 -1 -1 -1 -1 -1 -2 -3 -3 -3 -2 -0 1 1 1 -2 -3 -3 -3 -1 -0 -0 -0 -0 -0 -0 -1 -3 -7 -9 -10 -9 -6 -3 -2 -2 -3 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -1 1 2 4 7 10 11 8 -1 -12 -16 -10 5 15 14 9 3 -2 -4 -2 1 1 -0 -0 -1 -3 -5 -9 -12 -12 -11 -11 -9 -5 -0 3 1 -2 -3 -1 1 1 -3 -5 -5 -3 -3 -5 -6 -6 -6 -5 -4 -4 -7 -10 -12 -12 -12 -8 -2 1 1 -1 -3 -2 1 4 4 -0 -6 -11 -15 -15 -12 -8 -4 -2 -4 -5 -8 -10 -12 -9 -3 1 2 -0 -2 -5 -8 -12 -16 -21 -26 -32 -36 -34 -24 -13 -6 -9 -10 -8 -4 -3 -4 -6 -7 -7 -5 -0 3 4 3 1 -1 -0 2 4 1 -5 -10 -14 -12 -9 -9 -13 -20 -19 -13 -7 -2 -2 -3 -3 -2 -2 -2 -3 -4 -3 -3 -4 -6 -9 -11 -13 -14 -17 -20 -22 -17 -11 -11 -16 -23 -22 -21 -19 -19 -19 -17 -15 -15 -17 -17 -17 -16 -16 -15 -19 -20 -20 -20 -21 -22 -23 -23 -22 -21 -21 -22 -25 -27 -28 -28 -28 -29 -29 -29 -28 -27 -26 -25 -23 -20 -19 -19 -20 -20 -20 -21 -20 -20 -19 -19 -22 -23 -23 -24 -23 -28 -28 -28 -29 -29 -28 -27 -26 -27 -27 -24 -22 -19 -17 -16 -15 -14 -13 -13 -14 -14 -14 -14 -14 -16 -18 -20 -21 -23 -25 -26 -25 -22 -20 -17 -15 -15 -15 -14 -14 -16 -18 -20 -20 -20 -20 -20 -21 -21 -21 -21 -21 -21 -21 -20 -19 -19 -18 -18 -19 -19 -18 -17 -18 -19 -19 -18 -16 -16 -15 -14 -13 -14 -15 -14 -14 -13 -13 -15 -12 -10 -11 -14 -15 -15 -15 -15 -14 -15 -16 -17 -18 -15 -13 -12 -13 -15 -16 -16 -15 -15 -14 -15 -16 -16 -17 -17 -16 -16 -15 -13 -4 -0 4 7 7 4 -0 -4 -6 -7 -7 -6 -5 -4 -3 -2 -1 -1 -1 -4 -7 -10 -11 -9 -2 3 4 1 -2 -3 -3 -4 -5 -8 -11 -11 -7 1 7 9 7 3 1 -2 -3 -2 -0 -1 -3 -5 -5 -4 -1 -0 1 1 1 -2 -3 -3 -2 -1 -1 -0 -0 -0 1 -0 -2 -6 -11 -12 -11 -6 -0 1 -1 -2 -3 -2 -2 -2 -3 -3 -2 -2 -2 -3 -4 -4 -2 2 4 8 10 11 9 3 -9 -15 -12 -0 12 14 10 4 -3 -5 -2 1 3 1 -1 -2 -3 -5 -8 -10 -11 -11 -11 -10 -6 -1 5 6 2 -1 -2 -0 -0 -2 -3 -4 -4 -2 -2 -4 -6 -6 -6 -5 -4 -6 -8 -10 -12 -12 -11 -5 1 3 2 -1 -2 -1 2 4 3 -2 -8 -13 -14 -13 -11 -7 -3 -1 -2 -4 -8 -12 -12 -9 -3 2 3 3 -0 -4 -9 -14 -20 -26 -31 -36 -36 -31 -20 -7 -6 -11 -12 -9 -2 1 1 -2 -6 -7 -6 -3 -1 1 -0 -2 -2 -1 2 2 -2 -7 -12 -13 -10 -7 -8 -14 -18 -16 -11 -6 -3 -3 -3 -4 -2 -2 -2 -2 -2 -2 -3 -6 -9 -12 -13 -14 -17 -21 -23 -18 -13 -12 -17 -24 -23 -21 -20 -19 -18 -17 -15 -15 -17 -17 -16 -15 -14 -15 -18 -20 -21 -21 -21 -23 -24 -25 -26 -24 -22 -22 -24 -27 -28 -28 -29 -29 -29 -29 -29 -28 -27 -25 -22 -19 -19 -22 -23 -23 -23 -23 -21 -20 -19 -20 -24 -25 -25 -25 -25 -27 -29 -30 -29 -26 -27 -27 -26 -27 -26 -22 -17 -15 -15 -15 -15 -14 -13 -12 -14 -14 -14 -14 -14 -16 -18 -20 -20 -21 -23 -25 -26 -23 -22 -19 -17 -15 -14 -14 -14 -16 -19 -20 -20 -20 -20 -21 -21 -21 -21 -21 -21 -21 -21 -21 -19 -19 -18 -18 -19 -19 -18 -18 -18 -18 -18 -18 -17 -17 -16 -15 -14 -14 -15 -15 -14 -13 -12 -14 -13 -10 -9 -12 -14 -15 -15 -15 -14 -14 -15 -17 -18 -16 -13 -12 -12 -13 -14 -15 -15 -15 -15 -16 -17 -17 -17 -18 -18 -18 -17 -15 3 6 8 8 5 -0 -4 -6 -7 -7 -7 -5 -5 -4 -3 -3 -3 -2 -3 -5 -8 -10 -10 -5 1 2 1 -2 -4 -4 -3 -2 -4 -9 -12 -11 -4 5 8 7 5 2 1 -2 -3 -2 -0 -1 -4 -6 -6 -3 -1 -0 -0 -0 -2 -2 -2 -2 -1 -1 -1 -1 -0 1 1 -0 -4 -10 -15 -16 -12 -4 4 3 -0 -2 -2 -1 -0 -1 -1 -2 -2 -1 -1 -3 -6 -8 -6 -0 6 10 10 10 9 5 -5 -12 -12 -3 9 13 12 6 -2 -5 -3 1 3 2 -1 -3 -4 -6 -8 -9 -10 -12 -13 -11 -7 -2 4 8 6 3 -0 -1 -1 -1 -2 -3 -2 -1 -1 -2 -4 -5 -6 -6 -6 -7 -8 -9 -10 -11 -12 -8 -3 2 4 1 -1 -2 -0 3 4 -0 -6 -11 -12 -13 -13 -11 -7 -2 -1 -2 -5 -9 -12 -13 -11 -5 1 4 4 1 -4 -10 -16 -23 -29 -34 -37 -34 -26 -13 -6 -8 -12 -13 -8 -1 3 3 -0 -5 -7 -7 -5 -4 -1 -2 -4 -4 -2 -0 -0 -2 -9 -14 -13 -9 -6 -7 -12 -14 -13 -9 -4 -2 -3 -4 -5 -4 -3 -1 -0 -1 -2 -4 -7 -12 -15 -16 -18 -21 -23 -20 -15 -13 -15 -22 -22 -21 -20 -20 -18 -17 -16 -16 -16 -16 -16 -14 -13 -14 -17 -19 -21 -21 -22 -24 -25 -27 -27 -25 -23 -21 -23 -26 -27 -27 -28 -28 -28 -28 -29 -28 -27 -24 -22 -20 -21 -24 -26 -26 -24 -24 -24 -22 -20 -20 -24 -26 -26 -26 -26 -27 -29 -29 -27 -22 -23 -25 -27 -27 -26 -21 -16 -14 -14 -14 -15 -16 -15 -12 -13 -15 -15 -14 -14 -15 -17 -19 -20 -20 -21 -22 -25 -24 -23 -22 -18 -15 -14 -14 -14 -15 -18 -20 -20 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -20 -20 -20 -18 -19 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -15 -15 -15 -15 -16 -15 -13 -11 -13 -13 -12 -10 -11 -12 -13 -14 -15 -14 -13 -13 -16 -18 -16 -13 -12 -12 -12 -14 -14 -14 -15 -16 -17 -17 -18 -18 -19 -20 -20 -19 -17 7 8 6 3 -1 -3 -5 -6 -7 -7 -6 -5 -4 -4 -5 -5 -3 -2 -3 -6 -9 -9 -8 -4 -2 -2 -3 -4 -5 -2 -0 -1 -5 -10 -11 -8 -2 5 6 5 3 1 -1 -3 -3 -3 -0 -2 -4 -6 -5 -1 -0 -1 -2 -2 -3 -2 -2 -1 -1 -1 -2 -2 -1 -0 1 -1 -6 -13 -18 -17 -11 -3 5 4 1 -1 -1 -0 -0 -0 -0 -1 -1 -1 -2 -4 -9 -12 -9 -3 7 11 12 10 8 7 -1 -9 -11 -5 5 11 11 7 -1 -6 -4 -1 3 2 -1 -4 -6 -7 -7 -7 -9 -12 -15 -13 -9 -3 2 8 10 7 3 -0 -1 -2 -3 -2 -0 1 -0 -1 -2 -4 -5 -6 -6 -8 -10 -11 -10 -9 -10 -9 -7 -2 3 3 1 -1 -1 1 4 3 -1 -8 -11 -12 -12 -13 -11 -6 -3 -1 -2 -5 -9 -13 -16 -14 -7 -1 3 3 2 -4 -10 -16 -24 -30 -34 -34 -30 -20 -9 -6 -8 -13 -13 -7 -1 4 4 -1 -4 -6 -5 -4 -2 -3 -4 -5 -5 -4 -2 -1 -5 -13 -15 -13 -7 -2 -4 -8 -10 -10 -5 -2 -2 -3 -6 -6 -3 -0 1 -0 -2 -3 -6 -10 -15 -17 -19 -21 -20 -20 -17 -15 -13 -18 -20 -20 -19 -19 -19 -19 -18 -18 -17 -17 -16 -15 -13 -14 -15 -18 -20 -21 -22 -24 -26 -27 -27 -26 -23 -22 -23 -24 -24 -24 -25 -25 -26 -27 -28 -27 -26 -23 -22 -21 -23 -25 -26 -26 -25 -25 -24 -24 -23 -21 -24 -26 -27 -27 -27 -27 -28 -28 -27 -21 -19 -20 -24 -26 -24 -20 -16 -14 -14 -15 -16 -17 -16 -13 -13 -14 -15 -16 -15 -15 -17 -19 -20 -20 -19 -20 -22 -24 -24 -22 -18 -16 -15 -14 -14 -15 -18 -19 -20 -21 -21 -21 -21 -20 -20 -20 -20 -20 -21 -20 -21 -22 -21 -20 -19 -18 -18 -19 -18 -18 -17 -17 -17 -18 -17 -16 -15 -16 -16 -16 -16 -13 -11 -12 -13 -14 -12 -11 -11 -11 -12 -14 -14 -13 -12 -14 -16 -15 -14 -13 -12 -13 -14 -15 -15 -17 -17 -17 -18 -19 -19 -20 -21 -22 -21 -19 4 3 2 -0 -2 -4 -5 -6 -7 -7 -6 -5 -5 -6 -7 -5 -2 -1 -2 -5 -7 -8 -8 -5 -4 -4 -4 -4 -3 -1 -0 -3 -8 -11 -9 -5 -0 4 4 3 3 1 -1 -4 -5 -4 -2 -3 -3 -3 -2 1 -0 -2 -4 -4 -3 -2 -1 -1 -1 -2 -2 -2 -2 -1 -1 -3 -8 -15 -19 -15 -8 -1 3 3 1 -0 -0 -0 -0 -0 1 1 -1 -2 -3 -7 -12 -14 -11 -4 7 12 13 11 9 8 2 -5 -9 -6 1 7 9 7 -0 -5 -5 -2 1 2 -0 -3 -5 -7 -7 -6 -8 -11 -16 -15 -12 -6 -1 5 10 11 8 3 -0 -3 -3 -3 -0 1 2 1 -0 -2 -4 -5 -6 -9 -12 -13 -11 -8 -8 -9 -9 -6 -0 3 3 1 -1 -0 2 4 3 -3 -9 -10 -11 -12 -13 -10 -6 -3 -1 -2 -5 -10 -14 -18 -16 -10 -5 -0 2 1 -3 -9 -16 -23 -29 -32 -31 -26 -16 -8 -6 -9 -13 -11 -6 -1 4 3 -0 -3 -4 -4 -3 -3 -4 -4 -5 -6 -5 -4 -5 -10 -15 -15 -10 -3 -0 -1 -5 -9 -7 -4 -2 -2 -5 -5 -4 -1 -0 -1 -2 -3 -5 -8 -14 -18 -20 -20 -18 -17 -16 -15 -13 -15 -18 -19 -18 -18 -19 -20 -20 -20 -20 -19 -18 -15 -14 -14 -14 -17 -19 -20 -22 -25 -27 -28 -28 -26 -24 -21 -20 -19 -19 -20 -22 -22 -22 -23 -25 -24 -24 -23 -22 -23 -24 -26 -26 -26 -25 -25 -25 -24 -22 -21 -23 -25 -27 -28 -28 -27 -27 -27 -28 -24 -19 -16 -19 -23 -22 -19 -16 -15 -15 -16 -17 -17 -17 -14 -14 -14 -15 -15 -16 -16 -17 -20 -20 -20 -19 -19 -19 -22 -23 -21 -18 -16 -16 -15 -15 -15 -17 -19 -20 -22 -21 -21 -20 -21 -20 -20 -20 -20 -21 -20 -21 -22 -22 -22 -20 -19 -18 -19 -19 -18 -17 -17 -16 -17 -17 -16 -15 -15 -16 -17 -16 -15 -12 -12 -13 -15 -14 -13 -12 -10 -11 -13 -14 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -16 -17 -18 -18 -18 -18 -19 -19 -21 -22 -22 -20 -1 -0 -0 -0 -2 -4 -6 -6 -5 -5 -4 -5 -6 -7 -8 -4 -1 -0 -2 -5 -8 -9 -8 -6 -5 -5 -4 -3 -1 -0 -2 -6 -10 -11 -7 -2 1 2 2 2 3 2 -2 -5 -7 -6 -4 -3 -1 -0 1 1 -2 -4 -4 -3 -1 -0 -0 -1 -2 -2 -3 -3 -3 -3 -3 -6 -11 -17 -18 -12 -4 2 2 1 -0 -0 -0 -0 -0 -1 -1 1 -0 -1 -5 -10 -15 -16 -12 -4 6 11 13 13 11 10 5 -2 -6 -6 -1 4 6 6 -0 -4 -5 -4 -1 2 1 -1 -4 -6 -7 -6 -6 -9 -14 -17 -15 -10 -5 1 8 12 12 7 2 -2 -3 -3 -1 1 2 2 1 -1 -3 -4 -5 -8 -12 -14 -14 -10 -6 -7 -9 -9 -5 1 4 4 2 -0 1 3 4 1 -7 -10 -11 -10 -11 -12 -9 -5 -2 -2 -3 -6 -10 -16 -18 -16 -12 -7 -4 -1 -2 -5 -10 -15 -23 -27 -29 -28 -23 -15 -9 -6 -9 -10 -9 -5 -1 2 2 1 -1 -2 -3 -4 -4 -4 -4 -6 -7 -8 -7 -9 -12 -14 -14 -9 -2 2 1 -4 -7 -6 -4 -2 -4 -5 -5 -4 -3 -2 -2 -3 -4 -7 -12 -18 -21 -21 -17 -16 -16 -16 -14 -14 -16 -18 -19 -19 -19 -19 -19 -20 -21 -20 -18 -16 -15 -14 -14 -15 -18 -20 -22 -25 -29 -30 -29 -27 -24 -19 -16 -16 -17 -19 -22 -22 -21 -21 -22 -23 -24 -24 -23 -24 -25 -26 -26 -25 -25 -25 -24 -23 -22 -21 -22 -24 -26 -28 -27 -27 -27 -27 -27 -26 -21 -16 -14 -19 -21 -19 -16 -15 -15 -16 -17 -17 -17 -15 -15 -16 -16 -16 -16 -17 -18 -21 -20 -20 -20 -19 -18 -20 -22 -22 -20 -17 -16 -16 -15 -15 -16 -17 -19 -21 -21 -20 -20 -21 -20 -20 -19 -20 -20 -19 -20 -21 -21 -22 -21 -20 -19 -20 -20 -19 -18 -17 -16 -17 -18 -17 -15 -16 -16 -16 -16 -16 -13 -13 -13 -16 -16 -15 -13 -11 -10 -12 -13 -14 -13 -13 -13 -13 -14 -14 -13 -13 -13 -13 -15 -16 -17 -18 -18 -19 -19 -20 -21 -21 -21 -20 -1 -0 -0 -0 -2 -5 -6 -5 -5 -5 -4 -5 -6 -6 -5 -2 -1 -2 -4 -5 -7 -8 -8 -7 -5 -4 -3 -2 -1 -2 -5 -9 -12 -11 -6 -1 1 1 1 2 2 2 -3 -8 -9 -8 -4 -2 -0 1 1 -1 -3 -4 -3 -1 1 1 -0 -1 -1 -2 -3 -3 -3 -3 -5 -9 -14 -19 -16 -7 -1 2 -0 -0 -0 -0 -1 -0 -0 -2 -2 -2 -0 -1 -5 -11 -18 -18 -12 -3 5 9 12 13 13 12 9 2 -3 -4 -1 2 4 3 -1 -4 -5 -5 -3 -0 1 -0 -2 -5 -7 -6 -5 -6 -11 -16 -17 -14 -9 -5 2 9 14 11 5 1 -2 -3 -2 -0 2 2 1 -0 -2 -3 -4 -6 -10 -15 -16 -13 -6 -5 -7 -9 -8 -2 3 5 4 -0 -0 1 3 3 -4 -8 -10 -9 -9 -11 -11 -9 -4 -2 -2 -5 -9 -14 -17 -17 -15 -12 -10 -8 -6 -5 -6 -10 -17 -22 -24 -26 -26 -22 -16 -9 -7 -6 -7 -7 -6 -2 1 3 3 -0 -1 -2 -4 -5 -5 -6 -8 -9 -10 -10 -11 -12 -15 -14 -8 -2 2 -0 -4 -5 -5 -4 -5 -6 -7 -6 -4 -2 -1 -2 -4 -7 -12 -16 -20 -20 -17 -16 -17 -18 -16 -14 -15 -18 -20 -19 -18 -16 -16 -17 -20 -19 -18 -17 -16 -16 -15 -15 -16 -18 -22 -26 -29 -31 -29 -27 -23 -17 -15 -15 -17 -19 -21 -22 -22 -21 -21 -23 -26 -26 -26 -26 -26 -26 -26 -25 -24 -24 -24 -23 -22 -21 -22 -23 -24 -26 -25 -25 -25 -26 -26 -24 -22 -19 -14 -17 -21 -21 -17 -16 -16 -16 -16 -16 -15 -15 -16 -18 -18 -18 -18 -18 -21 -22 -22 -22 -21 -21 -20 -21 -23 -24 -22 -19 -16 -15 -15 -14 -15 -18 -20 -20 -20 -20 -20 -20 -20 -19 -19 -20 -20 -19 -20 -21 -21 -21 -21 -20 -19 -20 -20 -19 -18 -17 -16 -18 -18 -17 -16 -16 -16 -16 -16 -16 -14 -13 -13 -17 -17 -17 -15 -12 -9 -10 -12 -15 -15 -14 -13 -13 -13 -14 -12 -11 -10 -12 -14 -16 -17 -18 -19 -20 -21 -21 -21 -19 -18 -18 -1 1 1 -0 -2 -3 -4 -4 -5 -5 -5 -5 -4 -4 -3 -2 -3 -4 -5 -5 -5 -6 -7 -8 -7 -4 -3 -2 -2 -4 -7 -10 -12 -9 -5 -1 1 1 1 2 1 -1 -6 -10 -10 -7 -3 -0 1 1 -0 -3 -3 -2 -0 2 2 2 1 -0 -1 -1 -2 -3 -3 -3 -6 -10 -14 -16 -11 -5 -3 -2 -2 1 1 1 -1 -1 -1 -2 -4 -4 -3 -2 -4 -10 -17 -17 -12 -4 3 6 10 13 15 14 11 6 1 -0 2 3 2 -0 -3 -4 -5 -6 -5 -3 1 2 -0 -3 -5 -5 -4 -4 -7 -13 -16 -16 -13 -9 -4 3 11 15 10 5 -0 -2 -1 -0 1 1 -0 -1 -1 -2 -3 -5 -8 -13 -17 -15 -9 -5 -5 -8 -10 -6 -0 4 5 2 -0 -0 1 2 -1 -5 -8 -8 -8 -10 -12 -11 -8 -4 -3 -5 -9 -13 -15 -15 -14 -13 -13 -13 -12 -9 -6 -8 -12 -16 -19 -21 -24 -25 -22 -16 -10 -5 -4 -7 -8 -6 -3 -0 3 2 2 -0 -2 -5 -6 -7 -8 -10 -12 -12 -11 -11 -13 -14 -12 -8 -3 -0 -0 -3 -5 -5 -6 -8 -9 -8 -6 -1 2 1 -3 -8 -12 -14 -16 -17 -15 -16 -17 -18 -17 -15 -16 -17 -19 -20 -19 -16 -14 -16 -19 -20 -19 -18 -18 -19 -18 -16 -15 -17 -20 -24 -28 -30 -28 -25 -22 -17 -15 -15 -16 -18 -20 -23 -23 -22 -22 -25 -27 -28 -26 -26 -26 -26 -25 -24 -23 -23 -23 -23 -23 -22 -23 -23 -23 -24 -24 -24 -24 -23 -23 -22 -21 -20 -19 -20 -21 -21 -19 -17 -16 -16 -15 -15 -15 -15 -16 -17 -18 -19 -19 -18 -20 -21 -22 -22 -21 -21 -22 -24 -25 -26 -25 -21 -18 -15 -15 -14 -15 -17 -20 -19 -19 -20 -20 -20 -19 -18 -18 -19 -19 -19 -19 -20 -21 -21 -21 -20 -20 -20 -20 -20 -19 -18 -18 -18 -18 -16 -15 -15 -16 -16 -16 -16 -15 -14 -13 -15 -17 -17 -16 -15 -11 -10 -11 -15 -16 -15 -13 -12 -13 -14 -13 -11 -9 -11 -14 -16 -18 -18 -20 -20 -20 -21 -20 -18 -18 -18 -1 1 1 -0 -1 -2 -3 -4 -4 -4 -4 -4 -3 -3 -3 -4 -5 -6 -6 -5 -4 -4 -5 -7 -7 -6 -5 -5 -4 -6 -8 -10 -10 -8 -4 -0 2 2 2 1 -1 -5 -9 -11 -9 -5 -1 -0 -0 -0 -2 -3 -2 -0 2 2 2 1 -0 -0 -1 -1 -2 -2 -2 -3 -7 -11 -13 -11 -6 -4 -4 -5 -3 -0 2 1 -1 -1 -2 -2 -3 -5 -4 -4 -5 -10 -16 -15 -10 -5 -0 3 7 11 14 14 11 8 5 4 5 5 2 -1 -3 -5 -6 -6 -7 -6 -2 1 2 -0 -3 -4 -3 -3 -5 -9 -13 -15 -14 -11 -8 -4 4 13 15 11 5 1 1 1 1 1 -0 -1 -2 -2 -2 -1 -5 -10 -15 -17 -12 -6 -3 -5 -9 -9 -5 1 5 4 1 -0 -0 1 -0 -3 -5 -7 -8 -9 -12 -13 -11 -6 -5 -6 -9 -13 -14 -14 -12 -11 -12 -14 -15 -13 -9 -6 -8 -12 -16 -18 -20 -22 -23 -21 -15 -8 -4 -5 -7 -7 -5 -4 -1 1 3 3 1 -3 -7 -8 -8 -9 -12 -14 -14 -12 -11 -12 -12 -10 -7 -3 -0 -0 -2 -5 -6 -8 -9 -9 -8 -3 3 3 -1 -7 -12 -14 -14 -12 -12 -13 -15 -17 -18 -16 -16 -17 -19 -21 -20 -18 -15 -16 -18 -19 -19 -18 -19 -20 -20 -18 -15 -15 -19 -23 -27 -28 -25 -23 -21 -18 -16 -15 -15 -18 -21 -24 -25 -24 -24 -26 -28 -29 -27 -26 -26 -27 -26 -24 -23 -23 -23 -23 -23 -23 -23 -23 -23 -23 -23 -23 -23 -21 -21 -21 -21 -21 -21 -21 -20 -20 -20 -19 -17 -16 -16 -15 -15 -15 -15 -15 -16 -19 -20 -18 -18 -19 -20 -20 -19 -20 -23 -25 -26 -27 -27 -24 -20 -17 -15 -14 -15 -17 -18 -18 -18 -19 -20 -19 -18 -18 -18 -19 -19 -19 -19 -20 -20 -20 -21 -21 -21 -20 -20 -20 -19 -18 -18 -18 -17 -15 -15 -15 -16 -17 -17 -16 -16 -15 -13 -15 -16 -16 -17 -17 -12 -10 -10 -14 -17 -16 -14 -12 -14 -15 -15 -13 -10 -10 -13 -17 -20 -20 -20 -19 -18 -19 -19 -18 -18 -18 -0 1 1 -0 -0 -1 -2 -3 -3 -3 -4 -4 -3 -3 -3 -4 -5 -5 -5 -5 -3 -3 -3 -3 -4 -7 -9 -9 -7 -7 -9 -11 -10 -8 -3 2 4 3 1 -1 -4 -8 -11 -11 -8 -4 -1 -1 -0 -1 -1 -1 -0 2 2 1 1 -0 -0 -0 -1 -1 -1 -1 -1 -3 -8 -12 -11 -7 -1 -1 -4 -6 -5 -1 1 2 -0 -1 -3 -3 -3 -4 -4 -5 -7 -11 -14 -12 -8 -4 -2 -0 4 9 12 14 13 10 7 6 8 7 3 -2 -5 -6 -6 -6 -8 -8 -6 -2 -0 1 -1 -1 -1 -1 -3 -7 -10 -13 -13 -11 -10 -8 -4 3 11 13 10 5 3 3 2 1 -0 -2 -4 -5 -3 1 -0 -6 -13 -18 -16 -10 -4 -2 -5 -8 -8 -4 2 4 3 2 1 -0 -1 -2 -4 -6 -7 -9 -11 -13 -13 -9 -6 -6 -10 -15 -16 -14 -10 -7 -9 -13 -16 -18 -14 -8 -6 -8 -13 -16 -17 -18 -20 -21 -18 -12 -8 -6 -7 -5 -5 -4 -4 -2 1 3 3 -0 -5 -8 -8 -8 -11 -14 -16 -15 -12 -11 -10 -10 -9 -7 -3 -0 -0 -3 -5 -7 -9 -11 -12 -7 -1 4 3 -4 -11 -16 -16 -12 -10 -10 -12 -16 -18 -17 -16 -16 -18 -21 -21 -19 -16 -17 -19 -19 -19 -19 -19 -20 -21 -20 -17 -17 -19 -22 -27 -26 -23 -21 -20 -18 -16 -15 -16 -19 -23 -25 -25 -25 -25 -27 -28 -29 -28 -27 -28 -27 -26 -25 -25 -24 -23 -23 -24 -24 -24 -23 -23 -22 -22 -22 -22 -19 -20 -21 -23 -24 -24 -24 -22 -21 -20 -18 -18 -17 -16 -15 -15 -15 -15 -15 -15 -18 -20 -18 -16 -16 -17 -17 -17 -19 -21 -23 -24 -25 -27 -26 -23 -19 -17 -16 -16 -17 -17 -17 -18 -18 -19 -19 -19 -18 -18 -19 -19 -19 -19 -20 -19 -20 -20 -21 -21 -20 -20 -20 -19 -18 -17 -16 -15 -15 -15 -15 -16 -17 -17 -17 -17 -16 -14 -14 -15 -16 -17 -17 -15 -13 -11 -14 -17 -17 -15 -13 -14 -16 -16 -14 -11 -10 -13 -16 -20 -21 -21 -19 -17 -17 -18 -18 -18 -19 1 1 -0 -0 -0 -1 -2 -3 -3 -3 -4 -4 -3 -3 -3 -3 -4 -4 -5 -6 -4 -2 -0 -0 -2 -7 -10 -10 -8 -7 -10 -11 -10 -5 1 4 4 2 -1 -4 -8 -11 -13 -10 -5 -2 -1 -1 -1 -1 -1 1 2 2 2 1 -0 -0 -1 -1 -1 -0 -0 -0 -1 -4 -9 -11 -9 -3 1 -0 -2 -5 -5 -3 -0 2 2 -0 -3 -4 -4 -4 -5 -7 -10 -12 -13 -9 -6 -3 -3 -2 2 6 10 12 13 11 8 7 9 9 5 -1 -6 -7 -7 -6 -7 -8 -9 -7 -3 -1 -1 -0 1 1 -0 -4 -8 -10 -11 -10 -9 -8 -8 -6 2 8 11 10 6 4 3 2 2 -1 -4 -7 -6 -0 3 -0 -8 -17 -19 -13 -6 -1 -2 -6 -8 -7 -3 1 4 4 3 2 -0 -1 -2 -4 -6 -8 -10 -12 -15 -12 -8 -7 -10 -16 -18 -16 -10 -5 -5 -9 -15 -19 -19 -12 -8 -7 -10 -13 -15 -16 -17 -19 -18 -15 -11 -7 -7 -6 -5 -5 -4 -4 -3 -1 1 1 -2 -5 -7 -8 -9 -13 -16 -17 -14 -12 -10 -9 -9 -10 -7 -3 -0 -1 -4 -5 -7 -11 -14 -13 -7 1 6 1 -7 -14 -17 -15 -10 -9 -11 -16 -19 -19 -18 -17 -18 -20 -21 -20 -17 -19 -20 -20 -19 -19 -18 -20 -21 -22 -19 -18 -19 -21 -24 -24 -23 -21 -19 -18 -16 -17 -18 -21 -24 -25 -25 -24 -24 -26 -27 -28 -28 -28 -28 -27 -26 -26 -25 -25 -24 -24 -24 -24 -23 -23 -23 -22 -22 -22 -22 -20 -20 -21 -22 -23 -25 -26 -25 -24 -21 -19 -18 -17 -17 -16 -16 -16 -16 -16 -15 -17 -18 -17 -15 -15 -15 -16 -15 -17 -18 -19 -20 -21 -23 -24 -25 -22 -19 -18 -18 -17 -16 -17 -18 -18 -18 -19 -18 -18 -18 -19 -19 -19 -19 -20 -19 -19 -19 -19 -20 -19 -19 -19 -19 -17 -17 -16 -15 -15 -15 -15 -16 -17 -17 -17 -17 -16 -14 -13 -14 -16 -16 -16 -16 -15 -13 -14 -16 -17 -17 -15 -14 -15 -16 -15 -13 -11 -13 -16 -20 -21 -20 -19 -17 -17 -18 -18 -18 -19 1 1 -0 -0 -0 -1 -1 -2 -3 -3 -4 -4 -3 -3 -3 -3 -4 -5 -6 -6 -4 -1 -0 -1 -3 -5 -7 -7 -7 -9 -12 -12 -8 -0 3 4 3 1 -2 -5 -10 -13 -14 -9 -4 -1 -0 -0 -0 1 1 2 2 2 1 1 1 -0 -1 -1 -1 -0 -0 -0 -1 -5 -9 -9 -6 -1 1 1 -1 -2 -3 -3 -2 -0 1 1 -2 -4 -5 -4 -5 -8 -11 -13 -11 -7 -4 -2 -2 -2 -0 3 7 10 11 10 8 6 9 10 6 -0 -7 -8 -7 -6 -6 -8 -10 -10 -8 -5 -3 -1 2 4 3 -1 -5 -8 -9 -8 -7 -7 -7 -9 -6 -0 6 9 8 5 4 2 2 1 -3 -7 -9 -4 1 2 -4 -13 -18 -15 -9 -3 -1 -4 -7 -8 -7 -3 -0 3 4 5 4 2 -0 -2 -4 -6 -9 -12 -17 -16 -12 -10 -10 -15 -19 -18 -14 -6 -2 -4 -10 -16 -19 -16 -12 -9 -8 -11 -12 -14 -15 -16 -17 -15 -12 -9 -8 -7 -6 -5 -5 -4 -4 -4 -3 -1 -2 -3 -5 -6 -7 -12 -16 -17 -17 -14 -11 -9 -8 -9 -8 -5 -2 -1 -3 -4 -5 -9 -14 -16 -13 -7 2 3 -1 -8 -14 -16 -13 -11 -11 -14 -19 -23 -23 -19 -18 -20 -21 -20 -19 -19 -20 -20 -19 -19 -18 -20 -22 -23 -21 -20 -20 -20 -22 -23 -22 -21 -19 -18 -17 -17 -18 -20 -23 -23 -23 -22 -23 -25 -26 -27 -27 -28 -28 -26 -25 -25 -25 -25 -24 -24 -24 -23 -23 -23 -23 -22 -22 -22 -23 -22 -21 -20 -20 -21 -24 -26 -26 -26 -23 -20 -19 -19 -17 -17 -17 -17 -17 -16 -15 -15 -16 -17 -15 -15 -15 -15 -15 -15 -16 -17 -18 -18 -19 -21 -24 -24 -21 -20 -18 -18 -17 -18 -18 -18 -18 -17 -17 -17 -18 -19 -18 -18 -18 -20 -19 -19 -18 -17 -18 -18 -18 -19 -19 -17 -17 -16 -15 -15 -15 -16 -16 -17 -17 -17 -17 -15 -13 -13 -14 -16 -16 -15 -16 -16 -15 -15 -16 -17 -18 -17 -14 -15 -16 -16 -15 -13 -13 -16 -19 -20 -19 -18 -17 -17 -17 -18 -19 -18 1 -0 -0 -0 -0 -0 -1 -1 -3 -4 -4 -4 -3 -2 -2 -2 -4 -6 -7 -6 -4 -2 -1 -2 -4 -4 -4 -5 -6 -10 -12 -10 -4 3 4 3 1 -1 -3 -7 -10 -13 -14 -8 -3 -0 -0 -0 1 2 3 4 3 2 2 2 2 1 -0 -1 -1 -0 -0 -1 -3 -7 -7 -5 -3 -1 -1 -0 -0 -0 -0 -1 -1 -0 1 1 -1 -3 -5 -6 -6 -8 -10 -11 -9 -7 -4 -1 -0 -1 -0 2 5 8 9 9 8 5 8 9 7 1 -6 -8 -7 -5 -4 -6 -8 -10 -10 -8 -5 -3 -0 5 6 2 -1 -5 -7 -8 -6 -5 -5 -8 -9 -7 -2 4 7 5 2 1 1 2 -0 -5 -9 -8 -3 -0 -2 -9 -15 -15 -11 -5 -2 -3 -6 -7 -8 -5 -2 -0 3 5 6 6 5 2 -1 -4 -7 -12 -18 -20 -17 -13 -11 -13 -17 -18 -17 -10 -3 -1 -3 -9 -16 -17 -16 -13 -11 -11 -11 -12 -13 -14 -16 -15 -13 -10 -8 -7 -6 -6 -5 -4 -4 -4 -5 -5 -3 -2 -2 -3 -6 -11 -15 -17 -17 -15 -13 -11 -11 -10 -9 -6 -3 -3 -3 -2 -3 -6 -13 -17 -17 -14 -6 -0 1 -1 -6 -11 -13 -13 -12 -13 -18 -22 -24 -22 -21 -21 -21 -19 -18 -18 -18 -18 -18 -19 -19 -20 -22 -23 -22 -20 -19 -19 -18 -19 -19 -19 -19 -17 -17 -18 -19 -20 -21 -22 -21 -21 -21 -23 -25 -26 -26 -27 -26 -25 -25 -25 -25 -25 -24 -24 -23 -23 -23 -23 -22 -21 -21 -22 -23 -23 -22 -21 -20 -21 -24 -26 -27 -26 -24 -22 -21 -21 -20 -19 -17 -17 -17 -15 -15 -15 -16 -17 -16 -15 -15 -15 -15 -15 -15 -16 -17 -16 -17 -18 -21 -22 -22 -20 -18 -18 -17 -18 -18 -18 -18 -17 -16 -17 -19 -19 -18 -18 -18 -19 -19 -19 -18 -17 -17 -17 -18 -20 -20 -18 -18 -17 -15 -15 -15 -16 -16 -16 -16 -16 -16 -16 -13 -13 -15 -17 -17 -15 -14 -15 -16 -15 -15 -17 -18 -18 -15 -14 -14 -16 -16 -14 -14 -15 -18 -19 -18 -17 -16 -15 -17 -18 -19 -18 -0 -1 -1 -0 1 1 -0 -2 -3 -3 -3 -3 -2 -2 -1 -2 -5 -6 -7 -6 -4 -3 -3 -3 -5 -3 -3 -4 -6 -9 -10 -7 -2 4 4 2 -1 -3 -5 -8 -10 -12 -11 -6 -3 -1 -1 -0 1 3 5 5 3 3 3 3 2 1 -1 -1 -1 -0 -0 -3 -5 -7 -5 -3 -1 -2 -3 -1 -0 -0 -0 -0 1 2 3 2 1 -2 -5 -8 -8 -7 -6 -6 -8 -8 -6 -2 2 3 2 3 5 7 7 7 5 4 6 7 5 1 -3 -6 -6 -5 -3 -3 -6 -9 -11 -11 -8 -6 -3 2 5 5 3 -1 -5 -6 -6 -4 -3 -4 -8 -10 -9 -4 2 2 -0 -1 -1 1 2 -0 -5 -8 -6 -3 -3 -7 -12 -13 -10 -6 -3 -4 -5 -7 -8 -6 -4 -1 -0 2 4 7 8 8 6 2 -3 -10 -19 -23 -21 -17 -12 -12 -14 -17 -17 -15 -9 -3 -0 -3 -10 -16 -18 -18 -16 -14 -12 -11 -10 -11 -14 -14 -13 -11 -9 -8 -7 -7 -6 -5 -5 -5 -6 -7 -5 -3 -2 -2 -5 -10 -15 -18 -17 -16 -15 -13 -12 -12 -9 -6 -4 -3 -3 -2 -3 -5 -10 -15 -17 -17 -14 -8 -3 -0 -0 -5 -9 -13 -14 -14 -16 -21 -24 -24 -22 -21 -19 -16 -16 -16 -16 -15 -17 -19 -20 -21 -20 -21 -21 -19 -18 -16 -16 -15 -16 -17 -18 -17 -17 -19 -21 -21 -21 -21 -21 -22 -22 -24 -25 -25 -25 -25 -24 -24 -24 -24 -25 -25 -25 -24 -23 -23 -23 -24 -22 -22 -22 -22 -22 -22 -22 -23 -24 -24 -24 -25 -26 -26 -25 -23 -23 -23 -23 -21 -18 -16 -15 -15 -15 -15 -15 -16 -17 -17 -16 -15 -15 -15 -16 -16 -16 -16 -16 -17 -18 -19 -20 -20 -19 -17 -16 -17 -18 -19 -19 -17 -16 -17 -19 -19 -19 -18 -19 -19 -20 -20 -19 -18 -18 -18 -18 -20 -20 -19 -19 -18 -16 -16 -16 -16 -16 -16 -16 -16 -17 -17 -15 -15 -15 -16 -16 -15 -13 -14 -15 -16 -15 -15 -18 -18 -17 -15 -13 -16 -16 -16 -15 -15 -16 -18 -18 -17 -16 -15 -16 -18 -19 -17 -0 -1 -1 -0 1 1 -0 -2 -3 -3 -3 -2 -2 -1 -1 -3 -4 -6 -6 -5 -3 -3 -4 -4 -5 -3 -3 -4 -6 -8 -7 -4 -0 4 3 1 -2 -4 -7 -10 -11 -9 -7 -3 -2 -3 -3 -2 -0 3 5 6 6 6 6 5 2 -1 -2 -2 -0 -0 -2 -4 -5 -5 -1 -0 -1 -3 -3 -2 -2 -2 -4 -4 -1 2 4 3 1 -2 -5 -8 -8 -5 -3 -2 -5 -9 -9 -5 3 6 5 5 6 6 6 4 3 3 4 5 3 -0 -3 -5 -6 -4 -0 -0 -3 -7 -11 -12 -9 -7 -6 -3 1 4 4 3 -0 -3 -5 -4 -2 -2 -5 -9 -11 -10 -5 -2 -2 -3 -4 -2 1 2 -0 -6 -7 -6 -5 -7 -10 -11 -9 -6 -4 -5 -6 -7 -8 -6 -4 -1 -0 -0 1 4 7 10 11 8 3 -5 -16 -22 -23 -19 -14 -13 -14 -16 -17 -17 -13 -7 -1 1 -4 -11 -16 -20 -22 -19 -15 -11 -8 -8 -11 -13 -14 -12 -10 -9 -9 -8 -7 -6 -5 -5 -6 -7 -6 -5 -4 -3 -5 -10 -14 -17 -16 -16 -14 -12 -12 -13 -12 -8 -4 -2 -3 -4 -6 -6 -8 -11 -14 -16 -17 -15 -11 -6 -3 -5 -8 -12 -13 -14 -15 -19 -22 -24 -23 -21 -18 -15 -16 -16 -14 -13 -15 -19 -21 -20 -19 -19 -21 -19 -16 -14 -14 -13 -13 -14 -17 -17 -18 -20 -22 -22 -21 -20 -21 -23 -24 -24 -25 -25 -25 -24 -24 -24 -24 -24 -25 -26 -25 -24 -23 -22 -22 -23 -22 -22 -22 -22 -22 -22 -22 -23 -25 -25 -25 -25 -26 -26 -26 -25 -25 -26 -25 -22 -19 -17 -15 -15 -15 -14 -14 -17 -17 -17 -16 -15 -15 -16 -17 -18 -16 -15 -16 -17 -18 -19 -20 -20 -20 -16 -15 -16 -17 -19 -19 -17 -17 -17 -19 -20 -19 -18 -19 -19 -19 -20 -19 -19 -18 -18 -19 -20 -20 -20 -19 -18 -17 -17 -17 -16 -15 -15 -16 -17 -18 -17 -16 -14 -12 -15 -15 -15 -13 -13 -14 -16 -16 -15 -16 -17 -18 -18 -15 -16 -17 -17 -15 -14 -14 -16 -18 -18 -17 -15 -15 -17 -19 -18 -1 -1 -0 1 1 1 -0 -2 -3 -3 -2 -2 -2 -2 -2 -3 -4 -5 -5 -4 -3 -3 -4 -5 -5 -4 -4 -4 -5 -6 -5 -2 1 3 2 -1 -4 -5 -8 -11 -11 -8 -2 -2 -3 -5 -6 -5 -1 2 5 7 9 10 9 5 1 -2 -3 -2 -0 -0 -2 -3 -4 -2 1 2 -0 -2 -3 -1 -1 -2 -4 -5 -3 -0 4 3 1 -2 -4 -6 -5 -4 -2 -1 -3 -7 -10 -7 -0 7 9 8 6 6 5 3 1 -0 3 4 2 -3 -6 -6 -5 -1 5 5 1 -5 -9 -12 -9 -7 -6 -5 -3 1 5 6 5 1 -2 -3 -2 -1 -2 -5 -10 -12 -11 -7 -5 -4 -5 -5 -2 -0 1 -3 -6 -7 -7 -8 -10 -10 -8 -4 -3 -5 -7 -8 -9 -7 -5 -1 2 1 -0 -0 2 7 11 11 8 1 -9 -18 -22 -20 -16 -14 -13 -14 -16 -17 -14 -9 -4 -2 -4 -7 -12 -17 -21 -20 -17 -14 -9 -7 -9 -11 -13 -12 -10 -10 -9 -9 -8 -7 -6 -6 -6 -6 -7 -6 -6 -6 -7 -10 -14 -17 -15 -15 -13 -11 -10 -12 -13 -11 -7 -3 -3 -5 -6 -6 -6 -8 -11 -16 -17 -18 -17 -15 -13 -11 -11 -11 -11 -12 -13 -16 -19 -22 -23 -21 -18 -15 -16 -15 -14 -14 -15 -20 -22 -21 -18 -18 -19 -18 -15 -14 -15 -13 -12 -13 -15 -17 -19 -21 -23 -23 -22 -22 -22 -24 -25 -25 -24 -24 -24 -24 -24 -24 -24 -24 -25 -25 -25 -24 -23 -22 -21 -23 -22 -22 -22 -21 -21 -21 -22 -22 -25 -25 -25 -26 -26 -26 -26 -26 -25 -26 -25 -23 -21 -19 -17 -16 -16 -15 -14 -16 -17 -16 -15 -14 -15 -17 -18 -18 -15 -15 -15 -17 -18 -19 -20 -22 -22 -18 -16 -16 -17 -18 -17 -17 -17 -17 -20 -20 -19 -18 -18 -18 -19 -19 -19 -19 -18 -18 -18 -19 -20 -20 -19 -19 -18 -17 -16 -15 -15 -15 -16 -18 -19 -18 -17 -14 -11 -14 -16 -16 -14 -13 -12 -16 -17 -15 -15 -17 -19 -19 -18 -17 -18 -18 -16 -14 -14 -16 -17 -18 -17 -16 -15 -16 -19 -19 -1 -1 -0 1 1 1 -0 -1 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -5 -4 -2 -2 -4 -6 -6 -5 -5 -5 -5 -5 -4 -1 2 3 2 -2 -5 -8 -10 -11 -9 -5 -1 -1 -5 -8 -9 -6 -1 4 8 10 12 10 8 4 1 -0 1 2 3 2 -1 -2 -3 -1 2 2 2 -0 -0 -1 -0 -0 -0 -1 -1 -0 1 2 1 -1 -1 -1 -2 -2 -1 -1 -1 -4 -7 -7 -2 7 11 11 8 6 5 2 -2 -3 1 4 3 -4 -11 -11 -8 -0 10 13 7 -1 -8 -12 -9 -6 -4 -4 -6 -4 -0 4 8 6 2 -1 -2 -0 -0 -2 -7 -11 -12 -11 -8 -5 -5 -5 -6 -5 -3 -2 -5 -7 -9 -9 -10 -10 -8 -4 -2 -4 -7 -10 -11 -10 -8 -3 1 3 1 -2 -2 2 6 8 8 5 -4 -12 -17 -19 -16 -14 -12 -12 -13 -16 -14 -11 -8 -7 -6 -7 -9 -12 -17 -18 -18 -17 -13 -8 -7 -8 -10 -12 -11 -10 -9 -9 -9 -7 -7 -7 -7 -7 -7 -7 -6 -7 -8 -11 -14 -17 -15 -13 -12 -10 -8 -9 -12 -13 -12 -6 -4 -3 -5 -6 -6 -6 -8 -12 -16 -18 -19 -18 -17 -14 -13 -12 -11 -10 -11 -14 -16 -20 -23 -21 -17 -15 -16 -16 -15 -14 -15 -19 -22 -21 -17 -15 -14 -14 -14 -15 -15 -14 -12 -11 -15 -18 -20 -21 -23 -22 -23 -24 -25 -25 -25 -25 -24 -24 -24 -24 -24 -25 -25 -25 -26 -25 -25 -24 -23 -22 -22 -23 -22 -21 -21 -21 -20 -21 -21 -22 -24 -25 -25 -26 -26 -26 -25 -25 -25 -26 -25 -24 -23 -20 -19 -19 -19 -16 -14 -14 -15 -16 -15 -14 -14 -16 -17 -18 -15 -15 -15 -17 -18 -19 -20 -23 -24 -21 -19 -18 -17 -18 -17 -17 -17 -17 -19 -19 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -18 -19 -20 -20 -19 -19 -18 -16 -15 -15 -15 -15 -16 -17 -18 -18 -17 -14 -12 -13 -15 -15 -14 -14 -11 -14 -16 -16 -14 -16 -19 -20 -20 -18 -18 -18 -17 -16 -15 -15 -16 -17 -17 -16 -15 -16 -19 -19 -1 -1 -0 1 2 1 -0 -1 -1 -2 -2 -1 -2 -2 -2 -3 -4 -5 -5 -3 -2 -3 -5 -6 -6 -5 -5 -5 -5 -5 -3 -0 3 3 1 -1 -5 -8 -10 -9 -6 -2 -0 -1 -4 -7 -9 -6 1 6 10 12 11 9 6 3 2 3 4 5 4 3 1 -0 -1 -1 1 2 2 2 1 -0 -1 -0 3 3 2 -0 -2 -1 -1 -0 1 1 -0 -1 -1 -1 1 -0 -2 -4 -2 6 12 14 12 9 6 1 -4 -6 -2 4 4 -2 -13 -18 -14 -3 12 19 14 5 -5 -12 -11 -7 -3 -2 -5 -7 -6 -1 6 8 5 2 -0 2 3 1 -3 -8 -12 -13 -12 -10 -7 -7 -7 -7 -6 -5 -6 -7 -9 -9 -10 -11 -9 -4 -1 -2 -5 -9 -11 -12 -11 -8 -3 3 3 -0 -2 -2 -0 3 4 4 -1 -7 -13 -15 -14 -13 -12 -11 -11 -13 -13 -12 -11 -11 -9 -7 -7 -9 -12 -15 -17 -17 -16 -11 -7 -6 -7 -10 -10 -10 -10 -9 -8 -7 -7 -8 -9 -8 -7 -6 -6 -7 -9 -12 -15 -17 -14 -12 -11 -11 -8 -7 -9 -12 -14 -11 -7 -4 -4 -6 -6 -6 -6 -9 -13 -16 -18 -17 -15 -13 -13 -15 -15 -12 -11 -13 -15 -19 -21 -20 -17 -15 -16 -16 -15 -14 -14 -18 -20 -19 -15 -13 -12 -12 -12 -14 -16 -15 -13 -11 -15 -19 -21 -21 -23 -22 -23 -24 -26 -26 -25 -25 -25 -25 -25 -25 -25 -25 -25 -25 -25 -25 -25 -24 -24 -24 -24 -23 -21 -21 -21 -21 -21 -21 -22 -23 -24 -24 -24 -25 -26 -26 -25 -25 -25 -25 -24 -24 -23 -21 -21 -23 -22 -17 -14 -14 -14 -15 -15 -14 -15 -16 -17 -16 -15 -15 -15 -18 -18 -19 -21 -23 -25 -23 -20 -19 -19 -18 -18 -18 -17 -17 -18 -18 -18 -19 -19 -19 -18 -17 -18 -18 -17 -17 -19 -19 -19 -19 -19 -19 -18 -17 -16 -15 -15 -15 -16 -16 -17 -18 -17 -15 -14 -14 -14 -15 -16 -15 -13 -14 -15 -17 -15 -17 -19 -20 -21 -19 -18 -18 -18 -17 -17 -16 -16 -17 -18 -17 -16 -17 -19 -19 -1 -1 -0 1 2 2 -0 -1 -2 -2 -1 -1 -1 -2 -3 -4 -4 -5 -4 -3 -2 -4 -6 -7 -6 -5 -5 -5 -5 -5 -3 -0 2 3 -0 -2 -5 -7 -8 -6 -4 -1 -0 -0 -2 -6 -8 -5 2 8 11 11 9 5 2 1 2 5 6 6 4 3 2 1 -0 -1 -1 -1 -0 1 -0 -1 -2 -1 3 4 2 -2 -5 -4 -2 -0 -0 -0 -0 -2 -3 -3 -0 3 4 2 -0 4 11 16 16 12 7 1 -5 -9 -6 -0 3 1 -10 -20 -20 -11 6 20 20 12 -0 -9 -11 -9 -5 -1 -2 -6 -8 -6 -0 7 7 5 2 3 6 6 2 -5 -9 -12 -14 -13 -12 -10 -9 -8 -8 -8 -8 -8 -9 -9 -10 -11 -10 -7 -2 -1 -3 -7 -10 -10 -11 -10 -8 -3 -0 1 1 1 -2 -1 -0 1 -1 -6 -10 -12 -11 -10 -11 -11 -9 -9 -10 -12 -13 -13 -11 -9 -8 -8 -10 -12 -14 -16 -17 -15 -10 -7 -6 -8 -8 -9 -10 -10 -9 -7 -7 -7 -8 -9 -8 -6 -6 -7 -9 -12 -15 -17 -15 -12 -11 -11 -9 -7 -7 -9 -13 -13 -11 -7 -5 -6 -7 -8 -7 -6 -9 -12 -16 -17 -16 -13 -14 -16 -17 -16 -13 -12 -13 -16 -19 -20 -19 -17 -16 -16 -14 -12 -13 -15 -16 -15 -14 -13 -12 -12 -12 -13 -14 -14 -12 -12 -15 -19 -22 -24 -24 -22 -23 -25 -26 -26 -26 -26 -26 -26 -26 -26 -26 -26 -25 -25 -25 -25 -25 -24 -25 -25 -25 -24 -22 -22 -22 -23 -23 -23 -23 -24 -24 -24 -24 -25 -26 -26 -25 -24 -24 -24 -23 -22 -21 -20 -23 -24 -23 -18 -15 -14 -14 -14 -15 -15 -16 -17 -18 -17 -16 -15 -16 -17 -19 -21 -23 -24 -24 -23 -21 -20 -19 -19 -19 -18 -18 -17 -17 -17 -17 -19 -20 -20 -18 -17 -17 -18 -18 -19 -20 -20 -19 -19 -19 -18 -18 -18 -16 -16 -15 -15 -15 -15 -15 -16 -17 -17 -16 -15 -15 -15 -16 -17 -15 -14 -15 -17 -17 -18 -20 -20 -20 -19 -19 -18 -19 -18 -17 -16 -16 -17 -18 -17 -17 -18 -19 -20 -1 -0 -0 2 2 2 -0 -1 -1 -0 -0 -1 -2 -3 -3 -3 -4 -3 -2 -1 -4 -7 -7 -6 -5 -4 -4 -5 -4 -4 -2 -0 2 1 -1 -4 -5 -6 -5 -4 -3 -2 -1 -0 -2 -5 -6 -2 4 8 9 8 5 2 -0 1 3 5 5 3 1 1 2 1 1 -0 -1 -1 -2 -2 -2 -2 -2 -0 1 2 -1 -4 -6 -5 -3 -2 -1 -2 -2 -4 -7 -8 -3 4 8 8 4 3 9 15 18 15 10 4 -4 -10 -11 -6 -1 3 -3 -15 -21 -18 -5 13 20 17 8 -4 -10 -11 -7 -1 1 -4 -8 -10 -6 2 7 7 3 3 7 10 8 1 -6 -11 -14 -15 -15 -14 -12 -11 -10 -9 -9 -9 -10 -10 -11 -12 -11 -9 -4 -2 -2 -5 -9 -10 -10 -10 -10 -9 -6 -1 3 4 2 -0 -1 -2 -3 -7 -10 -11 -10 -9 -9 -10 -8 -7 -8 -11 -13 -14 -13 -11 -10 -9 -10 -10 -11 -13 -16 -17 -14 -9 -5 -5 -6 -7 -9 -10 -9 -8 -7 -7 -8 -8 -8 -7 -6 -7 -8 -11 -14 -16 -15 -13 -11 -11 -11 -9 -7 -6 -10 -12 -12 -10 -7 -7 -9 -10 -9 -6 -6 -10 -15 -18 -17 -15 -14 -15 -17 -18 -16 -12 -8 -9 -13 -17 -18 -17 -15 -14 -13 -12 -11 -11 -11 -12 -14 -14 -13 -12 -12 -12 -13 -13 -13 -14 -16 -18 -21 -26 -25 -24 -24 -26 -26 -26 -27 -26 -25 -25 -26 -26 -26 -26 -26 -26 -26 -26 -25 -26 -26 -27 -26 -25 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -25 -26 -25 -24 -23 -24 -24 -22 -21 -21 -20 -21 -22 -21 -18 -15 -15 -14 -14 -15 -16 -17 -19 -20 -18 -16 -16 -16 -16 -17 -19 -21 -23 -24 -23 -22 -21 -19 -19 -19 -19 -18 -18 -17 -17 -16 -17 -19 -19 -18 -15 -16 -18 -19 -21 -22 -20 -19 -19 -18 -18 -18 -17 -15 -16 -15 -14 -14 -14 -14 -15 -16 -17 -18 -17 -16 -15 -16 -18 -17 -15 -14 -16 -17 -19 -21 -21 -20 -19 -19 -19 -18 -17 -16 -15 -16 -17 -18 -18 -18 -18 -20 -21 -1 -0 1 3 2 1 -0 -1 -0 -0 -0 -2 -4 -4 -3 -1 -2 -2 -1 -1 -5 -8 -8 -6 -4 -4 -4 -4 -4 -3 -2 -0 1 -0 -3 -5 -5 -4 -3 -3 -4 -4 -2 -1 -2 -3 -3 2 7 7 5 3 2 1 2 4 6 5 1 -4 -5 -1 1 2 1 1 2 2 -0 -3 -4 -2 -1 -0 -1 -2 -4 -5 -6 -5 -3 -3 -3 -4 -5 -6 -8 -11 -7 1 9 12 10 6 8 13 18 18 15 8 -1 -11 -15 -13 -8 -0 3 -5 -14 -19 -15 -0 12 17 14 3 -6 -10 -9 -3 1 -1 -6 -11 -11 -3 4 6 3 1 6 11 13 8 -1 -8 -14 -17 -17 -17 -16 -15 -12 -10 -9 -9 -10 -12 -12 -12 -11 -9 -6 -3 -2 -3 -7 -9 -9 -9 -10 -11 -10 -7 -1 4 5 4 1 -2 -4 -8 -10 -11 -10 -8 -7 -8 -8 -7 -7 -9 -12 -15 -15 -14 -12 -11 -10 -10 -9 -10 -13 -16 -16 -12 -6 -3 -4 -5 -7 -8 -8 -8 -7 -7 -8 -8 -8 -7 -6 -7 -7 -9 -13 -16 -17 -15 -12 -10 -11 -12 -10 -7 -7 -10 -12 -12 -10 -10 -11 -11 -10 -7 -6 -9 -14 -18 -18 -16 -14 -14 -17 -19 -18 -15 -9 -7 -10 -15 -17 -16 -14 -14 -13 -12 -10 -8 -8 -10 -13 -14 -13 -12 -12 -14 -14 -14 -14 -17 -19 -20 -23 -27 -26 -25 -25 -25 -26 -26 -26 -25 -25 -25 -25 -25 -25 -25 -26 -26 -26 -26 -26 -27 -27 -27 -27 -26 -26 -25 -24 -24 -24 -24 -25 -25 -25 -25 -25 -25 -25 -25 -24 -23 -24 -23 -21 -20 -20 -19 -19 -19 -18 -17 -16 -15 -14 -14 -15 -16 -18 -20 -21 -17 -16 -16 -16 -16 -15 -16 -17 -19 -21 -22 -23 -22 -20 -20 -20 -20 -20 -19 -18 -17 -16 -17 -18 -18 -17 -14 -15 -16 -19 -21 -21 -21 -20 -19 -18 -18 -17 -16 -15 -17 -16 -16 -15 -14 -14 -15 -16 -17 -18 -17 -16 -16 -16 -18 -18 -17 -15 -16 -17 -18 -21 -21 -18 -17 -18 -18 -17 -16 -16 -15 -16 -17 -17 -18 -18 -20 -21 -21 -0 1 2 2 2 1 -0 1 1 1 -1 -3 -4 -4 -2 -1 -1 -1 -1 -2 -5 -8 -7 -6 -4 -5 -5 -4 -3 -2 -1 -0 -0 -1 -3 -4 -4 -3 -2 -3 -4 -3 -3 -3 -3 -2 2 8 8 6 2 -0 1 3 6 8 8 3 -4 -10 -12 -5 -0 1 1 3 6 6 4 1 -3 -4 -2 -1 -2 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -8 -9 -8 -2 5 10 13 12 10 11 15 18 18 12 3 -9 -17 -19 -15 -8 2 2 -4 -13 -18 -11 1 12 16 10 -1 -7 -9 -6 -0 1 -2 -8 -12 -8 -1 4 4 -0 3 9 15 15 7 -3 -12 -18 -19 -19 -19 -18 -16 -12 -9 -8 -9 -13 -13 -13 -11 -9 -7 -4 -3 -3 -5 -8 -9 -9 -9 -10 -11 -11 -9 -2 4 5 4 -0 -4 -7 -9 -11 -10 -8 -7 -6 -7 -6 -6 -8 -11 -14 -15 -14 -14 -14 -12 -10 -9 -8 -10 -14 -15 -14 -9 -5 -3 -3 -4 -6 -7 -7 -8 -8 -8 -9 -8 -8 -7 -7 -7 -8 -11 -16 -19 -18 -16 -11 -11 -13 -14 -12 -7 -6 -7 -10 -13 -13 -11 -10 -10 -9 -7 -9 -13 -16 -17 -16 -15 -15 -16 -18 -19 -18 -14 -8 -8 -11 -14 -15 -13 -12 -12 -11 -8 -7 -7 -9 -12 -14 -15 -14 -14 -16 -17 -16 -16 -19 -21 -22 -24 -26 -26 -25 -25 -25 -26 -26 -26 -25 -24 -24 -24 -24 -24 -25 -25 -26 -26 -27 -27 -28 -28 -28 -27 -27 -27 -26 -25 -25 -24 -24 -26 -26 -26 -26 -25 -25 -25 -24 -24 -23 -23 -22 -20 -20 -20 -19 -19 -18 -17 -17 -17 -16 -15 -15 -15 -16 -17 -18 -18 -16 -15 -16 -16 -15 -14 -14 -15 -16 -17 -19 -21 -23 -21 -21 -20 -20 -20 -20 -19 -18 -17 -17 -18 -18 -17 -15 -15 -16 -18 -21 -21 -20 -20 -19 -18 -18 -17 -17 -16 -18 -18 -17 -16 -15 -15 -15 -16 -16 -16 -17 -17 -17 -17 -18 -19 -19 -17 -18 -18 -18 -19 -19 -17 -16 -18 -18 -16 -16 -17 -16 -16 -16 -17 -18 -19 -21 -22 -22 -0 1 2 2 1 1 1 2 1 -0 -2 -4 -4 -3 -1 -1 -1 -2 -2 -4 -6 -6 -6 -5 -5 -6 -6 -4 -2 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -3 1 6 9 8 5 2 1 1 5 9 11 9 2 -6 -12 -11 -4 1 1 1 3 7 7 7 5 1 -2 -4 -4 -4 -5 -4 -3 -3 -4 -5 -5 -6 -7 -9 -8 -5 -3 -2 -3 -2 3 8 12 12 12 13 15 17 14 6 -6 -17 -21 -19 -13 -4 2 2 -4 -11 -14 -8 2 11 11 3 -4 -7 -7 -3 1 -0 -4 -11 -11 -5 1 5 2 1 4 10 17 16 6 -6 -17 -20 -20 -20 -20 -19 -15 -11 -8 -8 -11 -14 -13 -11 -9 -7 -6 -4 -3 -4 -7 -9 -8 -7 -8 -10 -13 -13 -9 -2 3 5 3 -2 -5 -7 -9 -10 -9 -7 -6 -5 -5 -5 -7 -11 -14 -15 -15 -14 -14 -14 -11 -9 -7 -8 -11 -14 -15 -12 -7 -5 -3 -3 -4 -6 -7 -7 -7 -8 -9 -9 -8 -8 -8 -7 -8 -10 -15 -19 -21 -19 -14 -11 -13 -16 -17 -11 -5 -3 -5 -10 -11 -11 -10 -10 -9 -7 -9 -12 -15 -15 -15 -15 -16 -16 -17 -18 -19 -18 -12 -8 -7 -10 -12 -11 -10 -8 -8 -7 -7 -8 -11 -14 -17 -19 -18 -18 -19 -19 -19 -19 -20 -21 -22 -24 -25 -25 -25 -25 -26 -26 -26 -26 -25 -24 -24 -23 -22 -23 -25 -26 -26 -28 -28 -28 -28 -28 -28 -28 -28 -28 -27 -26 -27 -26 -26 -26 -26 -26 -25 -25 -25 -24 -24 -23 -23 -22 -21 -20 -20 -20 -20 -20 -19 -17 -18 -17 -17 -17 -15 -15 -15 -14 -14 -14 -14 -15 -16 -15 -15 -13 -13 -14 -14 -14 -17 -20 -22 -22 -21 -21 -20 -20 -20 -20 -18 -18 -19 -18 -18 -17 -16 -16 -17 -19 -22 -22 -20 -18 -17 -16 -16 -17 -17 -18 -19 -18 -18 -17 -16 -14 -15 -16 -16 -17 -18 -19 -19 -17 -18 -19 -20 -19 -18 -18 -19 -19 -18 -16 -16 -17 -17 -17 -17 -18 -17 -16 -16 -17 -18 -20 -21 -22 -23 1 2 2 1 -0 1 2 2 1 -1 -2 -3 -2 -2 -2 -2 -1 -2 -4 -6 -6 -5 -4 -4 -6 -7 -5 -4 -2 -1 -1 -2 -2 -1 -1 -2 -3 -3 -2 -0 -0 -2 -4 -4 -0 4 8 8 7 5 3 1 2 6 10 12 9 3 -4 -8 -7 -1 2 3 3 5 6 7 7 7 5 1 -2 -5 -6 -6 -4 -3 -2 -2 -3 -4 -7 -11 -15 -12 -4 5 7 -0 -4 -2 6 11 13 13 12 13 15 14 8 -2 -15 -21 -20 -15 -10 -1 2 1 -4 -10 -10 -3 5 10 5 -0 -4 -6 -5 -1 1 -0 -6 -10 -8 -3 3 2 1 -0 1 5 10 9 2 -10 -17 -18 -18 -20 -19 -17 -13 -8 -6 -9 -12 -14 -12 -9 -6 -6 -5 -5 -5 -7 -8 -8 -6 -7 -8 -11 -13 -14 -9 -3 2 4 -0 -3 -5 -7 -8 -9 -8 -6 -6 -6 -6 -8 -10 -14 -15 -15 -15 -15 -16 -14 -11 -7 -6 -8 -11 -13 -13 -9 -6 -4 -3 -3 -5 -6 -7 -7 -7 -8 -8 -8 -9 -8 -8 -8 -10 -14 -19 -22 -22 -17 -13 -13 -16 -19 -17 -9 -2 1 -4 -8 -10 -10 -10 -8 -7 -8 -11 -13 -14 -15 -15 -16 -15 -15 -16 -19 -19 -14 -8 -4 -6 -9 -9 -8 -7 -7 -7 -8 -11 -13 -15 -17 -18 -18 -18 -19 -21 -22 -22 -21 -22 -23 -23 -24 -25 -26 -26 -26 -26 -25 -25 -25 -24 -24 -24 -23 -24 -25 -26 -27 -28 -28 -28 -28 -28 -30 -30 -29 -28 -28 -27 -27 -27 -27 -26 -26 -26 -26 -26 -26 -25 -24 -24 -24 -22 -22 -22 -22 -21 -20 -20 -19 -17 -17 -17 -18 -18 -16 -15 -15 -14 -13 -13 -14 -16 -16 -15 -14 -13 -13 -14 -13 -13 -16 -20 -22 -22 -21 -21 -21 -20 -21 -20 -18 -18 -19 -19 -18 -17 -16 -16 -18 -19 -22 -21 -19 -17 -15 -15 -15 -16 -17 -18 -19 -19 -18 -19 -16 -15 -14 -15 -16 -17 -18 -19 -19 -17 -16 -17 -18 -18 -17 -17 -18 -18 -16 -15 -15 -16 -16 -17 -17 -17 -17 -16 -16 -17 -19 -20 -21 -21 -22 2 3 2 -0 -0 1 2 1 -0 -1 -1 -1 -2 -2 -2 -1 -1 -3 -6 -9 -9 -6 -4 -4 -6 -7 -6 -3 -2 -2 -2 -2 -1 1 -0 -2 -3 -3 -2 -0 -0 -2 -3 -2 2 5 7 7 6 4 2 -0 2 7 9 9 5 1 -3 -4 -3 1 2 4 6 7 7 7 6 6 6 3 -0 -4 -6 -6 -6 -4 -2 -1 -0 -2 -7 -15 -22 -19 -8 6 13 5 -2 -4 3 9 12 12 12 12 13 12 8 -1 -14 -19 -19 -15 -12 -7 -1 2 -0 -6 -8 -5 1 6 5 1 -2 -4 -4 -3 -0 2 -0 -5 -6 -4 -0 2 2 2 1 -1 -1 -1 -2 -7 -12 -14 -15 -16 -15 -14 -13 -10 -6 -6 -9 -12 -12 -10 -7 -6 -6 -8 -8 -8 -7 -6 -6 -5 -6 -7 -10 -13 -13 -10 -5 1 2 -1 -4 -5 -6 -7 -8 -7 -7 -6 -6 -7 -9 -12 -14 -15 -15 -16 -17 -17 -13 -8 -6 -7 -9 -11 -12 -10 -7 -5 -3 -2 -3 -5 -7 -7 -7 -7 -7 -7 -8 -9 -9 -9 -11 -14 -18 -23 -24 -21 -16 -14 -14 -18 -20 -16 -8 -0 -0 -5 -8 -9 -10 -9 -8 -9 -10 -11 -12 -14 -15 -15 -14 -13 -14 -16 -18 -14 -9 -4 -3 -6 -6 -6 -7 -7 -8 -9 -12 -14 -14 -15 -15 -16 -19 -21 -22 -23 -23 -24 -23 -23 -23 -24 -25 -26 -26 -27 -26 -25 -25 -26 -25 -25 -25 -26 -26 -26 -27 -27 -28 -28 -28 -28 -28 -30 -30 -30 -29 -28 -28 -28 -28 -27 -26 -26 -26 -26 -27 -26 -26 -25 -24 -23 -23 -24 -24 -22 -21 -20 -19 -18 -16 -16 -17 -17 -18 -17 -16 -15 -14 -13 -13 -14 -16 -17 -17 -15 -14 -13 -16 -14 -14 -15 -19 -21 -22 -22 -22 -21 -20 -20 -20 -18 -18 -18 -18 -17 -16 -15 -15 -16 -18 -20 -19 -17 -15 -16 -16 -17 -17 -18 -18 -19 -19 -19 -19 -17 -15 -15 -15 -15 -16 -18 -20 -19 -17 -16 -16 -18 -17 -16 -15 -17 -17 -16 -15 -15 -16 -16 -17 -18 -18 -17 -16 -16 -18 -20 -20 -20 -20 -21 3 2 1 1 1 2 2 1 -0 -1 -0 -0 -1 -2 -2 -1 -1 -4 -7 -9 -9 -6 -5 -5 -6 -7 -5 -4 -3 -3 -3 -1 2 2 -1 -3 -4 -2 -1 1 1 -1 -2 -2 1 4 5 6 5 3 1 -0 3 6 6 5 2 -1 -2 -2 -1 1 3 5 6 8 8 8 8 7 6 4 -0 -3 -5 -7 -8 -7 -4 -0 3 1 -5 -15 -24 -23 -13 2 12 8 2 -1 4 8 10 11 12 13 13 11 7 -2 -14 -18 -16 -12 -11 -10 -6 -1 1 -2 -4 -4 -0 4 4 2 -0 -2 -3 -3 -1 1 2 -1 -3 -3 -1 1 2 2 2 -0 -3 -6 -8 -11 -14 -15 -14 -13 -10 -10 -11 -11 -8 -6 -7 -9 -11 -10 -8 -6 -6 -8 -9 -9 -9 -7 -5 -4 -4 -5 -7 -11 -13 -13 -11 -6 -2 -1 -2 -3 -3 -5 -7 -7 -6 -6 -5 -6 -8 -10 -12 -13 -14 -17 -19 -19 -16 -11 -6 -5 -5 -8 -11 -11 -10 -7 -4 -2 -2 -3 -5 -7 -7 -6 -5 -4 -6 -8 -9 -9 -11 -14 -18 -22 -25 -23 -19 -15 -13 -15 -21 -21 -16 -8 -3 -3 -4 -6 -8 -9 -9 -9 -10 -12 -12 -12 -11 -11 -11 -11 -12 -12 -13 -14 -12 -8 -4 -4 -4 -4 -6 -7 -8 -10 -12 -14 -14 -14 -15 -17 -20 -22 -23 -23 -24 -24 -23 -23 -23 -23 -24 -25 -26 -27 -27 -26 -26 -26 -26 -26 -26 -27 -27 -27 -27 -27 -27 -27 -27 -28 -29 -29 -29 -30 -29 -29 -28 -28 -28 -28 -27 -27 -27 -27 -26 -25 -25 -25 -24 -23 -23 -24 -24 -21 -20 -19 -18 -16 -15 -15 -16 -17 -18 -18 -17 -16 -14 -14 -13 -14 -16 -18 -19 -18 -16 -15 -16 -15 -15 -15 -17 -19 -21 -22 -22 -22 -21 -21 -21 -19 -19 -18 -17 -16 -15 -15 -15 -15 -15 -16 -16 -15 -14 -16 -17 -18 -18 -18 -17 -17 -17 -19 -18 -16 -15 -15 -15 -15 -16 -18 -21 -19 -18 -16 -15 -16 -17 -16 -15 -15 -15 -16 -16 -17 -16 -17 -18 -19 -20 -19 -18 -19 -20 -20 -21 -20 -19 -21 2 1 -1 -0 2 2 1 -0 -0 -0 -0 -1 -2 -3 -2 -2 -1 -4 -7 -9 -8 -7 -6 -6 -7 -7 -5 -5 -5 -5 -2 2 3 1 -4 -5 -4 -1 2 3 2 1 -1 -3 -1 1 3 4 3 2 1 2 4 5 4 2 1 -0 -0 -1 -0 2 3 3 5 6 9 10 10 9 6 3 -0 -3 -5 -7 -9 -8 -5 1 3 2 -3 -12 -20 -20 -13 -3 5 6 6 5 8 10 10 10 12 13 13 11 6 -4 -15 -17 -13 -8 -9 -10 -9 -5 -2 -1 -1 -1 -0 2 3 2 -0 -2 -3 -3 -2 -0 3 2 -0 -2 -1 1 1 1 1 1 -2 -5 -9 -13 -18 -19 -17 -12 -7 -7 -9 -10 -9 -7 -6 -7 -9 -10 -8 -6 -6 -7 -9 -11 -11 -10 -7 -4 -3 -3 -5 -7 -11 -13 -14 -12 -7 -5 -5 -5 -3 -4 -5 -6 -5 -5 -5 -6 -8 -9 -11 -11 -13 -16 -19 -20 -18 -14 -8 -5 -4 -5 -8 -11 -11 -9 -6 -3 -2 -2 -3 -7 -8 -7 -5 -3 -4 -6 -8 -9 -10 -13 -18 -22 -25 -25 -21 -16 -12 -13 -18 -20 -20 -16 -10 -5 -2 -2 -6 -8 -9 -9 -10 -12 -11 -10 -9 -10 -10 -11 -11 -11 -13 -15 -16 -14 -9 -4 -2 -2 -4 -7 -9 -11 -13 -15 -15 -15 -15 -17 -21 -23 -24 -24 -24 -24 -23 -23 -24 -24 -24 -24 -25 -26 -27 -27 -27 -27 -27 -27 -27 -28 -28 -27 -27 -27 -27 -26 -27 -27 -27 -28 -28 -29 -29 -29 -29 -29 -29 -29 -28 -27 -27 -27 -26 -25 -24 -24 -24 -23 -23 -23 -23 -20 -20 -19 -18 -17 -16 -16 -16 -17 -18 -18 -17 -16 -15 -14 -12 -12 -14 -18 -20 -20 -18 -16 -15 -14 -14 -15 -16 -17 -20 -22 -24 -22 -21 -22 -22 -21 -20 -19 -20 -19 -18 -18 -17 -16 -15 -15 -15 -15 -14 -16 -17 -17 -17 -17 -17 -16 -16 -17 -17 -17 -15 -15 -15 -15 -16 -18 -21 -19 -18 -17 -14 -15 -16 -15 -15 -15 -15 -17 -19 -18 -16 -17 -18 -19 -21 -20 -20 -21 -22 -22 -21 -20 -20 -22 1 -0 -1 -0 1 1 2 2 1 1 -0 -1 -2 -2 -3 -3 -3 -5 -7 -7 -6 -6 -7 -8 -8 -8 -6 -6 -6 -5 1 4 2 -3 -6 -6 -3 1 5 5 4 2 -1 -3 -3 -2 -0 1 -0 -0 1 4 5 5 4 3 2 3 2 1 1 2 2 2 3 5 9 11 11 10 7 4 -1 -4 -6 -7 -8 -6 -3 1 1 -1 -5 -9 -12 -11 -9 -6 -5 -0 6 10 13 13 12 11 12 13 13 10 5 -4 -16 -16 -11 -5 -6 -10 -10 -8 -5 -3 -0 1 2 1 1 1 -1 -3 -3 -4 -3 -1 2 2 1 -1 -1 1 1 -0 -2 -2 -2 -5 -8 -12 -17 -19 -17 -13 -7 -6 -7 -8 -9 -8 -7 -7 -7 -8 -8 -8 -7 -7 -9 -10 -11 -12 -10 -6 -3 -2 -3 -5 -8 -11 -15 -16 -12 -10 -8 -6 -5 -5 -5 -5 -4 -4 -4 -6 -7 -9 -10 -10 -11 -14 -18 -19 -19 -17 -12 -8 -5 -4 -5 -9 -11 -10 -8 -6 -4 -3 -2 -5 -8 -8 -7 -5 -3 -3 -5 -7 -10 -13 -17 -22 -26 -26 -24 -19 -14 -12 -13 -15 -16 -16 -16 -11 -6 -2 -2 -6 -8 -9 -10 -10 -9 -8 -7 -9 -11 -11 -11 -11 -13 -15 -16 -16 -12 -6 -1 1 -2 -5 -9 -13 -15 -16 -17 -16 -15 -16 -20 -22 -24 -24 -24 -23 -23 -24 -25 -25 -24 -24 -24 -25 -27 -28 -29 -29 -28 -28 -28 -29 -29 -27 -26 -26 -26 -25 -25 -26 -26 -27 -28 -28 -29 -29 -29 -29 -29 -29 -28 -27 -27 -27 -26 -25 -24 -23 -23 -23 -23 -23 -22 -20 -20 -19 -19 -17 -17 -16 -16 -17 -18 -18 -18 -17 -16 -14 -12 -11 -13 -17 -20 -20 -18 -16 -15 -14 -14 -15 -15 -18 -20 -23 -25 -22 -22 -23 -23 -22 -21 -20 -21 -21 -20 -20 -20 -18 -18 -17 -17 -16 -14 -15 -16 -16 -16 -16 -17 -17 -16 -17 -17 -17 -16 -15 -15 -15 -17 -19 -20 -18 -17 -16 -14 -14 -15 -15 -15 -16 -17 -19 -20 -19 -17 -17 -17 -19 -20 -21 -21 -21 -23 -23 -23 -22 -21 -22 1 -1 -1 -0 1 2 3 3 2 1 -0 1 -1 -3 -4 -5 -5 -6 -7 -7 -6 -6 -7 -8 -9 -9 -8 -7 -5 -1 5 4 -1 -5 -7 -5 -1 3 6 6 5 3 -0 -3 -3 -2 -2 -2 -3 -2 1 4 5 4 4 5 5 5 3 2 1 1 -0 1 4 8 11 12 11 9 5 2 -1 -4 -5 -6 -5 -3 -0 1 -3 -8 -11 -9 -4 -1 -3 -7 -10 -4 4 11 14 14 13 13 13 13 13 10 5 -4 -14 -15 -10 -4 -5 -9 -11 -9 -6 -4 -1 1 3 2 1 -0 -1 -3 -3 -4 -2 -0 1 2 1 -1 -2 -0 1 -1 -3 -5 -5 -7 -8 -9 -12 -14 -14 -13 -11 -9 -7 -6 -6 -7 -8 -8 -7 -7 -8 -8 -8 -8 -8 -9 -10 -12 -12 -8 -4 -2 -1 -2 -5 -9 -14 -17 -15 -12 -9 -7 -7 -7 -6 -5 -4 -2 -3 -4 -6 -8 -9 -10 -10 -11 -16 -19 -20 -20 -16 -12 -8 -5 -4 -7 -9 -11 -10 -9 -7 -5 -3 -4 -6 -9 -10 -8 -5 -3 -4 -6 -9 -12 -16 -21 -23 -24 -23 -20 -17 -14 -11 -10 -11 -14 -18 -18 -15 -7 -1 -2 -5 -8 -10 -9 -7 -6 -6 -9 -10 -12 -12 -12 -13 -16 -17 -17 -13 -8 -3 -0 -0 -3 -8 -12 -15 -16 -17 -15 -14 -14 -19 -22 -23 -24 -24 -23 -23 -25 -26 -26 -25 -24 -24 -24 -26 -28 -29 -29 -29 -29 -29 -29 -29 -28 -26 -26 -25 -25 -24 -24 -25 -26 -27 -27 -28 -29 -29 -29 -29 -29 -28 -27 -26 -26 -26 -24 -23 -21 -22 -23 -24 -24 -22 -20 -20 -20 -20 -18 -18 -17 -16 -17 -17 -19 -19 -18 -16 -14 -13 -12 -12 -16 -19 -19 -17 -16 -15 -14 -15 -16 -16 -19 -22 -24 -25 -22 -22 -22 -23 -22 -21 -21 -21 -21 -21 -20 -20 -19 -19 -18 -18 -17 -16 -14 -14 -14 -15 -15 -17 -18 -17 -17 -18 -18 -16 -15 -15 -15 -17 -20 -19 -17 -16 -16 -14 -13 -14 -15 -16 -17 -18 -19 -19 -17 -16 -17 -18 -18 -19 -20 -20 -21 -22 -23 -24 -23 -21 -23 -1 -2 -2 -0 1 3 4 3 2 1 1 2 -1 -4 -6 -7 -6 -7 -7 -7 -6 -6 -6 -7 -9 -9 -8 -6 -2 4 5 2 -2 -5 -5 -3 -0 3 6 6 5 3 -0 -1 -2 -2 -3 -5 -5 -2 1 3 3 3 4 6 7 7 4 1 -1 -1 -2 2 7 13 15 13 10 6 1 -1 -2 -2 -1 -1 -2 -1 1 1 -5 -12 -17 -14 -3 2 1 -5 -9 -4 1 6 11 14 15 15 15 14 13 10 4 -5 -13 -12 -7 -1 -3 -8 -11 -11 -6 -4 -3 -1 4 6 4 1 -1 -3 -3 -3 -2 -0 -0 -0 -0 -1 -3 -1 -0 -0 -2 -6 -8 -10 -10 -9 -7 -7 -9 -12 -15 -14 -10 -6 -4 -4 -7 -8 -8 -7 -8 -9 -9 -9 -9 -9 -9 -10 -12 -10 -6 -3 -1 -1 -3 -6 -11 -17 -18 -15 -10 -8 -8 -7 -6 -5 -4 -3 -3 -3 -5 -7 -8 -9 -9 -10 -14 -17 -20 -21 -18 -15 -11 -8 -5 -6 -8 -9 -9 -10 -9 -7 -4 -3 -5 -8 -10 -11 -9 -6 -5 -5 -8 -11 -15 -19 -20 -20 -18 -17 -14 -12 -11 -9 -9 -12 -16 -19 -18 -15 -5 -1 -1 -5 -9 -8 -7 -6 -5 -7 -9 -11 -12 -12 -13 -15 -16 -16 -12 -9 -6 -3 -1 -4 -9 -13 -16 -17 -17 -15 -13 -14 -18 -21 -23 -24 -24 -23 -24 -26 -27 -27 -26 -25 -24 -24 -25 -28 -30 -30 -30 -30 -30 -30 -30 -29 -27 -26 -25 -24 -23 -24 -25 -25 -26 -27 -28 -28 -29 -29 -28 -28 -28 -27 -27 -26 -24 -22 -21 -21 -22 -23 -25 -25 -24 -22 -21 -21 -20 -20 -19 -18 -17 -17 -18 -19 -19 -17 -16 -16 -16 -15 -14 -16 -18 -18 -17 -16 -15 -15 -15 -17 -17 -19 -22 -24 -24 -22 -22 -22 -23 -23 -22 -21 -20 -21 -21 -20 -20 -19 -18 -18 -18 -17 -16 -14 -14 -14 -14 -15 -17 -18 -18 -17 -18 -17 -16 -15 -15 -15 -17 -21 -18 -17 -16 -17 -15 -14 -14 -15 -17 -17 -18 -18 -19 -16 -16 -17 -19 -19 -18 -19 -20 -21 -22 -24 -24 -23 -22 -22 -2 -3 -2 1 3 4 4 3 2 2 2 2 -2 -5 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -9 -10 -7 -3 3 6 4 1 -1 -2 -4 -4 -1 3 6 6 4 2 -0 -0 -1 -3 -4 -5 -3 -0 1 2 2 4 5 5 6 6 3 -1 -4 -5 -2 4 10 15 15 12 7 2 -2 -4 -2 -0 2 2 1 -0 1 1 -5 -12 -16 -13 -4 -0 -1 -4 -4 -2 -1 1 5 11 15 17 17 16 14 9 2 -8 -15 -12 -5 2 1 -5 -9 -10 -7 -4 -5 -3 1 7 8 6 3 -1 -3 -4 -2 -0 1 1 -0 -2 -3 -2 -0 1 -0 -4 -7 -10 -11 -11 -7 -6 -6 -9 -16 -17 -15 -10 -4 -2 -4 -7 -9 -8 -8 -8 -9 -10 -10 -10 -10 -10 -11 -10 -8 -5 -2 -1 -1 -4 -9 -16 -20 -18 -11 -7 -8 -7 -6 -5 -5 -4 -3 -4 -5 -7 -8 -8 -8 -10 -12 -16 -19 -21 -20 -17 -14 -11 -8 -7 -7 -9 -9 -9 -9 -8 -7 -5 -4 -6 -9 -12 -11 -10 -8 -7 -8 -11 -14 -17 -19 -18 -16 -13 -9 -7 -7 -7 -8 -10 -13 -15 -17 -17 -12 -5 -2 -2 -7 -8 -8 -7 -4 -5 -7 -9 -11 -11 -12 -13 -14 -13 -11 -10 -8 -6 -4 -6 -9 -12 -15 -17 -18 -17 -15 -16 -19 -20 -22 -24 -24 -25 -25 -26 -27 -27 -26 -25 -24 -23 -25 -27 -30 -30 -31 -30 -30 -31 -30 -29 -28 -26 -25 -23 -23 -23 -24 -25 -25 -27 -28 -28 -29 -29 -29 -28 -28 -28 -28 -26 -23 -21 -20 -22 -24 -26 -27 -26 -26 -23 -21 -21 -21 -21 -20 -19 -18 -19 -19 -19 -19 -18 -17 -19 -20 -19 -18 -19 -18 -17 -16 -16 -16 -16 -16 -16 -16 -19 -22 -23 -22 -21 -21 -21 -22 -23 -23 -21 -20 -20 -20 -20 -19 -19 -18 -18 -17 -16 -15 -13 -13 -14 -14 -15 -17 -18 -18 -18 -17 -17 -16 -15 -15 -15 -17 -20 -19 -18 -17 -18 -17 -15 -14 -14 -17 -18 -18 -18 -19 -17 -16 -16 -17 -19 -20 -20 -20 -21 -22 -24 -24 -23 -22 -22 -3 -3 -2 2 4 4 4 2 3 3 3 -0 -2 -5 -7 -8 -9 -8 -8 -8 -8 -8 -7 -8 -9 -9 -4 1 4 4 3 2 1 -1 -4 -5 -2 2 5 4 2 1 -0 -0 -2 -3 -4 -4 -0 2 2 2 3 4 5 4 2 2 -0 -3 -6 -5 1 8 12 13 11 8 3 -1 -3 -3 -2 -0 1 1 1 1 -0 -0 -4 -7 -9 -7 -3 -3 -4 -4 -2 -0 -1 -1 -0 7 13 17 18 18 15 9 1 -11 -19 -15 -5 5 5 -1 -7 -9 -7 -4 -5 -5 -4 2 7 9 7 3 -1 -3 -3 -1 2 1 -0 -2 -3 -3 -2 -1 -1 -2 -3 -6 -10 -13 -11 -7 -4 -5 -12 -17 -18 -15 -7 -1 -1 -5 -9 -9 -8 -8 -9 -11 -11 -10 -9 -9 -9 -10 -10 -8 -4 -1 -1 -3 -7 -15 -21 -19 -12 -6 -7 -7 -5 -4 -4 -4 -3 -3 -4 -7 -8 -8 -8 -9 -11 -14 -18 -21 -21 -19 -16 -12 -10 -9 -8 -8 -8 -7 -7 -7 -8 -7 -6 -5 -7 -10 -12 -12 -11 -10 -10 -12 -14 -17 -19 -19 -17 -13 -7 -2 -0 -2 -5 -7 -9 -11 -14 -16 -15 -12 -8 -5 -5 -7 -7 -6 -3 -3 -6 -8 -9 -9 -11 -12 -12 -10 -9 -9 -9 -7 -7 -8 -8 -9 -11 -15 -17 -18 -19 -19 -19 -20 -21 -23 -25 -26 -25 -24 -26 -27 -27 -26 -24 -23 -24 -26 -29 -30 -30 -30 -29 -30 -31 -30 -28 -26 -25 -24 -23 -23 -23 -24 -25 -26 -27 -28 -29 -29 -29 -29 -29 -29 -28 -26 -23 -21 -21 -23 -24 -25 -26 -26 -26 -23 -21 -21 -21 -21 -20 -20 -19 -20 -20 -20 -20 -18 -17 -19 -21 -21 -20 -21 -20 -17 -16 -16 -16 -16 -17 -17 -18 -20 -23 -23 -22 -22 -21 -21 -20 -22 -23 -21 -20 -20 -20 -19 -18 -18 -18 -18 -17 -16 -14 -13 -13 -14 -14 -14 -15 -17 -17 -17 -16 -16 -16 -16 -15 -15 -15 -19 -19 -18 -17 -18 -18 -16 -14 -15 -16 -18 -18 -18 -18 -17 -16 -16 -17 -19 -21 -21 -22 -22 -24 -25 -25 -24 -22 -21 -4 -3 -0 4 5 4 3 3 3 3 2 -1 -3 -6 -8 -9 -9 -8 -8 -8 -9 -9 -9 -9 -9 -7 -0 3 3 2 5 4 1 -3 -6 -4 -1 1 1 -1 -1 -0 -0 -0 -3 -3 -3 -1 1 1 2 3 5 5 4 3 -0 -2 -2 -3 -4 -1 5 10 12 10 7 4 -0 -2 -3 -1 -1 -1 -1 -0 -0 -1 -3 -4 -3 -2 -0 1 -3 -5 -6 -4 -1 -0 -0 -2 -2 2 9 15 18 18 15 10 1 -12 -24 -21 -9 6 10 3 -3 -7 -6 -3 -3 -5 -7 -4 2 7 9 8 5 -0 -2 -2 1 2 1 -1 -3 -3 -3 -3 -4 -3 -2 -3 -6 -11 -12 -10 -7 -4 -7 -14 -18 -18 -12 -3 -0 -1 -6 -8 -8 -8 -8 -11 -11 -11 -10 -9 -9 -11 -12 -10 -5 -2 -1 -3 -7 -15 -19 -18 -10 -5 -6 -6 -5 -4 -4 -4 -3 -3 -3 -5 -7 -8 -9 -9 -10 -13 -16 -21 -22 -21 -18 -14 -12 -11 -11 -10 -9 -7 -6 -5 -7 -8 -8 -7 -7 -8 -11 -12 -12 -12 -12 -12 -14 -18 -20 -21 -21 -18 -11 -2 2 3 -0 -3 -5 -8 -10 -14 -15 -15 -12 -9 -6 -6 -6 -5 -3 -3 -6 -9 -9 -9 -11 -12 -11 -9 -8 -9 -9 -9 -9 -9 -8 -6 -8 -12 -16 -18 -20 -20 -19 -19 -20 -23 -25 -24 -23 -22 -24 -26 -27 -26 -25 -23 -23 -25 -28 -29 -30 -30 -29 -30 -31 -31 -29 -28 -26 -24 -23 -23 -23 -24 -25 -26 -27 -28 -29 -29 -29 -29 -29 -29 -28 -26 -23 -21 -21 -22 -22 -22 -24 -26 -25 -23 -21 -21 -21 -21 -21 -20 -20 -20 -21 -20 -20 -19 -18 -19 -20 -21 -22 -22 -21 -19 -18 -17 -17 -17 -17 -19 -21 -23 -25 -24 -23 -22 -21 -21 -19 -20 -21 -21 -21 -21 -20 -18 -17 -17 -18 -18 -18 -17 -15 -14 -15 -14 -14 -13 -14 -15 -15 -15 -16 -16 -16 -16 -15 -15 -14 -17 -18 -18 -18 -18 -18 -17 -15 -16 -16 -17 -19 -19 -17 -17 -17 -17 -18 -18 -20 -21 -22 -22 -23 -25 -25 -24 -23 -21 -4 -2 3 6 6 4 3 3 4 3 1 -3 -4 -6 -8 -8 -8 -7 -7 -7 -9 -11 -11 -9 -6 -0 3 3 2 3 6 4 -1 -5 -6 -3 -0 -0 -2 -5 -4 -2 -1 -2 -3 -2 -0 1 1 -0 1 3 5 5 4 2 -0 -2 -2 -2 -0 3 7 9 9 7 5 2 -1 -3 -2 -1 -0 -0 -0 1 -1 -4 -8 -9 -4 1 5 4 -3 -7 -7 -4 -1 -0 1 -0 -2 -1 5 12 17 17 15 11 2 -11 -25 -25 -14 4 11 7 1 -4 -5 -2 -2 -3 -6 -8 -6 -0 6 11 9 6 2 -2 -0 1 -0 -2 -3 -3 -3 -3 -5 -6 -4 -3 -3 -8 -12 -13 -11 -7 -6 -10 -16 -19 -15 -6 -1 -1 -4 -7 -7 -7 -8 -9 -10 -11 -10 -9 -9 -11 -12 -11 -6 -1 2 1 -4 -13 -18 -17 -9 -3 -5 -5 -5 -5 -5 -5 -4 -3 -3 -4 -5 -7 -9 -10 -10 -12 -14 -19 -23 -23 -21 -17 -13 -11 -11 -11 -10 -8 -6 -5 -5 -7 -8 -8 -8 -8 -10 -11 -13 -13 -13 -12 -13 -16 -20 -23 -23 -23 -19 -10 -3 2 4 2 -1 -5 -8 -11 -14 -15 -14 -12 -8 -7 -6 -6 -4 -3 -4 -7 -9 -10 -11 -11 -10 -9 -7 -7 -8 -10 -12 -11 -9 -7 -7 -10 -14 -17 -20 -21 -20 -19 -19 -22 -24 -24 -22 -21 -24 -26 -27 -26 -25 -24 -24 -24 -26 -28 -30 -30 -29 -30 -31 -32 -31 -29 -27 -25 -24 -23 -23 -24 -25 -26 -26 -28 -29 -29 -30 -29 -29 -29 -28 -24 -22 -22 -22 -21 -20 -21 -22 -24 -23 -22 -21 -21 -21 -21 -21 -20 -20 -20 -21 -20 -20 -20 -19 -19 -19 -21 -23 -24 -23 -22 -21 -20 -18 -17 -17 -21 -23 -24 -24 -24 -23 -22 -21 -20 -19 -19 -20 -21 -21 -21 -20 -17 -16 -18 -19 -19 -18 -17 -15 -15 -16 -15 -14 -13 -13 -14 -15 -16 -17 -17 -16 -16 -15 -15 -14 -16 -18 -19 -18 -18 -19 -19 -17 -16 -16 -17 -19 -18 -17 -18 -19 -18 -19 -18 -19 -21 -23 -21 -23 -25 -26 -25 -23 -21 -4 -0 5 6 4 3 3 4 4 2 -1 -4 -6 -8 -8 -8 -8 -7 -6 -7 -9 -12 -11 -6 -0 4 3 2 2 4 5 2 -2 -4 -4 -1 -0 -1 -4 -6 -5 -3 -2 -3 -3 -1 1 2 1 -0 -0 1 3 3 3 3 2 -0 -1 1 3 5 6 7 7 6 6 3 -1 -4 -5 -3 -1 2 4 3 -1 -6 -11 -11 -5 1 4 2 -4 -8 -8 -5 -1 2 3 3 -0 -3 1 7 14 17 15 11 3 -8 -21 -24 -16 -0 10 9 6 1 -2 -2 -1 -1 -4 -8 -10 -9 -3 6 10 11 8 2 -0 -0 -1 -3 -4 -4 -3 -2 -4 -7 -7 -4 -2 -4 -11 -15 -15 -12 -8 -8 -13 -17 -15 -8 -4 -2 -3 -5 -6 -6 -6 -7 -9 -10 -11 -10 -9 -9 -10 -12 -10 -5 -0 2 -1 -8 -15 -15 -9 -2 -3 -4 -5 -5 -5 -6 -5 -5 -3 -3 -4 -5 -8 -9 -10 -11 -13 -17 -22 -25 -24 -21 -14 -11 -10 -11 -11 -9 -6 -5 -5 -5 -6 -7 -8 -8 -10 -11 -13 -14 -14 -14 -13 -14 -17 -20 -22 -22 -22 -18 -13 -6 -0 2 -0 -3 -6 -8 -11 -14 -15 -13 -10 -8 -8 -9 -8 -5 -4 -5 -8 -11 -11 -9 -8 -6 -5 -5 -6 -9 -13 -14 -12 -9 -8 -10 -13 -15 -19 -22 -21 -20 -20 -22 -24 -24 -23 -22 -23 -25 -27 -27 -27 -25 -23 -23 -24 -26 -28 -28 -28 -29 -31 -32 -32 -30 -28 -27 -25 -24 -24 -24 -25 -25 -26 -27 -28 -29 -30 -30 -30 -29 -27 -23 -21 -21 -21 -21 -20 -21 -22 -24 -22 -21 -20 -21 -21 -21 -21 -19 -19 -20 -21 -20 -20 -20 -20 -19 -20 -23 -25 -25 -25 -25 -24 -23 -21 -19 -18 -19 -21 -22 -21 -22 -21 -21 -20 -20 -19 -19 -19 -20 -21 -20 -19 -18 -17 -18 -19 -19 -18 -15 -15 -16 -17 -15 -13 -13 -13 -14 -15 -17 -18 -17 -17 -16 -16 -16 -15 -16 -18 -19 -18 -18 -19 -20 -18 -16 -16 -16 -17 -17 -18 -19 -19 -19 -18 -18 -18 -19 -21 -21 -22 -25 -26 -26 -24 -22 -2 2 6 5 3 3 4 5 4 1 -3 -6 -8 -9 -9 -8 -8 -7 -6 -8 -10 -12 -7 -0 5 4 1 1 2 4 4 1 -1 -2 -1 1 1 -1 -5 -6 -4 -3 -3 -3 -3 -2 -0 1 1 -0 -0 -1 -1 -0 2 3 3 1 -0 -0 2 6 7 8 7 6 5 3 -1 -7 -10 -8 -3 3 6 5 -1 -6 -10 -9 -4 -1 -0 -2 -4 -6 -7 -6 -1 3 5 4 1 -2 -1 3 9 15 13 9 2 -6 -15 -18 -13 -2 6 8 8 6 3 1 -0 -1 -2 -4 -9 -13 -13 -6 5 11 11 7 3 1 -2 -4 -6 -6 -4 -2 -3 -6 -8 -7 -3 -3 -8 -14 -17 -17 -12 -10 -11 -14 -13 -8 -5 -4 -4 -5 -5 -6 -6 -6 -7 -8 -10 -10 -9 -8 -9 -11 -12 -10 -6 -2 -0 -3 -8 -10 -7 -2 -2 -2 -3 -4 -4 -5 -6 -6 -6 -5 -5 -5 -6 -9 -10 -12 -13 -16 -21 -25 -26 -24 -18 -12 -9 -9 -11 -9 -8 -6 -5 -5 -5 -6 -7 -8 -10 -12 -13 -14 -15 -14 -14 -14 -15 -16 -18 -19 -20 -18 -17 -15 -12 -7 -4 -4 -4 -5 -8 -11 -14 -13 -10 -9 -10 -13 -13 -9 -6 -4 -8 -10 -10 -8 -7 -5 -3 -3 -5 -8 -13 -15 -15 -11 -9 -10 -12 -13 -18 -21 -22 -21 -21 -23 -24 -24 -23 -22 -23 -25 -26 -28 -27 -25 -24 -23 -24 -24 -25 -26 -27 -28 -30 -32 -32 -31 -30 -29 -27 -25 -25 -25 -25 -25 -26 -27 -28 -28 -29 -29 -29 -28 -26 -22 -21 -21 -22 -21 -21 -22 -23 -24 -23 -21 -20 -21 -21 -21 -21 -19 -19 -19 -20 -21 -21 -21 -20 -20 -20 -24 -25 -25 -24 -24 -25 -25 -23 -21 -20 -19 -18 -18 -19 -19 -18 -18 -17 -19 -19 -20 -20 -19 -20 -19 -18 -19 -19 -18 -18 -19 -19 -16 -15 -16 -15 -14 -13 -13 -13 -14 -16 -17 -18 -18 -17 -17 -17 -16 -15 -15 -17 -19 -18 -18 -19 -19 -18 -16 -15 -15 -15 -16 -18 -19 -19 -19 -18 -17 -17 -17 -19 -20 -22 -24 -26 -26 -25 -23 -0 4 6 3 3 4 5 5 3 -0 -4 -7 -9 -10 -10 -9 -8 -7 -7 -9 -11 -10 -1 5 5 1 -1 -0 2 3 2 -0 -1 -1 1 3 2 -2 -5 -5 -3 -2 -2 -3 -3 -2 -2 -2 -2 -1 -1 -2 -1 1 2 2 2 1 -0 1 3 7 8 9 9 7 5 1 -3 -8 -11 -8 -3 2 4 4 -0 -5 -8 -7 -4 -2 -3 -4 -3 -3 -5 -5 -4 1 4 5 4 2 -0 -0 4 12 12 7 -1 -9 -13 -11 -6 1 4 5 7 8 7 4 2 1 -0 -1 -6 -12 -17 -16 -4 6 11 10 7 3 -1 -5 -9 -8 -7 -4 -2 -2 -6 -7 -5 -3 -6 -12 -17 -20 -17 -13 -11 -11 -12 -8 -5 -3 -4 -5 -6 -7 -7 -6 -5 -6 -8 -9 -8 -7 -7 -9 -12 -13 -11 -8 -4 -3 -4 -5 -4 -1 -1 -1 -2 -2 -3 -4 -6 -7 -8 -8 -6 -4 -3 -5 -8 -10 -13 -16 -20 -23 -26 -27 -21 -15 -9 -6 -9 -9 -9 -7 -6 -5 -5 -5 -6 -7 -9 -11 -14 -15 -16 -16 -15 -15 -15 -15 -15 -16 -16 -17 -17 -16 -15 -13 -12 -11 -9 -7 -7 -9 -11 -10 -8 -8 -10 -14 -15 -13 -9 -6 -7 -9 -9 -7 -5 -4 -3 -2 -3 -7 -13 -17 -17 -13 -11 -11 -12 -14 -17 -19 -21 -22 -23 -23 -24 -24 -22 -21 -22 -24 -25 -27 -26 -26 -25 -24 -23 -23 -24 -24 -26 -27 -28 -30 -32 -32 -32 -30 -29 -27 -26 -26 -25 -26 -26 -27 -27 -27 -28 -29 -29 -28 -24 -22 -20 -20 -23 -21 -21 -22 -24 -24 -23 -21 -20 -20 -20 -21 -21 -20 -20 -20 -21 -21 -21 -20 -20 -20 -21 -23 -22 -22 -21 -21 -23 -23 -22 -22 -21 -19 -18 -17 -17 -17 -16 -16 -16 -17 -18 -20 -21 -19 -19 -19 -18 -19 -20 -20 -19 -19 -19 -17 -15 -15 -15 -14 -14 -14 -14 -14 -16 -17 -18 -18 -18 -18 -18 -17 -15 -15 -16 -18 -18 -18 -18 -18 -17 -15 -15 -16 -15 -17 -18 -18 -18 -18 -16 -16 -17 -17 -18 -19 -21 -22 -24 -25 -25 -25 2 5 5 2 2 4 5 5 2 -1 -4 -7 -10 -11 -11 -10 -9 -8 -9 -10 -10 -5 4 6 2 -2 -2 -0 1 2 -0 -2 -2 1 4 4 1 -3 -5 -5 -3 -2 -2 -3 -3 -2 -2 -3 -5 -5 -3 -2 1 4 4 3 1 1 3 5 7 7 8 8 8 6 2 -3 -6 -7 -6 -3 -1 -1 -1 -0 -1 -2 -3 -3 -3 -4 -4 -4 -2 -1 -2 -3 -3 -2 1 4 5 4 2 -0 1 7 10 8 1 -10 -15 -12 -5 2 5 4 4 6 7 8 6 4 2 1 -2 -8 -15 -20 -13 -3 7 11 9 6 3 -2 -9 -12 -11 -9 -6 -2 -2 -3 -3 -4 -6 -11 -16 -19 -19 -15 -12 -11 -13 -10 -5 -2 -2 -4 -6 -8 -9 -8 -7 -6 -6 -7 -7 -6 -6 -6 -10 -12 -14 -13 -10 -7 -5 -4 -2 -0 -0 -1 -2 -1 -2 -3 -4 -7 -9 -10 -9 -7 -4 -4 -5 -7 -10 -15 -19 -22 -25 -26 -25 -19 -11 -6 -7 -9 -9 -9 -8 -7 -6 -5 -5 -5 -7 -11 -14 -16 -17 -17 -16 -16 -14 -13 -13 -13 -14 -15 -16 -16 -16 -15 -13 -12 -12 -11 -9 -8 -8 -6 -6 -6 -8 -10 -13 -13 -11 -8 -7 -7 -6 -5 -4 -3 -3 -2 -2 -6 -12 -16 -18 -15 -12 -10 -10 -14 -17 -19 -21 -22 -23 -23 -24 -24 -22 -21 -22 -23 -25 -26 -26 -26 -25 -24 -22 -23 -23 -24 -26 -26 -27 -29 -31 -33 -33 -32 -31 -28 -27 -27 -26 -27 -27 -26 -26 -27 -28 -29 -29 -28 -24 -22 -21 -21 -22 -21 -20 -21 -23 -23 -23 -22 -20 -20 -20 -21 -21 -21 -22 -22 -22 -21 -20 -20 -20 -20 -20 -20 -19 -18 -17 -18 -20 -21 -20 -19 -20 -19 -18 -17 -17 -17 -16 -16 -16 -16 -17 -19 -21 -19 -18 -18 -18 -19 -20 -21 -20 -19 -19 -17 -15 -14 -14 -13 -13 -14 -15 -15 -15 -16 -18 -18 -18 -19 -18 -18 -16 -15 -15 -17 -17 -18 -18 -19 -17 -17 -17 -17 -16 -17 -17 -17 -17 -16 -15 -15 -17 -19 -18 -19 -20 -19 -22 -23 -24 -25 5 6 4 1 3 4 5 3 1 -1 -5 -7 -10 -10 -10 -9 -9 -9 -10 -10 -7 1 5 3 -1 -2 -2 -1 -0 -0 -3 -3 -1 2 5 4 -0 -2 -3 -2 -2 -3 -3 -3 -2 -1 -0 -1 -4 -5 -4 -2 2 4 5 4 4 5 7 8 8 7 6 6 5 3 -2 -6 -7 -6 -1 2 1 -3 -8 -8 -4 -0 3 3 -1 -3 -3 -1 -0 -1 -1 -1 -1 -2 -1 1 4 5 4 2 1 4 7 7 3 -6 -14 -15 -8 2 7 6 4 3 5 6 7 6 4 2 1 -3 -11 -19 -18 -9 2 10 9 7 4 1 -4 -9 -12 -15 -16 -10 -4 -1 -0 -3 -6 -10 -14 -17 -20 -16 -11 -9 -13 -12 -9 -4 -1 -2 -4 -7 -10 -11 -10 -9 -6 -5 -5 -6 -6 -5 -7 -10 -12 -14 -14 -12 -10 -7 -3 -0 -0 -0 -2 -2 -2 -2 -3 -5 -8 -11 -12 -11 -8 -5 -4 -4 -7 -12 -17 -21 -23 -25 -24 -21 -15 -9 -7 -8 -9 -9 -9 -9 -8 -7 -5 -5 -6 -9 -13 -16 -17 -18 -18 -16 -14 -13 -12 -11 -12 -12 -14 -15 -16 -15 -13 -11 -10 -10 -11 -10 -9 -5 -5 -5 -7 -9 -11 -13 -14 -14 -9 -6 -4 -3 -2 -2 -2 -2 -3 -7 -12 -15 -17 -15 -12 -9 -10 -13 -17 -20 -21 -22 -23 -24 -25 -24 -24 -23 -23 -23 -24 -25 -25 -25 -25 -24 -23 -23 -23 -24 -26 -27 -28 -29 -30 -32 -33 -33 -32 -30 -29 -28 -27 -27 -27 -26 -26 -27 -28 -29 -30 -29 -26 -24 -23 -23 -22 -21 -20 -20 -22 -22 -22 -22 -21 -20 -20 -21 -22 -22 -23 -24 -24 -23 -21 -20 -20 -20 -20 -18 -18 -17 -17 -18 -21 -22 -21 -18 -18 -18 -17 -17 -17 -17 -16 -16 -16 -16 -17 -18 -20 -18 -17 -17 -17 -18 -19 -21 -22 -19 -19 -17 -15 -14 -14 -13 -14 -15 -15 -15 -15 -15 -17 -18 -18 -19 -19 -17 -16 -15 -15 -17 -18 -18 -18 -20 -20 -19 -18 -18 -17 -17 -17 -18 -17 -16 -15 -15 -16 -19 -19 -19 -19 -18 -20 -21 -23 -25 7 6 3 2 3 4 3 2 -0 -2 -5 -7 -10 -10 -9 -9 -10 -11 -10 -7 -3 2 1 -1 -2 -2 -2 -2 -2 -3 -4 -4 -1 2 4 2 -0 -1 -0 -0 -3 -4 -5 -4 -3 -1 1 1 -2 -3 -2 -0 2 5 6 7 8 9 9 9 7 6 5 3 1 -1 -5 -7 -6 -3 1 2 -1 -6 -13 -15 -9 -1 5 6 1 -2 -2 1 -0 -1 -2 -1 -0 -1 -1 1 3 4 4 3 2 2 4 5 4 -2 -11 -15 -12 -2 7 8 6 3 3 3 4 5 4 3 2 -0 -6 -14 -17 -12 -3 5 7 5 3 2 -1 -4 -9 -15 -21 -17 -11 -5 -1 -1 -5 -9 -13 -15 -16 -13 -9 -7 -10 -13 -11 -8 -4 -3 -3 -5 -8 -11 -12 -11 -8 -5 -5 -7 -7 -7 -6 -7 -9 -11 -13 -13 -12 -10 -5 -1 -0 -1 -2 -3 -3 -2 -2 -3 -6 -10 -12 -12 -11 -9 -6 -4 -5 -10 -15 -19 -21 -22 -23 -22 -18 -12 -8 -7 -8 -9 -9 -9 -9 -9 -8 -6 -6 -7 -10 -13 -16 -18 -18 -17 -16 -14 -13 -10 -9 -9 -11 -13 -15 -15 -14 -11 -9 -10 -11 -11 -9 -6 -5 -6 -8 -9 -11 -13 -16 -16 -13 -8 -4 -1 -0 1 -0 -1 -4 -8 -11 -13 -15 -15 -12 -10 -10 -14 -17 -20 -21 -22 -23 -24 -24 -25 -25 -23 -23 -23 -24 -24 -24 -24 -24 -24 -23 -24 -25 -25 -26 -26 -27 -27 -28 -30 -32 -33 -32 -32 -32 -31 -28 -28 -27 -27 -27 -27 -28 -29 -30 -30 -28 -26 -24 -25 -24 -22 -20 -20 -21 -21 -22 -22 -21 -21 -21 -22 -23 -22 -24 -26 -26 -26 -22 -21 -21 -21 -20 -19 -18 -18 -20 -22 -24 -24 -23 -19 -18 -18 -18 -18 -18 -17 -17 -17 -17 -17 -17 -17 -19 -19 -19 -17 -16 -16 -18 -21 -22 -20 -19 -18 -16 -15 -15 -15 -15 -15 -16 -15 -14 -14 -16 -18 -19 -19 -18 -17 -16 -15 -15 -17 -17 -18 -18 -20 -21 -20 -19 -19 -18 -18 -18 -20 -19 -19 -17 -16 -16 -17 -17 -19 -20 -19 -20 -22 -23 -25 7 5 3 3 3 3 2 1 -0 -2 -5 -7 -9 -9 -9 -10 -11 -11 -9 -5 -2 -1 -2 -3 -2 -1 -1 -1 -3 -4 -5 -4 -0 2 3 -0 -1 -0 1 -0 -4 -6 -8 -7 -5 -2 -1 -0 -1 -1 -0 2 4 5 7 9 10 10 9 8 6 5 3 1 -2 -5 -7 -6 -4 -0 2 -2 -6 -12 -16 -16 -9 -1 4 4 1 -1 -1 -0 -1 -2 -3 -2 -1 -0 1 2 4 4 4 3 3 2 3 3 2 -1 -8 -13 -13 -6 4 8 8 5 3 2 2 2 3 2 2 1 -1 -8 -13 -12 -7 1 5 4 2 -1 -2 -3 -6 -12 -18 -20 -16 -10 -4 -2 -4 -7 -11 -15 -14 -11 -7 -5 -7 -10 -11 -10 -8 -6 -5 -5 -6 -10 -12 -12 -10 -6 -4 -6 -8 -9 -8 -6 -5 -7 -10 -12 -13 -12 -9 -4 -2 -2 -4 -5 -4 -3 -2 -2 -4 -7 -9 -12 -12 -11 -9 -7 -6 -8 -12 -16 -20 -20 -21 -21 -20 -16 -11 -8 -7 -8 -8 -9 -10 -10 -9 -9 -8 -7 -8 -11 -13 -15 -16 -15 -15 -16 -15 -10 -8 -7 -8 -11 -13 -14 -14 -12 -10 -10 -11 -11 -10 -7 -6 -6 -7 -9 -12 -14 -15 -15 -13 -10 -6 -2 -0 1 1 -1 -5 -7 -9 -11 -13 -14 -13 -13 -13 -15 -18 -19 -21 -22 -23 -24 -24 -25 -24 -23 -23 -23 -23 -23 -24 -24 -24 -24 -25 -25 -26 -26 -26 -25 -25 -24 -25 -27 -30 -32 -34 -34 -34 -33 -31 -29 -28 -28 -28 -28 -28 -28 -28 -29 -28 -25 -23 -25 -25 -22 -20 -19 -20 -21 -22 -23 -23 -23 -23 -23 -22 -22 -23 -26 -28 -29 -25 -22 -21 -22 -22 -20 -19 -20 -22 -24 -24 -23 -23 -19 -19 -18 -18 -18 -18 -18 -18 -17 -17 -17 -17 -20 -22 -23 -21 -18 -17 -17 -18 -20 -21 -20 -19 -18 -17 -17 -17 -16 -16 -16 -15 -15 -14 -14 -15 -17 -19 -18 -18 -17 -16 -15 -14 -16 -17 -18 -18 -21 -22 -22 -21 -20 -20 -20 -20 -22 -21 -20 -19 -17 -16 -16 -17 -18 -20 -20 -21 -23 -25 -25 6 4 3 3 3 2 1 -0 -0 -3 -6 -7 -8 -7 -9 -11 -12 -11 -7 -5 -4 -4 -4 -3 -2 -1 -1 -2 -4 -5 -5 -3 -0 1 1 -0 -0 1 2 1 -4 -8 -11 -10 -7 -3 -1 -0 -0 -0 2 4 5 6 7 9 11 10 9 8 6 4 2 -1 -4 -7 -6 -4 -0 1 -1 -7 -13 -16 -15 -10 -3 -0 1 -0 -0 -0 -0 -2 -3 -3 -3 -4 -4 -2 2 5 7 8 6 4 3 3 2 1 -0 -2 -6 -10 -11 -7 1 7 8 7 5 4 2 -0 -0 -1 -0 1 2 -2 -8 -10 -9 -3 3 4 1 -2 -4 -4 -5 -8 -15 -20 -20 -16 -9 -5 -5 -6 -9 -14 -13 -9 -5 -3 -6 -7 -8 -9 -9 -9 -8 -7 -7 -9 -11 -12 -11 -8 -5 -5 -7 -10 -11 -9 -7 -6 -8 -9 -11 -12 -11 -7 -4 -3 -4 -5 -6 -5 -4 -2 -3 -4 -6 -9 -9 -10 -9 -9 -8 -9 -11 -14 -17 -18 -18 -19 -19 -18 -14 -10 -7 -7 -8 -9 -9 -9 -10 -10 -10 -10 -9 -10 -11 -12 -12 -12 -14 -15 -15 -13 -9 -7 -6 -7 -10 -12 -13 -12 -11 -10 -10 -11 -11 -9 -7 -7 -7 -9 -12 -14 -14 -14 -12 -10 -8 -3 -1 -0 -0 -1 -5 -7 -7 -8 -11 -13 -14 -14 -14 -15 -17 -19 -20 -21 -23 -24 -24 -24 -23 -23 -23 -23 -23 -22 -22 -22 -23 -24 -26 -27 -26 -26 -25 -25 -24 -23 -23 -25 -27 -30 -33 -34 -35 -35 -34 -31 -29 -28 -28 -28 -27 -26 -26 -27 -25 -23 -22 -23 -24 -22 -20 -19 -20 -21 -22 -23 -24 -24 -24 -23 -23 -21 -22 -24 -28 -29 -27 -23 -21 -22 -22 -21 -20 -20 -23 -24 -23 -21 -21 -19 -19 -19 -19 -18 -18 -19 -18 -17 -17 -17 -18 -23 -26 -26 -23 -19 -19 -18 -19 -19 -21 -21 -21 -20 -19 -19 -18 -18 -17 -16 -15 -14 -13 -14 -15 -17 -18 -18 -17 -17 -16 -15 -14 -15 -17 -18 -18 -21 -23 -24 -23 -21 -20 -20 -20 -22 -21 -20 -19 -18 -17 -17 -17 -17 -19 -21 -23 -24 -25 -25 4 3 2 2 2 1 1 -0 -1 -4 -5 -6 -6 -6 -8 -11 -12 -9 -7 -6 -6 -7 -5 -3 -2 -1 -1 -3 -5 -5 -4 -2 -1 -1 -2 -1 -0 2 2 1 -4 -9 -12 -11 -6 -1 2 3 2 2 3 5 7 7 7 8 9 10 10 8 6 3 2 -1 -4 -6 -3 -0 1 -0 -6 -13 -17 -17 -10 -1 2 -0 -3 -2 -0 1 -1 -5 -6 -5 -5 -5 -7 -5 -1 5 10 13 11 8 5 3 1 -0 -2 -3 -4 -5 -6 -5 -1 5 8 8 8 6 4 -0 -3 -4 -2 -0 2 1 -3 -7 -9 -6 1 3 2 -2 -4 -5 -5 -7 -13 -19 -22 -20 -13 -8 -7 -8 -10 -13 -11 -7 -4 -3 -5 -6 -6 -6 -7 -8 -9 -8 -8 -9 -10 -11 -11 -11 -8 -6 -5 -8 -10 -10 -9 -7 -6 -7 -8 -10 -11 -8 -5 -4 -4 -5 -7 -7 -7 -7 -6 -5 -5 -5 -5 -6 -8 -10 -10 -10 -11 -12 -15 -16 -16 -17 -18 -18 -16 -12 -9 -8 -8 -8 -8 -8 -8 -9 -10 -10 -10 -10 -10 -10 -9 -10 -11 -13 -15 -14 -12 -9 -6 -6 -6 -9 -11 -12 -12 -10 -9 -10 -11 -10 -9 -8 -8 -9 -12 -14 -15 -14 -12 -10 -8 -5 -3 -2 -2 -3 -5 -5 -8 -11 -12 -12 -12 -12 -13 -14 -17 -18 -19 -20 -22 -23 -23 -24 -23 -23 -23 -23 -23 -22 -22 -22 -22 -24 -26 -27 -27 -26 -25 -24 -23 -23 -24 -24 -26 -28 -31 -33 -34 -35 -35 -32 -30 -29 -28 -27 -25 -24 -24 -26 -24 -22 -22 -23 -23 -23 -22 -21 -21 -22 -23 -23 -24 -25 -24 -23 -22 -21 -21 -23 -25 -26 -25 -23 -21 -21 -22 -22 -22 -21 -22 -22 -21 -20 -20 -19 -18 -18 -19 -18 -18 -19 -18 -17 -16 -17 -19 -24 -26 -26 -24 -20 -19 -19 -19 -20 -20 -22 -23 -23 -22 -21 -20 -19 -18 -16 -14 -13 -13 -13 -14 -16 -17 -17 -17 -17 -16 -16 -14 -15 -16 -17 -17 -20 -23 -24 -24 -22 -20 -19 -19 -21 -20 -19 -18 -17 -17 -16 -16 -17 -20 -22 -23 -24 -25 -25 3 2 1 1 -0 -0 -0 -1 -2 -4 -4 -4 -4 -5 -8 -10 -11 -8 -7 -8 -9 -8 -5 -3 -1 -1 -2 -4 -5 -5 -4 -3 -3 -3 -3 -2 1 3 2 -0 -6 -10 -11 -9 -1 3 3 2 2 2 4 6 8 8 6 5 6 7 9 8 7 4 2 -0 -2 -3 -0 2 1 -4 -12 -18 -17 -11 -1 3 -0 -4 -5 -1 1 -0 -2 -5 -6 -6 -6 -7 -8 -8 -5 -0 6 13 15 13 8 4 -1 -4 -6 -5 -1 1 1 -0 -0 2 6 10 10 9 6 2 -3 -4 -4 -2 -0 1 -2 -5 -7 -6 -0 3 3 -1 -4 -5 -5 -5 -9 -17 -23 -23 -17 -10 -9 -10 -12 -11 -8 -5 -3 -3 -4 -4 -4 -4 -4 -6 -7 -8 -9 -9 -10 -11 -12 -12 -10 -8 -6 -6 -8 -9 -9 -9 -7 -6 -6 -6 -8 -8 -6 -4 -4 -5 -6 -8 -9 -9 -9 -8 -7 -5 -3 -3 -5 -8 -10 -11 -11 -12 -13 -14 -14 -15 -15 -17 -16 -15 -12 -10 -9 -8 -7 -7 -7 -8 -8 -8 -8 -10 -10 -10 -9 -9 -10 -11 -12 -13 -12 -11 -10 -8 -6 -7 -9 -12 -12 -9 -7 -7 -8 -10 -10 -9 -8 -9 -12 -14 -16 -14 -12 -10 -9 -7 -5 -4 -4 -4 -5 -6 -7 -9 -11 -10 -10 -11 -13 -14 -17 -19 -19 -19 -21 -22 -23 -23 -23 -23 -24 -24 -24 -23 -23 -22 -22 -23 -25 -27 -27 -27 -25 -23 -23 -24 -24 -24 -25 -27 -29 -31 -32 -34 -35 -33 -31 -30 -28 -26 -24 -23 -24 -26 -24 -22 -21 -22 -24 -25 -26 -24 -23 -22 -22 -23 -24 -25 -24 -22 -22 -21 -20 -21 -22 -22 -23 -22 -21 -21 -21 -22 -22 -21 -21 -20 -20 -19 -19 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -19 -23 -25 -25 -23 -20 -19 -20 -21 -22 -22 -24 -25 -25 -25 -23 -21 -20 -19 -17 -15 -14 -13 -13 -14 -15 -16 -17 -17 -17 -18 -18 -18 -17 -16 -16 -16 -18 -21 -24 -24 -22 -20 -19 -19 -21 -21 -19 -17 -17 -16 -15 -15 -16 -20 -21 -22 -23 -24 -24 2 1 -0 -0 -1 -0 -1 -1 -3 -3 -3 -3 -3 -4 -8 -10 -9 -7 -8 -9 -10 -9 -5 -3 -2 -2 -3 -4 -4 -4 -4 -5 -5 -5 -3 -1 2 2 1 -4 -8 -10 -9 -4 2 3 3 2 2 3 4 7 9 8 6 5 4 4 5 6 6 4 2 -0 -1 -0 3 3 -1 -8 -15 -16 -10 -2 4 1 -3 -5 -5 -1 1 1 -1 -3 -5 -5 -7 -8 -9 -9 -7 -4 -2 4 10 14 12 7 -0 -6 -9 -10 -3 3 8 7 3 2 4 8 10 9 6 3 1 -1 -2 -2 -1 -1 -3 -5 -7 -7 -3 -0 2 -0 -4 -5 -4 -3 -6 -13 -21 -24 -21 -11 -8 -9 -11 -11 -8 -5 -4 -3 -3 -4 -4 -4 -4 -5 -5 -6 -8 -9 -10 -11 -13 -14 -12 -10 -7 -5 -6 -7 -8 -9 -8 -6 -5 -4 -6 -7 -6 -5 -4 -5 -7 -9 -10 -11 -11 -11 -10 -8 -6 -4 -3 -5 -7 -8 -9 -10 -12 -13 -14 -14 -14 -15 -17 -17 -15 -12 -11 -8 -6 -5 -5 -6 -6 -6 -7 -9 -10 -11 -11 -10 -10 -10 -9 -11 -11 -11 -11 -10 -9 -8 -8 -10 -10 -9 -7 -6 -6 -9 -11 -10 -8 -8 -10 -13 -16 -15 -13 -11 -10 -9 -7 -7 -7 -7 -7 -6 -7 -9 -11 -11 -11 -12 -13 -16 -19 -19 -19 -19 -19 -20 -22 -23 -23 -23 -24 -25 -25 -24 -23 -21 -21 -22 -24 -26 -28 -26 -25 -23 -23 -23 -24 -24 -24 -24 -27 -28 -29 -31 -33 -33 -32 -31 -28 -27 -25 -24 -25 -26 -24 -21 -20 -21 -24 -27 -29 -28 -25 -23 -22 -23 -23 -23 -23 -23 -23 -22 -20 -19 -19 -19 -20 -21 -22 -21 -21 -22 -23 -22 -21 -20 -20 -20 -19 -18 -18 -18 -18 -17 -17 -18 -18 -20 -20 -20 -20 -22 -25 -26 -24 -21 -20 -20 -22 -23 -23 -24 -25 -26 -26 -25 -23 -21 -21 -19 -16 -15 -14 -14 -15 -15 -16 -16 -16 -17 -19 -20 -20 -18 -16 -15 -15 -17 -20 -23 -24 -22 -21 -20 -19 -21 -20 -19 -16 -15 -15 -15 -15 -16 -19 -20 -21 -22 -22 -22 1 -0 -0 -1 -1 -1 -1 -2 -3 -3 -2 -1 -2 -4 -7 -8 -8 -6 -7 -9 -10 -9 -6 -4 -3 -3 -4 -4 -4 -4 -5 -5 -6 -4 -2 1 2 1 -3 -7 -10 -8 -4 1 1 -0 1 2 2 3 5 8 9 7 5 5 5 4 3 2 2 1 -1 -0 2 3 4 -0 -5 -11 -14 -9 -1 4 4 1 -1 -3 -5 -5 -2 -0 -0 -1 -2 -4 -7 -9 -10 -9 -6 -5 -5 -4 1 7 11 10 5 -1 -6 -9 -6 -0 6 10 9 5 4 6 9 8 6 3 1 1 -0 -1 -1 -2 -4 -6 -8 -10 -7 -3 -0 1 -2 -5 -6 -6 -6 -9 -15 -21 -23 -13 -7 -5 -8 -11 -10 -8 -5 -4 -4 -4 -4 -4 -4 -3 -3 -4 -5 -7 -9 -11 -14 -15 -14 -12 -10 -7 -6 -5 -6 -8 -8 -7 -5 -3 -4 -5 -5 -4 -4 -5 -7 -8 -10 -12 -13 -12 -12 -11 -9 -7 -5 -4 -5 -6 -7 -8 -10 -11 -12 -13 -13 -14 -17 -19 -18 -15 -12 -10 -7 -5 -4 -5 -6 -6 -6 -7 -9 -10 -11 -11 -11 -10 -10 -9 -9 -10 -11 -11 -10 -10 -11 -12 -11 -10 -7 -5 -5 -8 -10 -11 -11 -9 -9 -11 -14 -15 -14 -13 -13 -12 -11 -10 -9 -9 -8 -6 -6 -7 -10 -12 -12 -11 -12 -17 -19 -20 -19 -18 -18 -20 -22 -23 -23 -23 -24 -26 -26 -25 -23 -21 -20 -21 -23 -25 -26 -25 -24 -23 -22 -23 -23 -23 -23 -23 -24 -25 -26 -27 -30 -32 -32 -31 -29 -28 -27 -25 -25 -25 -24 -22 -20 -21 -22 -24 -27 -28 -27 -24 -22 -23 -22 -22 -22 -23 -24 -23 -21 -19 -17 -18 -18 -19 -20 -20 -20 -22 -23 -23 -22 -22 -21 -20 -19 -18 -18 -18 -18 -17 -17 -18 -20 -21 -21 -20 -19 -22 -26 -28 -26 -24 -22 -21 -20 -22 -23 -24 -25 -27 -27 -26 -25 -23 -22 -20 -18 -15 -15 -15 -16 -16 -16 -15 -16 -17 -19 -20 -21 -19 -17 -15 -15 -17 -19 -21 -23 -22 -21 -21 -20 -19 -18 -17 -16 -16 -15 -15 -15 -16 -18 -19 -20 -20 -19 -19 -0 -0 -1 -1 -2 -2 -2 -3 -3 -1 -0 -0 -1 -4 -7 -7 -6 -5 -7 -9 -10 -9 -6 -4 -4 -4 -4 -3 -3 -4 -6 -6 -6 -4 -0 2 1 -2 -7 -9 -7 -1 3 4 -0 -0 1 1 1 4 7 9 8 6 6 6 6 6 3 -0 -2 -3 -2 -0 3 3 1 -5 -10 -12 -9 -1 4 5 2 1 1 -1 -4 -7 -5 -2 -0 1 1 -1 -6 -11 -13 -9 -4 -2 -4 -7 -7 -3 3 9 9 6 1 -4 -6 -5 -1 5 10 8 6 5 7 7 5 3 -0 -0 1 2 1 -2 -4 -6 -9 -12 -11 -7 -3 -0 -1 -3 -6 -8 -10 -9 -11 -15 -19 -14 -7 -4 -4 -8 -10 -10 -8 -5 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -7 -10 -13 -15 -14 -13 -11 -10 -8 -6 -6 -7 -8 -7 -6 -5 -3 -2 -2 -3 -4 -5 -6 -7 -10 -13 -14 -14 -13 -12 -11 -9 -7 -5 -5 -5 -5 -6 -7 -9 -10 -11 -13 -14 -16 -18 -18 -17 -15 -12 -9 -6 -5 -5 -6 -6 -6 -6 -7 -7 -9 -10 -11 -11 -11 -10 -9 -8 -9 -10 -11 -11 -13 -16 -15 -12 -6 -2 -1 -5 -9 -12 -12 -10 -8 -8 -11 -14 -15 -15 -17 -16 -15 -12 -9 -9 -8 -5 -4 -5 -10 -12 -12 -10 -12 -17 -20 -19 -17 -17 -18 -19 -21 -22 -24 -25 -26 -27 -27 -26 -24 -22 -20 -20 -21 -23 -24 -24 -23 -22 -20 -21 -23 -23 -22 -21 -22 -23 -24 -25 -27 -28 -30 -30 -30 -29 -28 -26 -24 -24 -23 -22 -21 -20 -20 -21 -23 -24 -26 -26 -23 -23 -21 -20 -20 -22 -25 -24 -22 -20 -17 -18 -18 -19 -20 -20 -20 -21 -23 -23 -23 -22 -21 -21 -19 -18 -18 -18 -17 -17 -17 -18 -21 -21 -20 -18 -16 -19 -24 -27 -27 -26 -23 -20 -19 -22 -23 -24 -25 -26 -27 -28 -27 -25 -24 -22 -19 -17 -16 -17 -18 -17 -15 -15 -16 -17 -19 -20 -20 -19 -17 -15 -15 -16 -17 -19 -21 -21 -20 -20 -19 -18 -17 -17 -18 -18 -17 -16 -15 -17 -18 -19 -19 -19 -17 -16 -0 -1 -1 -1 -2 -2 -3 -3 -2 -0 1 1 -1 -4 -5 -5 -5 -5 -6 -8 -9 -9 -8 -6 -5 -4 -4 -2 -3 -4 -6 -7 -6 -3 -0 1 -1 -4 -7 -6 -0 5 5 3 1 1 1 1 2 5 8 9 8 6 7 7 7 6 3 -0 -3 -4 -2 -0 1 -0 -5 -11 -13 -10 -2 4 4 1 -1 1 2 1 -2 -6 -6 -3 -1 1 2 -0 -5 -13 -17 -10 -2 3 1 -5 -11 -13 -8 2 10 12 9 3 -3 -7 -7 -3 6 9 8 7 6 6 5 3 -1 -2 -0 2 4 1 -2 -4 -8 -13 -13 -12 -8 -3 -1 -1 -3 -8 -14 -14 -12 -11 -12 -10 -6 -3 -3 -5 -8 -10 -10 -8 -7 -5 -4 -3 -2 -1 -1 -2 -3 -3 -5 -7 -11 -14 -15 -14 -13 -12 -10 -9 -7 -7 -7 -7 -6 -5 -4 -2 -1 -1 -3 -5 -6 -6 -8 -11 -14 -16 -15 -13 -12 -10 -9 -7 -6 -5 -5 -6 -6 -7 -9 -10 -12 -13 -15 -17 -17 -18 -17 -15 -12 -8 -6 -5 -5 -5 -5 -6 -6 -6 -6 -8 -9 -10 -11 -11 -10 -8 -8 -9 -10 -11 -14 -19 -20 -16 -9 -2 1 -1 -5 -11 -13 -12 -9 -7 -8 -11 -13 -15 -17 -17 -16 -13 -9 -7 -7 -6 -4 -4 -10 -12 -12 -11 -14 -17 -19 -19 -17 -17 -17 -18 -20 -21 -23 -25 -26 -27 -27 -26 -25 -24 -21 -19 -20 -21 -22 -23 -22 -21 -18 -20 -22 -23 -22 -21 -22 -23 -24 -25 -25 -25 -26 -28 -30 -30 -28 -25 -23 -23 -23 -22 -21 -20 -19 -19 -19 -21 -25 -27 -26 -23 -20 -18 -18 -21 -22 -23 -23 -20 -18 -18 -19 -19 -19 -19 -20 -21 -23 -24 -24 -23 -21 -21 -19 -18 -18 -18 -17 -17 -17 -18 -21 -20 -18 -16 -15 -18 -22 -25 -26 -25 -22 -19 -17 -20 -21 -23 -25 -26 -27 -28 -29 -27 -25 -23 -21 -19 -17 -17 -17 -16 -15 -15 -15 -17 -18 -20 -20 -19 -16 -14 -15 -15 -15 -17 -18 -19 -20 -20 -19 -19 -18 -18 -20 -19 -18 -17 -18 -19 -20 -20 -20 -18 -16 -16 -1 -0 -0 -1 -2 -3 -4 -4 -2 1 2 1 -2 -5 -5 -4 -4 -4 -6 -7 -9 -10 -10 -8 -6 -4 -3 -2 -3 -6 -8 -8 -6 -3 -1 -2 -4 -5 -4 1 7 7 5 2 3 3 3 3 4 7 8 8 8 7 7 7 6 4 2 -1 -2 -2 -0 -0 -2 -5 -11 -14 -12 -6 2 3 -1 -4 -3 -1 2 2 -0 -4 -4 -3 -2 -1 1 -0 -6 -13 -19 -12 -1 7 8 -1 -10 -17 -18 -8 5 13 15 10 2 -4 -7 -7 -1 5 8 8 6 6 5 3 -1 -5 -4 -1 4 5 3 -1 -6 -11 -14 -14 -12 -8 -3 -0 -1 -5 -12 -17 -17 -14 -9 -6 -3 -2 -2 -3 -5 -7 -9 -10 -9 -8 -6 -4 -3 -0 1 -0 -0 -2 -3 -6 -9 -12 -14 -15 -15 -13 -12 -10 -9 -8 -8 -7 -6 -6 -5 -3 -2 -2 -3 -5 -6 -6 -7 -9 -13 -16 -17 -16 -14 -11 -9 -8 -7 -7 -6 -6 -5 -6 -7 -9 -10 -12 -14 -15 -16 -16 -16 -16 -14 -12 -9 -7 -6 -5 -5 -6 -6 -7 -7 -7 -7 -8 -9 -11 -11 -10 -10 -10 -9 -10 -13 -20 -22 -19 -14 -7 -2 -1 -4 -8 -11 -11 -9 -6 -6 -8 -11 -14 -16 -17 -16 -14 -9 -7 -9 -9 -8 -7 -10 -12 -12 -12 -14 -17 -18 -18 -17 -17 -17 -18 -19 -21 -23 -24 -26 -25 -25 -25 -25 -25 -22 -21 -20 -20 -21 -21 -21 -20 -18 -19 -21 -22 -22 -21 -22 -24 -25 -25 -25 -25 -25 -25 -28 -29 -29 -26 -23 -23 -23 -23 -22 -21 -20 -19 -18 -19 -24 -28 -27 -23 -20 -18 -17 -19 -21 -22 -22 -21 -19 -19 -19 -19 -18 -18 -19 -21 -22 -24 -24 -23 -19 -20 -18 -17 -17 -17 -17 -16 -16 -18 -20 -20 -18 -16 -17 -19 -21 -23 -23 -23 -20 -17 -15 -15 -17 -21 -24 -25 -27 -28 -29 -27 -26 -24 -22 -20 -18 -17 -17 -16 -15 -15 -15 -15 -17 -18 -19 -18 -15 -14 -13 -14 -14 -16 -16 -17 -17 -19 -20 -20 -20 -20 -20 -20 -19 -18 -19 -19 -20 -21 -19 -17 -15 -15 -2 -0 1 -0 -3 -4 -5 -4 -2 2 2 -0 -3 -4 -4 -4 -3 -3 -4 -6 -9 -11 -12 -9 -6 -3 -2 -2 -5 -8 -9 -9 -7 -5 -5 -6 -7 -4 1 8 8 5 3 3 5 4 4 4 6 7 7 7 7 7 7 6 5 2 -0 -1 -1 -0 1 -0 -3 -9 -14 -13 -8 -2 1 -2 -7 -8 -6 -2 -0 1 -0 -0 -0 -1 -2 -3 -3 -4 -7 -12 -17 -14 -4 7 12 5 -5 -14 -21 -18 -3 9 16 13 7 2 -2 -6 -5 -0 5 8 7 6 5 4 1 -5 -8 -7 -1 5 6 3 -2 -8 -12 -14 -14 -12 -8 -4 -1 -1 -7 -15 -19 -19 -12 -6 -1 -0 -1 -2 -3 -4 -6 -7 -9 -9 -9 -8 -6 -3 -0 1 1 1 -1 -3 -5 -9 -12 -15 -16 -16 -14 -13 -11 -10 -9 -7 -4 -3 -4 -4 -3 -2 -3 -5 -6 -7 -7 -8 -11 -15 -17 -17 -16 -13 -9 -8 -7 -7 -7 -6 -5 -5 -5 -7 -9 -11 -12 -14 -15 -15 -16 -16 -16 -15 -12 -10 -8 -5 -5 -5 -6 -7 -8 -8 -7 -6 -7 -8 -10 -11 -11 -10 -9 -10 -12 -17 -21 -21 -18 -13 -7 -5 -4 -5 -7 -8 -7 -4 -3 -5 -8 -12 -15 -16 -16 -14 -11 -9 -9 -9 -9 -10 -12 -12 -12 -12 -14 -16 -17 -18 -18 -18 -17 -17 -18 -20 -22 -23 -24 -24 -23 -24 -25 -25 -25 -24 -22 -21 -21 -22 -21 -20 -20 -20 -21 -22 -22 -22 -23 -24 -25 -25 -25 -25 -24 -24 -26 -29 -31 -30 -27 -25 -25 -25 -24 -23 -22 -21 -21 -20 -24 -27 -26 -23 -20 -18 -17 -18 -21 -22 -23 -22 -20 -19 -19 -19 -18 -18 -19 -19 -21 -22 -23 -21 -18 -18 -17 -16 -17 -17 -17 -17 -17 -18 -20 -20 -19 -18 -20 -21 -21 -21 -20 -20 -18 -16 -14 -14 -16 -19 -22 -24 -25 -27 -28 -27 -26 -25 -22 -20 -19 -18 -17 -17 -15 -15 -15 -15 -15 -16 -17 -17 -14 -13 -12 -12 -13 -15 -15 -15 -15 -18 -20 -21 -21 -21 -20 -19 -19 -19 -18 -19 -21 -21 -18 -15 -14 -14 -1 1 1 -0 -3 -4 -6 -5 -1 2 2 -0 -3 -3 -3 -3 -3 -3 -3 -5 -9 -12 -13 -9 -5 -2 -1 -3 -6 -9 -10 -9 -8 -7 -8 -9 -7 -1 5 8 4 3 4 5 7 6 5 6 7 7 7 6 6 6 6 6 5 2 -0 -0 1 3 2 1 -3 -7 -10 -8 -5 -3 -4 -8 -10 -9 -4 -1 -1 -1 -0 -0 1 -0 -2 -4 -7 -8 -9 -9 -12 -13 -9 -0 10 10 3 -8 -18 -21 -14 -2 11 15 10 6 2 -1 -3 -3 -0 4 7 6 5 4 2 -3 -9 -12 -10 -1 5 5 -0 -6 -10 -11 -11 -10 -10 -8 -5 -2 -3 -10 -17 -21 -19 -10 -4 -0 -0 -2 -3 -4 -4 -4 -6 -8 -10 -11 -9 -7 -4 -1 1 2 2 -0 -2 -6 -9 -13 -15 -16 -15 -14 -12 -11 -9 -7 -5 -3 -3 -3 -3 -2 -3 -5 -7 -8 -8 -9 -11 -12 -14 -16 -16 -14 -11 -8 -6 -6 -6 -6 -6 -6 -6 -6 -7 -9 -10 -11 -13 -14 -15 -16 -17 -16 -14 -13 -11 -8 -6 -5 -5 -6 -8 -9 -8 -6 -5 -5 -7 -10 -12 -11 -10 -10 -12 -15 -19 -22 -21 -15 -10 -8 -6 -4 -4 -4 -4 -2 -0 -2 -6 -10 -13 -15 -16 -17 -15 -13 -11 -10 -9 -11 -12 -12 -12 -12 -13 -15 -17 -18 -19 -19 -18 -17 -17 -19 -20 -22 -23 -23 -22 -23 -24 -25 -26 -26 -25 -23 -23 -22 -21 -21 -21 -20 -20 -22 -23 -24 -25 -25 -26 -25 -24 -23 -23 -23 -26 -29 -32 -33 -31 -29 -27 -27 -26 -24 -23 -25 -23 -23 -24 -25 -23 -21 -19 -18 -17 -18 -20 -22 -23 -23 -22 -21 -19 -18 -18 -18 -18 -18 -19 -21 -21 -21 -19 -17 -16 -16 -16 -16 -17 -18 -18 -20 -22 -23 -22 -21 -21 -20 -19 -19 -19 -18 -17 -15 -16 -17 -18 -19 -19 -21 -22 -23 -24 -25 -26 -25 -24 -21 -20 -18 -17 -16 -15 -15 -14 -14 -14 -15 -16 -15 -14 -13 -12 -12 -11 -14 -15 -14 -14 -16 -18 -20 -21 -20 -20 -19 -19 -19 -18 -19 -21 -21 -18 -14 -13 -15 1 2 2 -1 -3 -5 -6 -5 -1 2 1 -1 -3 -3 -2 -2 -2 -2 -2 -5 -9 -12 -12 -7 -4 -1 -1 -4 -8 -10 -10 -10 -10 -10 -9 -8 -3 3 5 4 1 2 5 7 6 5 5 6 7 8 8 7 6 6 5 4 3 1 1 1 3 5 4 -0 -3 -6 -6 -5 -5 -6 -9 -10 -9 -5 -0 1 -0 -1 -0 1 1 1 -1 -3 -7 -9 -9 -8 -7 -12 -14 -10 -0 8 7 -0 -10 -18 -18 -10 1 13 12 9 5 3 -1 -3 -3 -1 5 6 5 3 1 -2 -6 -10 -13 -8 -1 2 -0 -7 -11 -10 -8 -5 -6 -8 -8 -6 -3 -6 -12 -18 -20 -15 -9 -3 1 -1 -3 -3 -3 -3 -2 -4 -7 -10 -11 -10 -8 -5 -1 1 2 2 -0 -2 -6 -9 -11 -13 -15 -15 -14 -12 -10 -8 -6 -4 -3 -3 -3 -3 -3 -4 -6 -8 -9 -11 -12 -13 -14 -14 -14 -13 -12 -9 -6 -5 -5 -6 -6 -6 -7 -7 -7 -7 -8 -10 -11 -13 -15 -16 -17 -17 -16 -14 -13 -11 -8 -6 -5 -6 -7 -9 -9 -8 -5 -4 -5 -7 -10 -11 -12 -13 -14 -17 -20 -22 -21 -17 -14 -12 -10 -8 -4 -1 1 1 1 -1 -5 -8 -11 -14 -17 -19 -19 -16 -13 -11 -9 -11 -12 -12 -12 -12 -13 -15 -18 -20 -20 -19 -18 -17 -17 -18 -18 -19 -21 -22 -22 -22 -23 -24 -25 -26 -26 -25 -24 -22 -21 -21 -20 -20 -20 -22 -23 -25 -26 -27 -26 -25 -23 -22 -22 -23 -25 -28 -31 -33 -32 -30 -28 -28 -26 -24 -24 -26 -27 -27 -26 -23 -21 -20 -19 -18 -18 -18 -19 -21 -22 -24 -23 -22 -20 -19 -18 -18 -19 -19 -19 -20 -21 -21 -20 -18 -17 -16 -16 -16 -17 -18 -20 -23 -24 -24 -23 -22 -20 -17 -16 -17 -18 -18 -17 -15 -18 -21 -22 -21 -18 -18 -18 -20 -21 -24 -25 -26 -26 -23 -21 -19 -17 -15 -15 -15 -15 -14 -14 -14 -15 -15 -15 -14 -13 -11 -11 -14 -15 -14 -13 -15 -17 -18 -18 -18 -18 -19 -20 -20 -18 -19 -19 -20 -17 -15 -14 -16