CAPE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 8 9 2 0 0 0 0 0 0 0 0 0 0 3 8 7 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 1 4 9 8 4 2 6 17 31 30 16 6 1 4 17 36 40 27 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 1 2 4 5 6 5 4 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 2 4 5 5 5 5 4 3 2 2 2 4 6 8 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 10 16 19 11 5 1 0 0 0 0 0 0 0 0 1 7 8 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 11 6 1 4 16 33 44 36 16 4 1 7 24 39 34 17 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 6 4 3 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 5 5 4 2 2 1 1 2 3 6 9 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 8 15 20 19 13 7 4 4 3 3 1 0 0 0 0 7 9 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 9 8 1 1 11 30 49 55 37 16 4 3 12 29 36 23 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 1 3 4 5 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 4 4 2 1 0 0 0 0 2 4 9 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 1 3 6 10 14 17 19 18 17 14 12 6 2 0 0 0 7 8 5 1 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 1 3 4 0 0 6 26 48 62 56 35 16 8 10 19 31 28 10 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 2 1 0 0 0 0 0 0 2 6 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 3 9 18 29 37 36 26 16 8 3 2 4 10 10 6 1 0 0 0 2 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 2 22 43 56 57 45 27 15 12 16 22 26 15 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 1 1 1 0 0 0 0 0 0 0 0 0 2 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 1 2 1 0 0 0 0 0 0 0 0 0 0 0 3 12 22 33 40 38 27 16 9 9 13 19 18 10 2 0 0 0 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 2 0 0 0 7 32 46 48 40 28 17 13 15 19 21 17 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 1 0 0 0 0 0 0 0 0 0 0 0 1 6 16 24 32 34 30 21 13 9 12 19 21 14 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 1 0 0 1 11 30 34 27 19 12 10 12 17 20 18 8 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 8 15 22 26 25 20 13 7 6 11 15 12 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 2 12 18 15 8 4 3 7 14 19 19 13 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 11 14 15 13 8 3 2 3 5 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 8 6 2 0 0 1 8 16 20 16 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 1 3 4 4 4 2 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 1 2 3 1 0 0 1 3 12 18 17 10 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 10 17 17 10 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 8 12 17 17 9 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 11 15 19 18 10 3 0 0 0 0 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 2 9 13 18 22 22 16 4 1 0 0 1 4 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 13 20 26 28 23 11 2 0 0 1 4 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 20 29 35 33 22 7 1 0 1 3 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 8 29 38 41 33 17 3 0 0 2 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 12 37 43 38 24 7 0 0 0 2 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 15 39 37 23 9 0 0 0 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 11 22 29 18 6 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 3 7 10 11 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 7 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Wind_Speed nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 17 17 nan nan nan 16 16 17 18 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 16 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 17 nan nan nan 16 16 17 17 17 nan nan nan 16 17 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 10 12 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 16 16 16 17 17 17 nan nan 17 17 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 8 7 3 9 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 16 16 17 17 18 18 nan nan 18 18 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 2 2 2 2 2 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 17 17 18 18 18 18 19 19 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 5 2 2 2 2 2 nan nan 28 26 25 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 18 18 18 18 18 19 20 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 5 2 3 3 4 4 nan 7 9 13 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 17 17 18 18 19 19 nan 19 20 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 3 4 4 4 3 nan nan 4 7 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 19 nan nan nan nan 20 20 20 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 5 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 20 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 23 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 22 22 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 21 22 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Wind_Direction nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 356 357 359 359 nan nan nan 354 356 359 1 2 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 51 52 75 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 1 nan nan nan 355 356 358 360 360 nan nan nan 355 358 360 1 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 101 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 36 10 112 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 356 356 357 358 0 360 nan nan 357 357 359 0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 101 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 46 150 157 161 175 350 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 356 356 357 359 0 0 nan nan 360 0 2 2 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 258 216 222 229 246 333 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 356 356 358 359 360 0 0 1 2 3 4 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 10 325 282 244 216 212 144 nan nan 60 47 39 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 357 358 359 0 0 1 2 3 4 5 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 328 250 210 195 192 188 nan 54 25 16 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 359 359 360 1 2 2 nan 3 4 5 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 39 186 182 185 192 205 nan nan 313 338 359 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 0 1 2 nan nan nan nan 4 5 6 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 82 104 139 204 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 10 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 12 12 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 13 13 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 10 11 12 13 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 9 11 13 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 6 8 11 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 6 9 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 8 7 8 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 10 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 -7 -6 -5 -5 -4 -3 -2 -2 -2 -2 -2 -0 0 1 2 3 6 7 6 4 2 1 1 -1 -2 -1 -1 -1 -1 -2 -2 -3 -5 -7 -8 -10 -11 -12 -13 -13 -13 -14 -14 -14 -14 -13 -12 -10 -9 -8 -8 -8 -8 -9 -10 -10 -11 -13 -13 -11 -9 -8 -6 -4 -0 2 2 0 -2 -5 -8 -10 -12 -13 -13 -13 -12 -11 -11 -11 -10 -9 -8 -9 -11 -12 -12 -11 -7 -1 2 -0 -5 -8 -7 -6 -5 -6 -7 -6 -2 -0 0 -1 -3 -6 -7 -5 -4 -4 -7 -10 -12 -12 -12 -11 -9 -8 -9 -10 -11 -11 -10 -10 -13 -16 -16 -14 -12 -12 -13 -14 -15 -16 -16 -14 -12 -11 -11 -13 -13 -11 -10 -12 -15 -16 -16 -13 -11 -12 -12 -12 -12 -10 -10 -11 -11 -11 -11 -11 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -9 -10 -10 -10 -10 -9 -10 -10 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -5 -4 -3 -3 -2 -1 -1 -1 -0 0 1 1 1 1 1 2 2 2 3 3 3 3 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 5 5 6 7 7 8 8 9 9 9 9 9 9 9 9 9 9 9 10 11 11 11 11 11 11 12 13 13 13 13 13 14 14 15 16 17 19 20 20 21 21 22 22 22 21 21 20 20 20 20 21 21 21 20 19 17 15 11 8 5 3 2 2 1 1 2 1 1 0 0 0 1 1 1 1 0 -1 -3 -5 -6 -3 2 6 4 2 -2 -7 -12 -17 -16 -15 -16 -18 -18 -17 -17 -18 -19 -20 -21 -22 -21 -19 -18 -15 -12 -9 -8 -8 -11 -15 -17 -16 -13 -11 -10 -10 -11 -9 -5 1 8 -6 -6 -5 -4 -3 -2 -2 -2 -2 -1 -0 1 2 3 4 6 8 10 9 7 5 4 3 2 2 2 2 1 0 -0 -1 -3 -4 -6 -8 -10 -11 -12 -13 -13 -12 -13 -13 -14 -15 -12 -1 1 -3 -6 -6 -6 -6 -7 -8 -9 -10 -11 -12 -12 -11 -10 -9 -8 -5 -1 1 2 2 0 -2 -6 -9 -12 -13 -13 -13 -13 -14 -14 -14 -12 -10 -11 -12 -12 -11 -9 -6 -3 -0 -2 -5 -6 -5 -5 -5 -5 -5 -2 -0 0 -0 -2 -4 -5 -5 -4 -5 -7 -10 -13 -13 -12 -11 -10 -9 -9 -10 -11 -11 -10 -10 -12 -15 -16 -14 -12 -12 -13 -14 -14 -15 -16 -15 -12 -10 -10 -11 -12 -12 -10 -10 -12 -14 -14 -13 -10 -11 -11 -12 -11 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -10 -10 -10 -9 -8 -7 -7 -6 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -8 -9 -10 -10 -10 -10 -10 -11 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -9 -9 -9 -8 -7 -7 -6 -5 -5 -4 -3 -2 -1 -1 -1 -0 0 1 1 1 1 2 2 2 2 3 3 3 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 8 9 9 10 11 11 11 11 11 11 11 11 10 10 10 10 11 11 10 10 10 11 12 13 13 13 14 14 15 15 16 16 17 18 19 21 22 22 23 23 22 22 21 21 21 21 21 21 20 20 19 18 17 15 13 11 9 7 5 4 3 4 4 5 4 4 3 3 3 3 2 2 1 -1 -3 -6 -8 -11 -15 -16 -8 -3 -2 -4 -7 -15 -19 -23 -24 -24 -23 -22 -20 -19 -18 -19 -20 -21 -21 -20 -17 -15 -12 -10 -9 -9 -10 -12 -15 -15 -13 -12 -10 -10 -10 -8 -5 -1 4 -5 -4 -4 -2 -1 -0 -0 -0 0 1 2 4 5 6 7 9 11 12 12 9 7 7 7 6 6 6 5 3 3 2 1 -1 -3 -4 -6 -8 -10 -12 -13 -13 -12 -12 -12 -13 -13 -10 8 20 13 6 4 2 -4 -7 -7 -7 -8 -9 -11 -12 -12 -12 -11 -10 -7 -5 -1 2 3 3 0 -3 -6 -9 -12 -13 -13 -14 -15 -16 -15 -14 -14 -15 -14 -12 -8 -5 -5 -6 -5 -4 -3 -3 -2 -5 -6 -4 -2 0 0 -1 -2 -3 -4 -5 -5 -5 -7 -10 -13 -14 -13 -11 -10 -10 -10 -10 -11 -11 -11 -11 -12 -14 -15 -13 -12 -11 -11 -12 -13 -14 -15 -14 -12 -10 -9 -10 -11 -11 -9 -8 -9 -12 -12 -12 -10 -9 -10 -11 -11 -10 -9 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -9 -10 -9 -9 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -7 -8 -8 -9 -9 -9 -10 -11 -11 -12 -13 -13 -12 -12 -12 -11 -11 -11 -10 -10 -9 -9 -9 -9 -9 -8 -8 -7 -6 -6 -5 -4 -3 -2 -2 -1 -0 -0 0 1 1 1 2 2 2 2 2 3 3 3 3 4 4 4 4 4 5 5 6 6 6 7 7 7 7 7 7 7 8 8 8 9 10 10 11 12 13 13 13 13 13 13 13 12 12 12 12 12 11 10 10 10 11 12 13 14 14 15 16 17 17 17 17 17 18 18 19 20 21 21 21 21 21 22 22 23 23 23 22 21 19 18 17 16 15 14 13 12 10 9 8 7 8 8 8 8 7 6 5 4 3 2 1 -0 -3 -5 -7 -9 -12 -15 -24 -16 -9 -5 -3 -4 -6 -13 -20 -25 -27 -26 -24 -22 -20 -18 -18 -19 -20 -20 -19 -17 -15 -13 -12 -11 -11 -10 -11 -12 -13 -13 -12 -12 -11 -10 -8 -5 -3 -0 -3 -2 -1 0 2 2 3 3 4 4 5 6 7 8 9 10 12 13 12 10 8 8 8 8 8 7 6 4 4 4 3 1 -0 -2 -3 -5 -8 -10 -12 -12 -12 -11 -10 -11 -11 -12 -12 16 30 34 32 24 4 -5 -6 -5 -5 -6 -8 -10 -12 -13 -13 -12 -10 -8 -4 -0 2 3 1 -3 -6 -8 -10 -11 -13 -14 -15 -14 -14 -14 -16 -16 -15 -12 -7 -4 -6 -9 -7 -4 -1 -1 -3 -6 -5 -2 1 1 -0 -2 -3 -4 -4 -4 -4 -5 -8 -12 -15 -14 -12 -10 -10 -10 -10 -11 -12 -11 -11 -11 -13 -14 -13 -11 -10 -10 -11 -11 -12 -14 -13 -11 -9 -7 -8 -10 -10 -9 -7 -7 -9 -10 -10 -8 -7 -8 -10 -10 -9 -8 -8 -8 -9 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -7 -6 -5 -5 -4 -4 -4 -4 -5 -5 -6 -7 -8 -8 -9 -9 -10 -10 -11 -12 -12 -13 -12 -12 -12 -11 -11 -10 -10 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -6 -5 -4 -3 -2 -2 -1 -1 -0 0 1 1 1 2 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 6 7 7 8 8 8 9 9 9 9 9 10 10 10 11 12 13 14 15 15 15 15 15 15 15 15 15 15 14 13 12 12 12 13 13 14 15 16 17 18 19 19 18 17 17 17 17 17 17 17 18 18 19 20 22 23 25 26 26 25 23 21 19 18 17 16 16 16 15 14 14 13 12 12 12 11 11 10 9 7 6 4 2 1 -2 -4 -6 -8 -10 -11 -12 -18 -19 -14 -6 -4 -3 -3 -7 -13 -21 -27 -28 -26 -24 -21 -19 -18 -19 -19 -19 -18 -16 -14 -13 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -10 -9 -8 -7 -5 -1 0 2 3 4 4 5 5 6 6 7 7 8 8 8 9 11 12 11 9 8 7 7 7 6 5 4 4 4 4 4 3 1 -0 -1 -3 -5 -7 -9 -10 -10 -10 -10 -10 -11 -11 -13 -13 12 30 36 37 33 24 9 -2 -4 -2 -3 -5 -8 -10 -12 -13 -13 -12 -9 -6 -2 1 2 -1 -4 -6 -8 -9 -10 -11 -11 -11 -12 -13 -16 -16 -15 -12 -10 -9 -9 -8 -5 -2 -1 -4 -6 -6 -3 -0 1 -0 -2 -3 -4 -4 -4 -4 -4 -6 -10 -13 -14 -12 -10 -9 -9 -10 -10 -11 -11 -11 -11 -12 -13 -13 -11 -10 -9 -9 -9 -11 -12 -12 -10 -7 -6 -6 -8 -8 -8 -6 -5 -6 -9 -9 -7 -6 -6 -8 -9 -8 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -6 -5 -4 -4 -3 -4 -5 -5 -6 -7 -8 -8 -9 -9 -10 -11 -11 -11 -12 -12 -12 -12 -12 -11 -11 -10 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -5 -4 -3 -2 -1 -1 -1 -0 0 0 1 1 1 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 5 5 6 6 7 8 8 9 9 10 10 10 10 11 11 11 12 12 13 14 15 16 17 17 17 17 17 17 18 17 17 16 15 15 15 15 15 15 16 17 18 19 19 19 18 17 17 17 16 15 14 14 14 15 17 19 21 23 24 25 26 26 26 24 22 21 19 19 18 18 18 18 18 17 17 15 14 13 12 11 11 9 8 6 4 1 -1 -3 -5 -7 -8 -9 -8 -9 -16 -17 -5 -3 -1 -1 -3 -7 -13 -23 -29 -28 -25 -22 -20 -18 -18 -18 -17 -17 -15 -14 -13 -13 -13 -14 -13 -12 -11 -9 -8 -7 -8 -10 -11 -12 -12 -11 -8 3 3 4 4 5 5 5 6 6 6 6 6 6 6 6 7 8 9 7 6 5 4 4 3 2 1 1 1 1 2 2 2 0 -1 -2 -4 -5 -5 -6 -6 -6 -7 -7 -8 -10 -12 -12 -14 -9 7 25 35 40 39 32 22 14 8 -2 -6 -8 -9 -10 -12 -14 -15 -14 -12 -8 -3 -0 0 -2 -4 -6 -7 -7 -7 -8 -8 -10 -12 -14 -14 -13 -14 -14 -14 -12 -6 -2 -1 -3 -8 -8 -4 -1 1 -0 -2 -4 -5 -5 -5 -4 -4 -4 -7 -10 -12 -12 -11 -9 -9 -9 -9 -10 -11 -11 -11 -11 -12 -12 -11 -10 -9 -8 -8 -9 -12 -11 -9 -7 -4 -4 -6 -7 -6 -4 -3 -4 -7 -8 -6 -4 -4 -6 -8 -8 -7 -6 -6 -7 -7 -8 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -6 -6 -5 -4 -4 -4 -5 -5 -6 -7 -8 -8 -9 -10 -10 -11 -11 -11 -11 -11 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -6 -5 -4 -4 -3 -2 -1 -1 -1 -0 -0 0 0 1 1 1 2 2 2 3 3 3 3 3 3 4 4 4 4 4 5 5 5 6 7 8 8 9 10 10 11 11 11 12 12 13 13 13 14 14 15 16 17 17 18 18 19 19 19 19 19 19 19 18 17 16 16 15 16 17 18 19 18 18 17 18 18 17 16 14 12 12 12 13 15 17 19 20 21 23 25 26 27 27 26 25 23 22 21 21 21 21 21 20 19 17 15 13 12 12 11 10 9 8 6 4 2 -0 -2 -4 -5 -5 -3 -0 3 6 9 2 2 2 1 -0 -4 -12 -25 -28 -26 -22 -20 -18 -17 -17 -17 -17 -15 -13 -12 -12 -12 -13 -14 -13 -12 -9 -7 -4 -4 -7 -11 -15 -16 -14 -10 4 4 4 3 3 3 4 4 5 5 4 4 4 4 4 4 5 5 3 3 2 1 0 -0 -1 -2 -2 -2 -2 -1 -1 -1 -3 -5 -7 -9 -9 -8 -7 -5 -4 -3 -4 -5 -7 -9 -11 -13 -13 -9 4 22 35 41 41 36 28 18 8 1 -5 -9 -11 -11 -14 -15 -16 -14 -12 -8 -4 -2 -1 -3 -4 -6 -6 -6 -7 -8 -9 -10 -11 -11 -12 -15 -17 -16 -11 -4 -1 -1 -4 -10 -8 -3 0 -0 -2 -5 -6 -7 -7 -6 -5 -4 -5 -7 -10 -11 -11 -10 -9 -9 -9 -10 -10 -11 -11 -11 -11 -12 -11 -10 -9 -8 -8 -9 -11 -12 -9 -6 -4 -3 -4 -6 -6 -4 -2 -3 -5 -7 -6 -4 -3 -4 -7 -8 -6 -5 -5 -6 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -4 -4 -5 -5 -6 -7 -8 -8 -9 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -10 -10 -9 -9 -8 -8 -8 -7 -7 -7 -7 -6 -6 -5 -4 -4 -3 -2 -2 -1 -1 -0 -0 -0 0 0 1 1 1 2 2 2 3 3 3 3 3 4 4 4 5 5 5 5 6 6 7 7 8 9 9 10 11 11 12 13 13 14 14 14 15 15 15 16 16 17 18 19 19 20 20 21 22 22 22 22 20 18 17 16 16 17 18 18 18 17 18 19 19 18 17 14 13 12 12 13 14 15 15 16 16 18 21 24 26 27 27 27 26 25 24 24 23 23 22 21 20 18 16 14 13 12 11 11 10 9 8 6 5 4 3 2 0 0 2 6 11 16 19 14 10 8 7 6 5 2 -14 -24 -27 -23 -20 -18 -17 -17 -17 -17 -17 -15 -12 -11 -11 -12 -13 -13 -12 -9 -6 -3 -2 -4 -9 -15 -18 -15 -12 3 2 1 0 0 0 1 1 1 1 1 1 2 2 2 2 3 3 1 1 0 0 0 -0 -1 -1 -2 -2 -2 -2 -2 -3 -4 -7 -9 -10 -12 -12 -11 -9 -7 -5 -4 -4 -4 -5 -6 -8 -10 -11 -9 2 29 37 41 41 36 28 19 11 4 -3 -9 -12 -13 -14 -15 -14 -13 -12 -9 -7 -5 -5 -5 -6 -7 -7 -8 -9 -10 -9 -9 -9 -12 -14 -15 -12 -7 -4 -3 -4 -6 -10 -6 -2 -1 -3 -6 -8 -9 -9 -8 -6 -5 -5 -6 -9 -10 -10 -10 -9 -9 -9 -10 -10 -11 -10 -10 -11 -12 -12 -11 -10 -8 -8 -9 -11 -12 -10 -6 -4 -3 -4 -5 -6 -4 -2 -2 -4 -7 -6 -4 -3 -4 -6 -8 -7 -5 -5 -5 -6 -7 -8 -8 -8 -7 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -10 -10 -9 -9 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -5 -5 -6 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -7 -7 -7 -6 -6 -5 -4 -4 -3 -2 -2 -2 -1 -1 -0 -0 -0 -0 0 0 1 1 2 2 2 3 3 3 4 4 4 5 5 6 6 6 6 7 7 8 8 9 9 10 11 12 12 13 14 14 15 15 15 16 16 16 16 17 18 18 19 20 20 21 23 24 25 25 23 21 19 18 17 17 18 18 18 18 19 20 21 20 18 16 14 14 13 13 13 12 11 11 12 14 17 20 22 24 25 26 26 26 26 26 25 24 23 22 21 19 18 16 14 13 11 11 10 10 9 9 9 8 8 7 6 6 7 10 13 16 21 21 19 16 14 13 12 9 1 -14 -28 -24 -21 -18 -16 -16 -17 -18 -18 -17 -15 -12 -10 -10 -11 -12 -11 -9 -6 -2 0 -1 -6 -11 -15 -15 -12 -1 -2 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -0 -0 0 1 1 -0 -0 -0 0 1 0 0 -0 -0 -0 -0 -0 -1 -2 -4 -6 -8 -10 -11 -12 -13 -12 -11 -9 -7 -6 -5 -3 -3 -3 -3 -4 -6 -2 15 26 32 34 33 29 23 18 13 5 -3 -10 -12 -12 -13 -13 -13 -13 -13 -12 -11 -9 -9 -9 -8 -9 -9 -10 -10 -9 -9 -10 -12 -12 -9 -6 -5 -6 -8 -9 -8 -8 -5 -5 -6 -8 -10 -11 -11 -10 -8 -6 -5 -6 -8 -10 -11 -10 -10 -9 -9 -10 -11 -11 -10 -10 -10 -11 -11 -11 -10 -9 -9 -10 -11 -12 -10 -7 -4 -3 -4 -5 -6 -4 -2 -2 -3 -6 -7 -4 -2 -3 -6 -9 -9 -6 -5 -6 -6 -7 -8 -8 -8 -7 -7 -7 -7 -8 -8 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -10 -9 -9 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -9 -9 -9 -9 -9 -8 -9 -9 -9 -9 -9 -10 -10 -10 -9 -9 -9 -8 -8 -7 -7 -7 -6 -6 -5 -5 -4 -3 -3 -2 -2 -1 -1 -1 -0 -0 -0 -0 0 1 1 1 2 2 2 2 3 3 4 5 5 6 6 6 7 7 7 8 8 8 9 9 10 10 11 12 13 13 14 15 15 16 16 16 16 17 17 17 18 18 19 20 21 23 25 26 26 25 24 22 21 20 19 19 19 20 20 21 22 22 21 19 18 17 16 15 14 12 10 8 8 9 11 13 15 17 20 22 23 25 26 26 26 26 25 24 24 23 22 21 19 17 15 13 12 11 11 12 12 12 12 11 11 10 11 12 13 14 16 19 23 24 23 21 20 18 15 9 -4 -21 -28 -23 -19 -17 -15 -16 -17 -19 -19 -18 -16 -13 -10 -10 -11 -10 -9 -7 -3 0 -0 -3 -7 -11 -13 -11 -3 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -2 -2 -1 -1 -1 -0 -0 -0 -0 0 0 1 0 -1 -2 -4 -6 -7 -8 -9 -10 -11 -12 -12 -12 -11 -10 -8 -6 -3 -1 1 2 3 4 3 11 13 12 13 17 19 18 17 12 5 -5 -10 -10 -11 -12 -13 -14 -15 -15 -15 -15 -13 -12 -11 -10 -11 -10 -10 -10 -10 -12 -11 -9 -5 -4 -7 -11 -13 -12 -10 -9 -8 -10 -12 -13 -14 -14 -13 -10 -7 -6 -5 -7 -10 -11 -11 -10 -9 -9 -10 -11 -11 -10 -9 -10 -11 -11 -11 -10 -9 -9 -10 -12 -12 -11 -7 -4 -3 -4 -5 -6 -5 -3 -2 -3 -5 -6 -5 -2 -3 -6 -9 -10 -8 -6 -6 -7 -8 -8 -8 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -8 -8 -8 -8 -7 -7 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -5 -4 -4 -3 -2 -2 -1 -1 -1 -1 -0 -0 0 1 1 1 1 1 2 2 2 3 4 5 5 6 6 7 7 7 8 8 8 9 9 9 10 10 10 11 11 12 13 14 15 15 16 16 17 17 17 18 18 18 19 20 21 23 25 26 26 26 25 25 24 23 22 21 21 21 22 22 22 22 22 21 21 20 19 17 16 14 11 10 9 9 10 11 12 13 15 17 20 22 23 25 26 26 26 27 27 26 26 25 23 21 19 16 15 14 14 15 16 16 16 14 13 13 14 15 16 16 17 20 23 26 26 26 25 23 20 16 9 -4 -28 -25 -20 -17 -15 -14 -16 -18 -20 -20 -19 -16 -13 -11 -10 -10 -9 -8 -4 -2 -1 -2 -5 -8 -9 -9 -2 -1 -1 -0 -0 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -0 -0 -1 -2 -3 -5 -6 -7 -7 -7 -8 -9 -10 -11 -11 -12 -12 -12 -11 -9 -5 -1 2 4 4 3 -0 -6 -13 -13 -3 6 16 19 18 12 2 -8 -10 -11 -12 -13 -14 -15 -15 -16 -16 -16 -14 -12 -11 -11 -11 -11 -11 -13 -13 -11 -8 -6 -7 -11 -13 -12 -11 -11 -13 -14 -15 -16 -16 -15 -14 -11 -8 -6 -5 -7 -9 -11 -11 -10 -9 -8 -9 -10 -11 -10 -9 -9 -10 -11 -10 -10 -9 -9 -10 -12 -12 -11 -8 -5 -4 -5 -6 -6 -6 -4 -3 -3 -5 -6 -5 -3 -2 -5 -8 -10 -8 -6 -6 -7 -8 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -5 -5 -5 -4 -3 -3 -2 -1 -1 -1 -0 0 1 1 1 2 2 2 1 2 2 3 3 4 5 6 6 7 7 8 8 8 9 9 9 9 9 10 10 10 10 11 12 12 13 14 15 16 16 17 17 18 18 18 19 20 21 22 24 25 25 26 26 26 26 25 25 24 23 23 23 22 22 22 22 23 23 23 22 20 19 17 16 15 13 12 11 10 10 11 12 14 16 18 20 22 23 25 26 28 29 29 29 28 27 25 24 21 20 18 18 19 20 20 19 17 15 15 16 17 18 18 19 21 24 26 28 28 28 26 24 21 17 13 -5 -18 -21 -17 -15 -13 -14 -16 -18 -20 -20 -19 -16 -13 -11 -10 -10 -9 -7 -5 -5 -5 -6 -7 -7 -7 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -5 -6 -7 -8 -8 -8 -8 -7 -8 -8 -9 -10 -11 -12 -13 -13 -12 -9 -5 -2 -0 0 -0 -2 -6 -11 -16 -16 12 21 21 17 8 -5 -10 -12 -13 -13 -14 -14 -14 -14 -14 -14 -14 -12 -11 -11 -11 -12 -13 -14 -13 -10 -9 -10 -12 -13 -13 -11 -10 -13 -18 -18 -17 -15 -14 -13 -11 -8 -6 -5 -6 -9 -11 -12 -10 -8 -7 -8 -9 -10 -9 -8 -7 -9 -10 -10 -9 -9 -9 -10 -12 -12 -10 -8 -5 -4 -5 -7 -7 -7 -5 -3 -3 -5 -6 -6 -3 -1 -3 -8 -10 -9 -6 -5 -6 -8 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -4 -3 -2 -1 -1 -0 1 1 2 2 2 2 2 2 2 2 2 3 4 4 5 6 6 7 8 8 9 9 9 9 9 9 9 9 9 10 10 11 11 12 13 14 15 15 16 17 17 18 18 19 20 21 22 23 24 24 25 25 26 26 26 26 26 25 24 24 23 23 23 23 24 25 25 24 23 22 22 21 20 18 16 14 12 11 10 11 12 13 15 17 19 21 23 25 27 28 29 29 29 29 29 28 27 25 24 23 23 23 22 21 20 18 18 18 18 19 20 21 23 26 27 29 29 29 27 26 24 22 21 19 -1 -15 -17 -14 -12 -12 -12 -14 -16 -18 -19 -17 -15 -13 -11 -11 -11 -10 -10 -10 -9 -7 -6 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -5 -6 -6 -5 -5 -5 -4 -4 -4 -4 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -4 -5 -6 -8 -9 -9 -10 -9 -9 -8 -7 -6 -7 -7 -8 -9 -11 -13 -14 -14 -13 -11 -9 -7 -5 -4 -5 -7 -10 -11 -2 12 16 13 8 -2 -9 -12 -14 -14 -14 -14 -14 -14 -13 -13 -13 -13 -13 -12 -12 -12 -13 -13 -12 -11 -12 -13 -13 -12 -12 -12 -14 -16 -19 -18 -16 -14 -12 -10 -8 -6 -5 -6 -8 -10 -11 -10 -7 -6 -6 -8 -10 -9 -7 -6 -7 -9 -10 -9 -9 -9 -10 -12 -12 -10 -8 -6 -5 -6 -8 -9 -8 -6 -4 -4 -5 -7 -7 -4 -2 -2 -7 -10 -8 -6 -4 -5 -7 -8 -8 -8 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -7 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -1 0 1 2 2 3 3 3 3 2 2 2 2 3 3 4 4 5 6 7 7 8 9 9 9 9 9 9 9 9 9 9 9 10 10 11 12 12 13 14 15 16 17 17 18 19 19 20 21 22 23 24 24 25 25 26 26 26 26 26 26 25 25 25 25 25 26 26 26 25 25 25 25 24 23 22 20 17 15 13 12 11 11 11 13 14 16 18 20 23 25 26 27 28 29 30 31 31 31 30 28 27 27 26 25 24 23 22 21 20 20 21 21 23 25 27 28 29 29 28 28 26 25 24 23 25 12 -3 -14 -14 -12 -10 -9 -10 -11 -14 -16 -16 -16 -14 -13 -13 -14 -15 -15 -15 -12 -9 -6 -3 -2 -3 -3 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -3 -3 -4 -4 -4 -3 -3 -3 -3 -3 -4 -5 -6 -7 -9 -10 -10 -11 -11 -11 -10 -9 -8 -7 -6 -6 -6 -7 -8 -11 -12 -13 -13 -12 -11 -10 -9 -8 -8 -9 -10 -10 -11 -10 -5 -2 -6 -9 -12 -13 -14 -15 -15 -15 -15 -15 -15 -15 -15 -15 -14 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -13 -15 -17 -18 -17 -15 -13 -11 -8 -6 -5 -5 -7 -9 -10 -9 -7 -5 -5 -6 -9 -9 -8 -6 -6 -8 -9 -9 -9 -9 -11 -12 -12 -11 -8 -7 -6 -7 -9 -10 -9 -7 -5 -4 -5 -7 -8 -6 -3 -2 -6 -10 -9 -6 -3 -4 -6 -7 -7 -6 -6 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -1 -0 1 2 3 3 4 4 4 3 3 3 3 3 3 4 4 5 6 6 7 8 8 9 9 9 9 9 8 8 8 9 9 9 10 10 11 11 12 13 14 15 15 16 17 18 19 20 20 21 22 23 24 24 25 25 26 26 26 27 27 27 27 27 27 27 27 27 27 26 26 26 25 25 24 23 21 20 18 16 14 12 11 10 11 12 13 15 17 19 21 23 24 25 27 28 30 31 31 31 31 30 29 28 27 26 26 25 25 24 23 23 23 24 26 27 28 28 28 27 27 26 25 24 23 23 20 8 -11 -13 -11 -9 -8 -7 -7 -9 -11 -13 -15 -15 -15 -16 -17 -18 -19 -18 -15 -11 -7 -3 -1 -3 -2 -2 -2 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -5 -6 -7 -8 -9 -10 -10 -11 -11 -11 -11 -11 -10 -9 -8 -6 -5 -5 -5 -7 -9 -10 -11 -12 -13 -12 -11 -11 -10 -10 -11 -13 -16 -17 -15 -13 -11 -11 -11 -12 -13 -14 -15 -16 -16 -16 -17 -19 -20 -18 -16 -14 -14 -14 -13 -13 -12 -11 -11 -11 -13 -15 -15 -15 -16 -18 -17 -15 -13 -10 -7 -4 -4 -6 -8 -9 -9 -7 -4 -4 -5 -7 -8 -8 -6 -6 -7 -9 -9 -9 -10 -11 -12 -13 -11 -9 -7 -7 -7 -9 -11 -10 -8 -6 -5 -5 -7 -9 -7 -4 -3 -5 -9 -9 -7 -4 -4 -5 -6 -6 -5 -5 -5 -5 -6 -7 -8 -8 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -3 -2 -1 1 2 3 4 4 5 5 4 4 4 4 4 4 4 5 5 6 6 7 7 8 9 9 9 8 8 8 8 8 8 8 9 9 10 10 11 12 12 13 14 14 15 16 16 17 18 19 20 21 22 23 24 24 25 25 25 26 26 27 27 27 28 28 28 28 28 27 27 26 25 25 24 24 23 22 21 20 18 16 14 12 11 10 10 11 12 14 16 18 19 21 22 24 25 27 28 29 30 31 30 30 29 28 28 28 28 27 27 26 25 24 25 25 26 26 26 26 26 26 25 24 23 22 22 22 15 -5 -10 -10 -8 -7 -6 -5 -6 -8 -10 -12 -15 -17 -18 -19 -20 -20 -19 -17 -14 -9 -5 -1 -3 -2 -1 -1 -2 -2 -3 -3 -3 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -5 -6 -6 -7 -8 -9 -10 -10 -10 -10 -11 -11 -11 -11 -11 -10 -9 -7 -6 -5 -5 -6 -7 -8 -9 -11 -12 -12 -12 -12 -12 -13 -14 -16 -17 -16 -15 -13 -12 -11 -12 -12 -13 -14 -16 -16 -17 -18 -20 -22 -20 -16 -15 -14 -15 -15 -14 -12 -11 -11 -12 -14 -16 -15 -15 -16 -18 -17 -15 -12 -8 -5 -3 -4 -6 -8 -8 -7 -4 -3 -4 -6 -7 -7 -6 -6 -7 -8 -9 -9 -9 -11 -13 -13 -12 -10 -8 -7 -7 -9 -10 -10 -8 -6 -5 -6 -8 -9 -8 -6 -4 -5 -7 -9 -8 -6 -5 -6 -7 -7 -5 -4 -4 -4 -5 -6 -7 -7 -7 -6 -6 -6 -7 -7 -7 -8 -9 -9 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -3 -2 -2 -1 -1 -0 -0 -0 -0 -1 -1 -1 -2 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -1 1 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 7 7 8 8 9 9 8 8 8 8 8 8 8 8 9 9 10 10 11 12 12 13 13 14 14 15 16 17 18 19 20 21 22 23 24 24 25 25 25 26 26 26 27 28 28 29 29 29 28 28 26 25 24 23 23 22 22 21 20 19 18 16 14 12 11 10 10 10 11 12 14 16 18 19 21 22 23 24 26 27 29 30 30 30 30 29 29 29 29 28 27 26 25 25 25 25 24 24 23 24 24 25 24 23 22 21 21 19 7 -3 -6 -6 -6 -5 -5 -5 -6 -7 -10 -13 -16 -18 -19 -19 -20 -20 -19 -16 -12 -7 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -6 -6 -7 -7 -8 -9 -10 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -11 -10 -8 -7 -6 -6 -5 -5 -6 -7 -9 -10 -11 -12 -12 -13 -14 -16 -16 -15 -14 -13 -12 -12 -12 -12 -12 -13 -14 -15 -16 -17 -19 -19 -18 -16 -15 -15 -15 -15 -14 -12 -12 -12 -13 -14 -15 -15 -15 -16 -18 -16 -13 -9 -5 -2 -2 -4 -6 -7 -6 -5 -3 -3 -4 -6 -6 -5 -5 -6 -8 -9 -9 -9 -10 -12 -13 -12 -11 -9 -7 -7 -8 -9 -10 -9 -7 -6 -7 -8 -9 -9 -7 -5 -5 -6 -8 -8 -7 -7 -7 -8 -8 -7 -5 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -7 -7 -6 -6 -7 -7 -6 -6 -6 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -0 0 1 1 1 1 0 0 -0 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -0 1 2 3 4 5 5 6 6 6 6 6 6 6 6 6 6 6 7 7 7 8 8 9 9 9 8 8 8 8 8 8 8 8 9 9 10 10 11 11 12 12 13 13 13 14 15 16 17 18 19 20 22 23 24 24 25 25 25 25 26 26 27 28 28 29 30 30 29 28 26 25 23 22 22 21 20 20 19 18 17 16 14 12 11 11 11 11 11 12 13 15 16 18 19 20 22 23 24 26 28 29 30 30 30 30 30 30 29 28 27 26 25 24 24 24 23 23 23 23 24 25 25 23 22 21 21 19 8 1 -3 -4 -4 -4 -4 -4 -5 -7 -10 -14 -17 -18 -18 -18 -19 -19 -17 -13 -8 -3 1 -2 -5 -7 -8 -8 -8 -8 -7 -7 -6 -6 -5 -6 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -12 -11 -9 -7 -6 -5 -4 -4 -5 -6 -7 -8 -10 -11 -12 -14 -15 -16 -16 -15 -13 -13 -12 -12 -12 -12 -12 -12 -13 -14 -14 -15 -15 -15 -14 -14 -14 -15 -14 -13 -13 -13 -14 -14 -14 -15 -16 -17 -18 -17 -14 -10 -6 -2 -1 -2 -5 -6 -6 -5 -3 -1 -3 -4 -5 -4 -4 -5 -6 -7 -8 -8 -9 -11 -12 -12 -10 -9 -8 -7 -7 -8 -8 -8 -7 -7 -7 -8 -9 -9 -8 -6 -5 -6 -7 -8 -8 -7 -8 -8 -8 -8 -6 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -6 -6 -5 -5 -5 -5 -6 -6 -5 -5 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 0 1 1 2 2 2 2 1 1 1 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 1 1 2 3 4 5 6 6 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 9 9 9 9 9 8 8 8 8 8 8 9 9 9 10 10 10 11 11 12 12 12 13 14 15 16 17 18 19 20 21 23 24 24 25 25 25 26 26 26 27 28 29 30 30 30 30 28 27 25 24 22 21 21 20 19 18 17 16 15 14 13 12 12 12 12 11 12 12 14 16 17 19 20 21 23 25 26 28 29 30 30 30 30 30 30 30 29 27 26 26 25 25 24 24 24 24 25 26 26 25 24 23 23 23 17 9 3 -0 -2 -2 -2 -2 -3 -5 -8 -11 -14 -15 -15 -16 -16 -16 -14 -11 -6 -1 -2 -6 -8 -10 -11 -11 -11 -11 -10 -9 -8 -7 -7 -7 -7 -8 -8 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -12 -13 -13 -11 -9 -7 -6 -5 -4 -4 -4 -5 -5 -6 -8 -10 -12 -13 -15 -16 -16 -15 -14 -13 -12 -12 -12 -13 -12 -12 -11 -11 -12 -13 -14 -14 -14 -14 -14 -13 -12 -13 -14 -14 -14 -14 -15 -18 -19 -19 -15 -11 -6 -2 -0 -1 -4 -6 -6 -4 -2 -1 -1 -2 -3 -3 -2 -3 -5 -6 -6 -6 -7 -9 -10 -10 -9 -8 -7 -6 -6 -6 -7 -7 -7 -7 -7 -8 -9 -9 -8 -6 -6 -6 -7 -7 -7 -7 -8 -8 -8 -7 -7 -6 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -4 -5 -5 -5 -4 -4 -5 -5 -5 -5 -4 -4 -5 -5 -6 -6 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -4 -3 -3 -2 -2 -1 0 1 2 2 3 3 3 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 1 1 1 0 1 1 1 1 1 1 2 2 2 3 3 4 5 6 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 11 11 12 12 13 14 15 16 17 17 18 20 21 23 24 25 25 25 26 26 26 27 27 28 29 30 31 31 30 29 28 26 25 23 22 21 20 19 18 17 16 15 14 13 13 12 12 12 12 12 13 14 16 18 19 20 22 23 25 27 28 29 29 29 30 31 31 31 30 30 29 28 28 28 28 27 27 26 26 26 27 26 26 25 25 24 21 16 10 6 4 2 1 -0 -1 -2 -4 -6 -9 -10 -11 -11 -12 -11 -9 -6 -1 2 -5 -7 -9 -10 -11 -11 -11 -11 -11 -10 -9 -9 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -10 -10 -11 -12 -13 -14 -13 -12 -10 -8 -7 -6 -6 -5 -4 -4 -3 -4 -6 -8 -11 -13 -15 -16 -17 -16 -14 -13 -12 -12 -13 -12 -12 -11 -10 -10 -11 -12 -13 -14 -14 -13 -13 -12 -13 -13 -14 -14 -14 -15 -17 -18 -17 -12 -7 -3 -1 -1 -4 -6 -6 -5 -2 0 1 -0 -1 -1 -1 -1 -3 -5 -5 -5 -5 -6 -8 -8 -8 -7 -6 -5 -4 -5 -5 -6 -6 -6 -7 -8 -8 -8 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -4 -5 -4 -3 -3 -3 -4 -4 -4 -3 -3 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 0 1 2 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 3 3 3 4 3 3 3 2 2 2 2 2 2 3 3 3 3 4 4 4 5 6 7 8 8 9 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 10 10 11 11 12 13 14 15 16 17 18 19 20 21 23 24 25 25 26 26 26 27 27 28 29 29 30 31 31 31 30 29 28 26 25 23 22 21 20 19 18 16 15 14 13 13 12 13 13 13 14 14 16 17 18 20 21 22 23 25 26 26 27 28 30 31 31 32 32 31 31 31 31 31 31 31 30 29 28 28 27 27 26 26 25 24 22 19 16 13 11 8 6 4 3 3 3 1 -0 -2 -4 -5 -6 -5 -3 0 3 3 -0 -3 -5 -6 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -10 -10 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -9 -9 -9 -10 -10 -11 -12 -14 -14 -15 -14 -12 -11 -10 -9 -9 -7 -6 -4 -3 -3 -5 -7 -10 -12 -14 -16 -17 -17 -16 -15 -14 -14 -13 -12 -12 -11 -10 -9 -10 -11 -12 -12 -13 -13 -13 -13 -13 -14 -14 -14 -15 -18 -19 -18 -12 -6 -3 -3 -4 -6 -7 -5 -2 0 2 1 0 0 1 -0 -2 -4 -4 -4 -4 -4 -5 -6 -6 -5 -5 -4 -3 -3 -3 -4 -4 -5 -6 -6 -7 -7 -6 -6 -5 -5 -5 -5 -6 -6 -6 -7 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -4 -4 -5 -5 -5 -6 -6 -6 -7 -6 -6 -5 -4 -3 -3 -4 -5 -4 -3 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 0 2 3 3 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 4 4 4 5 5 5 4 4 3 3 3 3 4 4 4 4 4 5 5 6 6 7 8 10 11 12 11 10 10 10 11 11 10 10 10 10 10 10 10 10 10 10 10 9 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 8 9 9 9 10 11 12 13 14 15 16 16 17 18 19 20 21 23 24 25 25 26 27 27 27 28 28 28 29 30 31 31 31 31 30 28 27 26 25 24 23 21 20 19 17 15 14 13 13 13 13 13 14 15 15 16 17 18 19 20 20 21 22 23 24 26 28 29 31 31 32 32 32 32 33 34 34 34 33 32 30 29 28 27 26 26 25 24 23 21 20 18 16 14 11 9 9 9 10 9 8 6 4 2 1 1 3 4 5 2 9 5 2 0 -1 -2 -3 -4 -4 -4 -5 -6 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -12 -12 -11 -12 -12 -12 -12 -12 -11 -11 -10 -10 -9 -9 -9 -9 -10 -10 -11 -12 -13 -14 -16 -16 -16 -15 -14 -13 -12 -12 -11 -9 -7 -5 -4 -5 -7 -9 -11 -13 -15 -17 -18 -19 -18 -17 -15 -14 -13 -12 -11 -10 -9 -9 -9 -10 -11 -12 -12 -13 -13 -13 -13 -13 -14 -16 -18 -18 -12 -7 -5 -6 -7 -8 -6 -3 -0 1 2 1 1 1 1 -0 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -2 -1 -1 -2 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -6 -6 -7 -7 -6 -6 -5 -4 -3 -4 -5 -5 -3 -2 -2 -2 -2 -3 -3 -2 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -0 0 1 2 3 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 6 6 6 5 5 4 4 5 5 6 6 6 5 5 5 6 7 7 8 9 11 13 15 14 13 12 12 12 12 12 11 11 11 11 11 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 10 10 10 10 9 9 9 9 9 9 10 10 11 12 13 14 15 16 17 17 18 19 20 21 22 24 24 25 26 27 27 27 27 27 28 28 29 30 31 31 31 30 29 28 27 26 25 24 23 21 20 18 17 15 15 14 14 14 14 14 15 15 16 16 16 17 17 17 17 18 19 21 24 26 28 29 31 31 32 33 34 35 35 35 34 32 31 29 28 27 26 26 25 25 24 23 23 22 21 19 16 15 14 15 16 16 15 14 12 9 7 5 5 6 5 2 18 11 7 5 3 2 2 1 1 1 -1 -2 -3 -5 -6 -7 -8 -8 -8 -8 -8 -9 -10 -10 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -10 -10 -10 -10 -10 -10 -11 -12 -13 -15 -16 -17 -16 -15 -15 -14 -14 -13 -13 -12 -10 -8 -7 -6 -7 -8 -10 -12 -15 -17 -20 -22 -22 -20 -17 -16 -15 -13 -11 -11 -10 -9 -9 -9 -10 -11 -12 -13 -13 -13 -12 -13 -15 -17 -16 -12 -8 -8 -8 -8 -7 -4 -1 0 1 1 0 1 1 0 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -1 -0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -4 -3 -4 -5 -5 -4 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 0 1 1 2 3 3 4 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 6 7 7 7 7 6 5 5 6 7 8 9 8 6 5 5 5 7 8 8 10 12 15 17 17 16 14 14 14 14 14 13 12 12 11 11 11 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 10 10 10 9 9 9 10 10 10 11 12 12 13 14 15 16 17 18 18 19 20 21 22 23 24 25 25 26 26 26 27 27 27 28 29 29 30 30 30 30 29 28 27 26 25 24 24 22 21 20 19 18 16 15 15 15 14 14 14 14 15 15 14 14 14 13 13 14 16 18 21 24 26 28 30 31 32 33 34 34 33 33 32 30 29 28 26 26 25 25 25 25 25 25 25 23 22 20 19 19 20 21 21 20 19 17 14 10 8 7 7 6 3 18 10 5 3 3 2 2 3 4 3 2 0 -1 -2 -4 -5 -6 -7 -7 -7 -7 -8 -9 -10 -10 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -11 -12 -14 -15 -16 -16 -16 -15 -15 -15 -15 -15 -14 -13 -12 -10 -8 -7 -7 -8 -9 -11 -14 -17 -21 -24 -23 -21 -19 -17 -15 -13 -13 -12 -11 -10 -9 -9 -10 -11 -12 -13 -13 -12 -13 -15 -16 -15 -12 -9 -9 -9 -7 -5 -3 -1 -1 -1 -1 -1 0 -0 -1 -2 -2 -2 -2 -2 -1 -2 -2 -2 -2 -1 -0 0 0 -1 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -3 -3 -3 -3 -3 -4 -5 -5 -6 -6 -6 -4 -3 -3 -4 -5 -5 -4 -3 -2 -2 -3 -3 -4 -4 -3 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 0 1 1 2 2 3 3 4 4 5 5 6 6 6 6 7 7 7 6 6 6 6 6 5 5 6 6 7 7 7 7 6 6 6 6 8 9 10 10 8 6 5 5 6 8 9 10 12 15 17 19 18 16 15 15 15 15 14 13 12 12 12 11 11 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 11 11 11 11 11 11 12 12 13 14 15 16 16 17 18 19 19 20 21 22 23 23 24 24 25 25 25 26 26 27 28 28 29 29 30 30 29 29 28 27 26 25 24 24 23 22 21 20 19 18 17 16 15 14 14 14 13 13 13 12 12 11 11 11 12 14 17 19 22 24 26 28 30 31 32 32 32 31 31 30 29 28 27 26 25 25 25 26 26 26 25 24 23 23 22 22 23 23 23 23 22 19 16 13 10 9 9 9 7 7 -0 -3 -4 -4 -4 -3 -1 -0 0 -0 -1 -2 -2 -3 -3 -4 -5 -5 -6 -6 -7 -8 -9 -9 -10 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -11 -11 -13 -14 -16 -16 -16 -15 -15 -15 -15 -15 -15 -15 -14 -13 -12 -10 -9 -8 -8 -9 -11 -13 -17 -22 -24 -23 -22 -19 -17 -15 -14 -14 -13 -13 -12 -12 -11 -11 -12 -13 -14 -14 -14 -16 -16 -15 -11 -10 -9 -8 -6 -4 -2 -2 -2 -3 -2 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -1 -0 0 1 0 -1 -2 -3 -2 -2 -1 -1 -1 -1 -1 -1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -2 -2 -2 -2 -1 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -4 -2 -0 -2 -4 -5 -4 -3 -3 -3 -3 -3 -4 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -0 0 1 1 2 2 3 3 3 4 4 4 5 5 5 5 6 7 7 7 7 7 6 6 6 7 6 6 6 6 7 7 7 7 6 6 6 7 10 11 12 10 7 5 5 6 8 9 10 12 14 17 19 19 17 15 15 16 15 15 13 13 12 12 11 11 10 10 10 10 10 10 10 11 11 11 11 11 11 12 12 12 12 12 11 11 11 11 11 11 12 12 12 12 12 12 12 12 13 13 14 14 15 16 17 17 18 19 19 20 21 21 22 22 23 23 23 24 25 25 26 27 27 28 28 29 29 29 29 28 27 26 25 24 24 23 22 21 21 20 19 18 17 17 16 15 14 14 13 12 12 11 10 9 9 10 11 14 16 18 21 23 24 26 27 29 30 30 31 31 30 30 29 28 27 26 26 26 26 26 25 25 24 23 22 22 22 22 22 22 21 20 17 15 13 12 12 12 12 12 -9 -11 -11 -11 -11 -11 -10 -8 -7 -6 -6 -5 -5 -4 -4 -4 -4 -4 -5 -6 -6 -6 -7 -8 -9 -9 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -12 -13 -15 -15 -16 -16 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -12 -11 -10 -9 -10 -11 -13 -17 -21 -23 -23 -21 -18 -15 -15 -14 -15 -15 -16 -16 -15 -14 -13 -13 -14 -15 -15 -16 -16 -15 -11 -9 -8 -7 -5 -4 -4 -4 -4 -3 -2 -1 -2 -2 -3 -3 -2 -2 -1 -0 -0 -1 -1 -1 -1 0 1 1 -0 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 0 0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -3 -3 -1 2 1 -2 -4 -4 -2 -2 -2 -2 -3 -4 -5 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -2 -2 -1 -1 -0 0 0 0 0 1 1 2 2 3 3 4 4 4 4 4 4 4 4 5 5 6 7 7 8 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 8 11 12 11 9 6 5 6 8 10 12 12 14 17 19 19 18 16 15 16 16 15 14 13 12 12 12 11 11 10 10 10 10 10 10 10 11 11 11 11 11 12 12 12 12 12 12 11 11 10 10 11 12 13 13 14 14 14 14 13 13 13 14 14 15 15 16 16 17 18 18 19 20 20 20 21 21 22 22 22 23 23 24 25 26 26 27 27 28 28 28 28 28 27 27 26 25 24 23 22 21 20 19 19 19 18 18 17 16 15 15 14 13 12 11 10 9 9 9 10 12 14 16 17 19 21 22 24 26 27 29 30 31 31 31 31 30 29 28 28 27 27 26 24 23 22 21 20 20 19 19 18 18 17 16 14 13 13 13 14 15 15 15 -12 -11 -11 -11 -11 -11 -11 -11 -10 -9 -9 -8 -7 -6 -6 -5 -5 -5 -6 -6 -7 -7 -7 -8 -8 -9 -9 -9 -10 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -12 -12 -13 -14 -15 -16 -16 -17 -16 -16 -15 -15 -14 -14 -13 -13 -13 -13 -12 -12 -11 -11 -11 -12 -14 -16 -19 -21 -21 -18 -15 -14 -14 -14 -15 -17 -18 -18 -16 -13 -12 -13 -14 -15 -16 -16 -15 -11 -9 -8 -7 -5 -4 -4 -4 -3 -2 -1 -1 -2 -3 -3 -2 -2 -1 -1 -0 -0 -1 -1 -1 0 1 1 1 -1 -2 -2 -1 -0 -0 -0 -0 -0 0 0 1 1 0 0 -0 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -0 -0 0 0 1 1 0 -0 -1 -2 -2 0 3 3 1 -2 -3 -2 -1 -1 -0 -1 -3 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -1 -0 1 1 1 1 1 1 2 2 3 3 4 4 4 4 4 4 4 4 4 4 4 5 6 7 8 8 7 7 7 8 8 8 8 7 7 7 7 7 7 6 6 6 7 9 11 12 10 8 6 7 9 12 13 14 15 16 18 19 18 17 16 16 16 16 15 14 13 13 12 12 11 11 10 10 10 10 10 10 11 11 11 11 12 12 12 12 12 12 12 12 11 10 10 11 12 13 14 15 15 15 15 15 14 14 14 14 15 15 15 16 16 17 17 18 19 19 20 20 20 21 21 21 22 22 23 23 24 24 25 26 26 27 27 27 28 28 28 27 27 26 24 23 22 21 20 19 18 18 18 18 18 17 17 16 15 15 14 13 12 11 10 10 10 11 12 14 15 16 18 19 21 23 25 27 29 30 31 31 31 31 31 30 29 28 27 25 23 21 20 18 17 17 16 15 14 14 13 12 11 12 12 13 14 15 15 15 -10 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -8 -8 -7 -7 -7 -6 -6 -7 -7 -7 -8 -8 -8 -8 -9 -9 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -13 -13 -14 -15 -16 -16 -16 -15 -14 -14 -14 -13 -12 -12 -12 -12 -12 -13 -12 -12 -12 -12 -12 -13 -15 -17 -18 -17 -15 -14 -13 -14 -15 -17 -17 -15 -13 -12 -12 -12 -12 -11 -12 -13 -13 -12 -11 -9 -7 -5 -4 -4 -2 -1 -0 -0 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 1 2 1 0 -1 -1 -0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 -0 -0 -1 -1 -2 -2 -2 -2 -1 -1 -1 -0 -0 0 1 1 1 1 1 0 -1 -1 0 3 5 3 -0 -2 -2 -0 1 2 1 -1 -4 -6 -6 -6 -6 -6 -7 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 0 1 2 2 2 2 2 3 3 3 3 4 4 4 5 5 5 5 5 4 4 4 4 5 6 7 7 8 7 8 9 9 9 9 8 8 8 8 8 8 7 7 7 7 8 10 11 11 10 8 8 10 13 15 16 16 16 17 17 17 16 16 15 16 16 15 15 14 14 14 13 12 12 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 11 11 11 12 13 14 15 16 16 15 15 15 15 15 15 15 15 15 16 16 16 17 17 18 18 19 19 19 20 20 21 21 22 22 22 23 23 23 24 24 25 26 26 26 27 27 27 27 27 26 25 24 23 21 20 18 18 17 17 17 17 17 17 17 16 16 15 14 14 13 12 12 11 11 12 12 13 15 15 17 18 20 22 24 26 28 29 30 31 31 31 30 29 28 27 25 23 21 19 17 16 15 14 13 12 11 11 10 10 10 11 12 13 14 14 13 -7 -7 -7 -7 -7 -7 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -14 -15 -15 -15 -15 -14 -13 -12 -12 -12 -12 -12 -12 -12 -12 -13 -13 -12 -12 -12 -12 -13 -14 -15 -15 -15 -14 -14 -14 -15 -16 -17 -16 -15 -15 -16 -16 -14 -12 -10 -10 -10 -11 -11 -9 -6 -4 -3 -2 -1 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -0 -1 -1 -1 -0 1 2 2 1 1 0 1 1 1 1 1 1 1 2 2 2 2 2 1 1 1 0 -0 -0 -0 -1 -2 -2 -2 -1 -1 -0 -0 -0 0 1 1 1 2 1 1 -0 -1 0 2 4 4 1 -2 -2 -1 1 3 3 1 -2 -5 -6 -5 -5 -6 -7 -8 -8 -9 -9 -9 -9 -8 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -2 -1 0 1 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 4 4 4 4 5 6 7 8 9 10 10 11 10 9 9 9 9 9 9 9 8 8 7 8 9 10 11 11 10 9 11 14 16 17 17 17 17 16 16 15 15 14 14 15 15 15 15 15 15 15 15 14 13 13 12 12 12 11 11 11 12 12 12 12 12 12 12 13 13 13 13 12 12 11 12 13 14 15 16 16 16 16 15 15 15 15 15 15 15 16 16 16 17 17 17 18 18 19 19 19 19 20 20 21 21 22 22 22 22 23 23 23 24 25 25 26 26 26 27 27 27 27 26 25 24 22 21 19 18 17 17 16 16 16 16 16 15 15 15 14 14 14 14 13 12 11 11 11 12 13 14 14 15 17 19 21 23 24 26 27 28 29 29 29 28 27 26 25 23 22 20 18 17 15 14 13 12 11 11 11 11 11 11 11 12 13 13 12 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -14 -15 -15 -16 -16 -17 -16 -14 -13 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -13 -13 -14 -14 -14 -14 -14 -14 -15 -16 -16 -17 -17 -16 -16 -15 -14 -14 -13 -12 -10 -11 -11 -7 -4 -2 -2 -1 -0 0 -0 -0 -0 0 0 0 0 0 0 -0 -1 -1 -1 0 1 2 2 2 1 1 2 2 2 2 2 2 2 3 3 3 2 2 1 1 1 0 0 1 0 -1 -2 -2 -1 -0 -0 -0 0 0 1 1 1 2 1 1 0 -1 -1 1 3 4 1 -2 -3 -2 -0 2 4 3 -1 -4 -5 -5 -4 -5 -6 -7 -8 -9 -9 -9 -9 -9 -9 -9 -8 -7 -6 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -2 -1 -0 1 2 3 3 3 3 4 4 5 5 4 5 5 5 6 6 6 6 6 6 5 5 4 4 4 5 6 7 9 11 12 12 11 10 9 10 10 10 10 11 10 10 9 8 8 10 11 11 11 11 12 15 17 19 19 18 17 16 15 14 13 13 13 13 14 14 15 15 16 17 17 17 16 15 15 14 13 13 13 12 12 12 13 13 13 13 13 13 13 13 13 13 13 12 12 12 13 14 15 16 16 16 16 16 15 15 15 15 16 16 16 16 17 17 17 18 18 19 19 19 19 19 20 20 20 21 21 22 22 22 22 22 22 23 24 24 25 26 26 26 27 27 27 26 26 25 24 23 21 20 18 17 17 16 16 15 15 14 14 14 14 14 14 14 14 12 11 10 10 11 11 12 12 13 13 15 16 18 20 21 23 25 26 26 26 26 25 25 24 24 23 22 20 18 17 15 14 14 13 13 13 13 12 12 12 13 14 13 12 -4 -4 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -6 -6 -7 -8 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -10 -10 -11 -11 -12 -12 -13 -13 -14 -14 -13 -13 -14 -15 -15 -16 -17 -18 -18 -17 -15 -14 -13 -12 -12 -12 -11 -11 -11 -11 -12 -12 -12 -13 -13 -14 -14 -14 -14 -14 -13 -14 -15 -17 -17 -18 -19 -19 -17 -14 -12 -14 -16 -15 -13 -11 -10 -7 -3 -1 -1 -1 -0 -0 -0 0 1 1 1 1 1 1 1 0 -0 -0 0 1 2 3 3 2 2 2 2 2 2 2 2 3 3 4 4 3 3 2 2 1 1 1 2 2 1 -1 -1 -1 -0 0 0 1 1 1 2 2 2 1 1 0 -1 -1 -0 2 2 1 -3 -5 -4 -2 1 3 3 -0 -4 -5 -5 -4 -3 -5 -6 -8 -9 -8 -8 -9 -9 -9 -9 -9 -8 -7 -7 -6 -5 -5 -5 -5 -4 -4 -3 -3 -3 -2 -1 -0 1 2 2 2 2 2 3 4 5 5 5 5 5 6 6 6 6 7 7 7 6 6 5 5 4 4 5 6 9 12 14 14 12 11 10 10 11 11 12 12 12 11 10 9 9 10 11 12 12 12 13 15 18 19 19 18 17 15 15 14 13 12 11 11 12 12 13 14 16 18 19 19 19 18 17 16 16 15 14 14 13 13 13 13 14 14 13 13 13 13 14 14 14 13 13 13 13 14 14 15 15 16 16 16 16 16 16 16 16 16 17 17 17 17 17 18 18 18 19 19 19 20 20 20 20 20 20 20 21 21 22 22 22 22 22 23 23 24 25 25 26 27 27 27 26 26 25 25 24 22 21 20 18 17 16 15 15 14 13 13 13 13 13 13 13 13 12 11 10 9 9 10 11 11 11 12 12 13 15 16 17 19 21 22 23 23 23 23 23 23 24 24 23 22 21 19 18 17 16 15 15 15 14 14 13 14 14 15 14 12 -6 -6 -6 -7 -7 -6 -5 -5 -4 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -5 -6 -7 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -10 -10 -11 -11 -12 -13 -13 -14 -14 -14 -14 -14 -14 -15 -16 -17 -19 -20 -20 -19 -17 -15 -14 -13 -12 -12 -11 -11 -11 -11 -11 -12 -13 -14 -14 -15 -15 -14 -13 -13 -13 -15 -17 -19 -20 -21 -21 -19 -15 -11 -13 -16 -17 -15 -12 -10 -7 -4 -2 -1 -1 -1 -0 0 1 2 2 1 2 2 2 2 1 0 0 1 2 3 3 3 3 2 2 2 2 2 2 3 3 4 4 4 3 2 2 1 1 2 3 3 2 0 -0 -0 0 1 1 1 1 2 2 2 2 2 1 0 -1 -1 -1 0 1 -0 -3 -6 -6 -4 -2 1 2 -0 -4 -6 -6 -4 -3 -4 -6 -7 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -3 -2 -1 1 1 1 1 1 1 2 4 4 5 5 5 5 6 6 6 6 7 7 7 7 7 6 6 5 5 5 6 8 11 14 14 13 11 10 10 12 12 13 13 13 13 12 10 9 10 11 12 13 13 14 15 18 19 19 18 16 15 14 14 13 13 12 11 11 11 11 12 13 16 18 20 20 20 19 19 18 17 16 16 15 15 14 14 14 14 14 14 14 14 14 15 15 15 14 14 13 14 14 14 15 15 16 16 16 16 17 17 17 18 18 18 18 18 18 18 18 19 19 19 19 19 20 20 20 20 20 20 20 20 20 21 21 21 21 21 22 22 23 24 24 25 26 26 26 26 26 25 25 24 23 22 21 19 18 17 16 15 14 13 13 12 12 12 12 12 12 11 11 10 9 9 9 10 10 11 11 11 12 12 13 15 16 17 18 20 21 21 21 21 22 22 23 23 23 22 21 21 20 19 18 17 16 16 15 14 14 15 15 14 13 -10 -9 -8 -9 -9 -9 -8 -8 -8 -8 -7 -6 -5 -5 -5 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -13 -13 -14 -14 -14 -14 -15 -15 -15 -16 -18 -20 -21 -22 -21 -18 -17 -16 -14 -13 -12 -12 -11 -11 -11 -12 -13 -14 -15 -15 -15 -15 -13 -12 -12 -14 -16 -19 -21 -21 -21 -18 -15 -14 -15 -18 -18 -16 -12 -11 -9 -5 -3 -2 -2 -1 0 1 2 2 2 2 2 2 2 2 1 1 1 2 3 4 4 3 3 2 2 2 2 2 2 3 4 4 4 3 2 2 1 2 2 4 4 4 2 0 0 1 1 1 1 2 2 3 3 2 2 1 1 -0 -1 -1 -0 0 -1 -2 -5 -6 -5 -3 -1 0 -2 -5 -7 -7 -5 -4 -4 -5 -7 -8 -8 -7 -7 -8 -8 -9 -9 -9 -8 -8 -8 -8 -7 -7 -6 -6 -5 -4 -4 -4 -3 -3 -2 -0 0 0 0 -0 0 1 3 4 4 4 4 5 6 7 7 6 6 7 7 7 8 7 7 6 6 6 6 8 10 13 14 13 11 10 10 12 13 14 14 14 14 13 11 10 10 11 13 14 14 15 16 17 19 19 18 16 14 12 13 13 13 12 12 11 11 10 11 12 15 17 19 20 20 20 19 19 18 18 17 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 14 14 14 14 15 15 15 16 16 16 17 17 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 22 23 24 25 25 26 26 25 25 25 24 24 23 22 20 19 17 16 15 14 13 13 12 12 11 11 11 11 10 10 10 9 8 9 9 10 10 10 10 11 11 11 12 13 14 15 16 18 19 19 20 20 20 21 22 22 22 22 22 22 21 20 18 17 16 15 15 15 15 15 14 13 -11 -10 -9 -8 -8 -9 -9 -9 -9 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -6 -6 -6 -7 -7 -6 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -12 -12 -13 -13 -13 -14 -14 -14 -15 -15 -15 -15 -17 -19 -21 -22 -22 -21 -19 -18 -17 -15 -14 -13 -12 -12 -12 -12 -12 -13 -14 -15 -15 -15 -13 -12 -12 -14 -17 -19 -19 -19 -18 -16 -15 -15 -17 -19 -20 -19 -14 -10 -8 -6 -4 -3 -2 -1 1 2 2 1 1 2 2 3 2 2 1 1 2 3 4 4 4 3 3 2 2 2 2 2 3 3 4 4 3 2 1 1 1 3 4 6 5 3 1 0 1 1 2 2 2 2 3 3 3 2 2 1 0 -0 -1 -1 -0 -1 -2 -4 -5 -5 -4 -3 -2 -3 -5 -7 -7 -6 -5 -5 -6 -7 -8 -8 -7 -7 -8 -8 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -6 -5 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -0 1 2 3 2 2 3 4 5 7 7 6 6 6 6 7 8 8 8 7 7 7 7 8 9 11 12 12 10 9 9 11 13 15 15 15 14 14 12 11 10 11 12 14 15 15 16 18 19 19 17 15 13 11 12 13 13 13 12 12 11 11 12 13 15 17 20 21 20 20 19 19 18 18 17 17 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 16 16 16 17 17 18 18 18 19 19 19 19 19 19 19 18 18 18 18 18 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 22 23 24 24 25 25 24 24 24 23 23 22 21 19 18 17 16 15 14 13 12 12 11 11 10 10 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 11 13 14 16 17 18 19 19 19 20 21 21 21 22 22 21 20 19 18 16 15 14 14 14 14 14 13 -8 -8 -7 -7 -7 -7 -8 -8 -9 -10 -10 -10 -10 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -7 -7 -7 -7 -7 -7 -8 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -12 -12 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -15 -17 -18 -20 -21 -20 -19 -19 -18 -16 -15 -14 -13 -13 -13 -13 -13 -13 -13 -13 -14 -15 -14 -13 -14 -15 -16 -15 -15 -16 -16 -15 -14 -15 -16 -18 -19 -18 -13 -9 -9 -9 -7 -4 -2 -0 1 1 1 1 1 2 2 2 2 1 2 2 3 4 4 4 3 3 3 2 2 2 2 3 3 3 3 3 2 1 1 1 2 4 6 6 5 2 -0 0 1 2 2 2 2 3 3 3 2 2 1 1 0 -0 -0 -0 -0 -1 -2 -3 -4 -4 -4 -4 -4 -6 -7 -7 -6 -6 -6 -7 -8 -9 -9 -8 -8 -8 -8 -9 -8 -8 -8 -7 -8 -8 -9 -9 -9 -7 -6 -4 -3 -3 -4 -4 -3 -3 -2 -2 -2 -2 -0 1 2 2 1 1 1 3 5 6 6 5 5 5 6 6 7 8 8 8 8 8 8 7 8 9 10 10 9 8 8 10 13 14 15 15 14 13 12 11 10 11 12 14 15 16 17 18 19 18 17 15 13 11 11 12 13 13 13 12 12 12 13 14 16 18 21 22 22 21 20 19 18 17 17 16 16 16 16 16 16 16 16 16 16 16 16 16 17 16 16 16 15 15 15 15 15 15 15 15 16 16 16 16 17 17 17 18 18 19 19 19 19 18 18 17 17 17 17 17 17 18 19 19 20 20 20 20 20 20 20 20 20 20 20 20 19 20 20 20 21 22 23 24 24 24 24 24 23 23 22 21 19 18 17 17 16 15 13 13 12 11 11 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 9 11 13 15 17 18 18 18 18 19 19 20 20 21 20 20 19 17 16 14 14 13 14 14 14 13 -3 -4 -5 -5 -5 -6 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -7 -8 -8 -9 -10 -10 -11 -11 -11 -11 -12 -12 -12 -12 -12 -13 -13 -13 -14 -14 -14 -14 -14 -14 -15 -16 -17 -18 -18 -17 -16 -15 -15 -15 -14 -14 -14 -14 -14 -14 -14 -13 -13 -13 -13 -13 -14 -15 -15 -15 -14 -14 -15 -16 -16 -16 -16 -17 -18 -17 -15 -12 -9 -12 -13 -11 -6 -3 -1 -1 -1 -1 -1 -0 1 1 1 1 1 2 3 4 4 4 4 3 3 3 2 2 2 2 3 3 3 3 2 1 -0 -0 1 3 6 7 5 3 0 -0 0 1 2 2 3 3 3 3 2 2 1 1 0 0 0 -0 -0 -0 -1 -2 -3 -4 -4 -5 -5 -6 -6 -7 -6 -6 -6 -7 -8 -9 -9 -9 -8 -8 -8 -9 -9 -8 -7 -7 -7 -8 -9 -9 -9 -8 -6 -4 -3 -2 -3 -4 -4 -3 -3 -3 -3 -2 -1 1 3 2 0 -1 -0 2 4 6 5 4 3 4 5 6 7 7 7 8 8 8 7 7 6 6 7 7 7 6 7 9 11 14 14 14 13 12 11 10 10 11 12 13 14 16 17 19 19 19 18 16 14 12 12 13 14 14 13 12 12 13 14 15 17 19 22 24 24 23 21 20 18 17 16 16 15 16 16 16 16 16 16 16 16 16 16 17 17 17 17 16 16 15 15 15 15 15 15 15 15 15 15 16 15 15 16 16 17 17 18 18 18 18 17 17 16 16 16 15 15 15 16 17 18 19 19 19 19 19 19 19 19 19 19 20 19 19 19 19 19 20 21 22 22 23 23 23 23 23 23 22 21 20 19 18 17 17 15 14 13 12 12 11 11 11 10 10 10 10 10 9 9 9 9 9 9 9 9 8 8 7 7 7 8 9 11 13 15 17 18 18 18 18 18 18 19 19 19 19 18 17 15 14 14 13 13 14 14 13 -1 -3 -4 -5 -6 -6 -7 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -6 -6 -7 -7 -8 -9 -9 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -13 -13 -13 -14 -14 -14 -14 -13 -14 -14 -15 -16 -16 -16 -15 -15 -14 -14 -14 -14 -14 -14 -15 -15 -16 -16 -15 -15 -14 -14 -13 -12 -13 -13 -13 -14 -14 -14 -14 -15 -16 -18 -18 -16 -15 -14 -14 -12 -12 -12 -10 -6 -3 -3 -3 -3 -3 -2 -1 -1 -0 -0 0 1 2 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 1 -0 -1 0 2 5 6 5 3 0 -1 -1 0 1 2 3 3 3 3 2 2 1 1 0 0 0 0 0 0 -0 -1 -2 -3 -4 -5 -5 -6 -6 -7 -7 -7 -7 -7 -8 -9 -9 -9 -9 -8 -9 -9 -9 -8 -7 -7 -7 -7 -8 -9 -8 -7 -6 -4 -2 -2 -2 -3 -4 -3 -3 -3 -3 -2 -0 2 3 3 0 -2 -2 1 4 6 5 4 2 3 4 5 7 7 7 7 7 7 7 6 4 4 4 5 5 5 6 8 10 12 13 13 12 11 10 9 9 10 12 13 14 15 17 18 19 19 18 17 15 14 13 14 15 14 13 12 12 13 14 16 18 20 22 24 25 24 23 22 20 18 17 16 15 15 15 15 15 15 15 16 16 16 16 16 16 17 17 16 16 16 16 15 15 15 14 14 14 15 15 15 15 15 14 14 15 15 16 16 17 17 17 16 16 16 15 15 14 14 14 15 16 17 17 17 18 18 18 18 18 18 18 19 19 19 19 19 18 18 18 19 20 21 22 22 23 23 23 22 22 21 20 20 19 18 18 17 15 14 13 13 13 12 12 12 11 11 11 10 10 10 9 9 9 9 9 9 9 9 8 8 7 7 8 9 11 13 15 16 17 17 17 17 17 17 18 18 18 18 17 16 15 15 14 14 14 14 14 -2 -4 -5 -6 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -10 -10 -11 -12 -12 -12 -12 -12 -12 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -16 -18 -18 -18 -16 -15 -14 -13 -13 -13 -13 -12 -12 -12 -12 -13 -16 -18 -18 -16 -14 -14 -16 -15 -13 -12 -10 -7 -5 -5 -5 -5 -5 -4 -3 -3 -2 -2 -1 1 1 2 2 2 2 3 3 3 3 3 2 2 2 2 2 2 1 0 -0 -0 1 4 5 5 2 0 -1 -2 -1 -0 1 2 3 3 2 2 1 1 1 0 -0 -0 -0 -0 0 0 -0 -1 -2 -4 -5 -5 -6 -6 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -7 -7 -7 -7 -8 -8 -8 -7 -6 -4 -3 -2 -2 -3 -4 -4 -3 -3 -2 -1 1 3 4 3 0 -3 -4 -0 4 6 6 4 2 2 3 5 7 7 6 6 6 6 6 5 4 3 3 4 5 6 7 8 10 11 12 11 10 9 8 7 7 9 11 12 13 14 16 18 19 19 18 17 16 15 15 15 15 15 14 12 12 12 14 15 17 20 22 24 25 25 25 23 22 20 18 17 16 15 14 14 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 15 15 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 16 16 16 16 16 15 15 14 14 14 15 16 16 16 16 16 16 16 17 17 17 17 17 18 18 18 18 18 17 17 18 19 20 20 21 22 22 22 22 22 22 21 20 20 19 19 18 17 16 15 14 14 14 13 13 13 12 12 11 11 11 11 10 10 10 10 10 10 10 9 9 9 8 8 8 9 10 12 14 15 16 17 17 16 16 17 17 17 18 18 17 17 16 16 15 16 16 16 -6 -6 -7 -8 -8 -9 -9 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -10 -10 -11 -12 -12 -12 -12 -12 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -14 -14 -14 -14 -14 -14 -15 -15 -15 -17 -18 -19 -19 -17 -15 -14 -14 -13 -13 -12 -11 -10 -11 -12 -13 -15 -17 -17 -16 -16 -17 -18 -16 -13 -12 -11 -10 -7 -7 -7 -7 -6 -5 -5 -5 -4 -3 -1 -0 -0 0 1 1 2 2 2 2 2 2 1 1 1 2 2 3 2 1 0 1 3 4 4 3 1 -1 -2 -2 -1 -0 1 2 2 1 1 1 1 0 0 -1 -1 -1 -1 -0 -0 -0 -1 -2 -3 -4 -5 -6 -6 -6 -7 -7 -8 -8 -8 -8 -9 -8 -9 -9 -9 -10 -9 -9 -8 -7 -7 -7 -8 -8 -8 -8 -6 -5 -3 -2 -2 -3 -3 -4 -3 -3 -1 0 2 3 4 3 0 -3 -5 -2 3 7 7 5 2 1 3 5 7 8 7 5 5 5 6 5 3 2 3 4 5 6 7 8 9 10 10 10 9 8 7 6 6 8 10 11 12 13 15 17 18 18 17 16 16 15 16 16 16 16 14 13 12 12 14 15 17 19 20 22 24 25 25 24 23 21 20 19 18 16 15 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 16 15 15 15 15 14 14 13 13 13 13 13 13 13 13 13 13 13 14 14 14 15 15 16 16 16 15 15 14 14 14 15 15 15 15 15 15 15 15 15 16 16 16 16 16 17 17 17 17 17 17 17 18 18 19 20 21 21 22 22 22 22 22 21 21 20 19 19 18 17 16 16 15 15 15 15 14 14 13 13 12 12 12 12 12 12 12 12 11 11 11 11 10 9 8 7 7 7 9 11 13 14 15 16 16 15 16 16 17 17 18 18 18 18 17 17 17 17 17 -9 -9 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -9 -9 -9 -9 -9 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -12 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -14 -14 -15 -15 -15 -16 -17 -18 -17 -16 -15 -14 -14 -13 -13 -12 -11 -11 -12 -13 -14 -15 -15 -16 -17 -18 -19 -18 -15 -12 -11 -12 -12 -10 -9 -8 -8 -7 -7 -7 -6 -5 -4 -3 -2 -2 -1 -1 0 1 1 2 2 1 1 0 0 1 2 4 4 2 1 1 2 3 4 3 1 -1 -2 -2 -2 -1 -0 0 1 0 -0 -0 -0 -0 -1 -1 -2 -2 -2 -1 -1 -1 -1 -2 -3 -4 -4 -5 -5 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -9 -8 -7 -7 -7 -8 -8 -9 -8 -7 -6 -4 -3 -3 -3 -3 -4 -4 -3 -2 0 2 3 4 3 1 -3 -4 -3 2 6 7 5 3 2 2 5 8 9 8 5 4 4 5 5 4 2 2 4 5 7 7 8 8 9 9 9 8 7 6 5 5 7 9 11 12 13 14 16 18 18 17 16 15 14 15 16 16 16 15 13 12 12 13 15 16 17 19 20 22 23 24 24 23 22 21 20 19 18 16 15 15 14 14 14 15 15 15 14 14 14 14 14 14 14 14 15 15 15 14 14 14 13 13 13 12 12 12 12 12 13 13 13 13 13 13 14 15 15 15 16 15 15 15 14 14 14 14 14 14 14 14 13 14 14 15 15 15 15 15 15 15 16 16 16 17 17 17 17 17 18 19 19 20 21 22 22 22 22 22 21 21 20 20 19 19 18 17 17 17 16 16 16 16 15 14 14 13 13 13 13 13 13 13 13 13 13 13 12 11 9 8 6 6 6 8 10 12 13 14 15 14 15 15 15 16 17 18 18 18 18 18 18 18 18 -14 -12 -10 -9 -8 -8 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -11 -10 -10 -10 -10 -10 -10 -11 -11 -11 -12 -12 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -13 -14 -14 -15 -15 -15 -15 -15 -15 -15 -14 -14 -14 -14 -13 -13 -12 -12 -12 -12 -14 -15 -15 -14 -16 -17 -18 -19 -18 -16 -14 -12 -13 -14 -13 -10 -9 -8 -8 -8 -8 -7 -6 -4 -4 -4 -3 -2 -2 -1 -0 0 1 1 0 -0 -1 0 2 4 5 4 2 1 2 3 3 3 2 0 -1 -2 -2 -2 -1 -1 -0 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -3 -4 -4 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -8 -9 -10 -10 -9 -8 -8 -7 -8 -8 -8 -8 -9 -9 -8 -6 -5 -3 -3 -3 -4 -4 -4 -3 -1 1 3 3 2 0 -2 -4 -3 0 4 6 5 3 2 2 4 6 8 7 6 3 3 4 5 4 3 2 4 5 7 7 7 7 8 8 8 7 6 5 4 5 6 8 10 11 12 14 16 17 18 17 15 14 14 14 15 16 15 14 13 12 12 14 15 16 16 17 18 19 21 22 23 23 22 22 21 20 19 17 16 15 14 14 14 14 14 14 14 13 13 12 12 12 12 12 13 13 13 13 13 13 13 12 12 12 11 11 11 11 11 12 12 12 12 13 13 13 13 14 14 14 14 13 13 13 13 13 12 12 12 13 13 12 13 13 14 14 14 14 14 15 15 15 15 16 16 16 16 17 17 17 18 19 20 21 21 22 22 22 22 22 21 21 20 20 20 19 19 18 18 18 18 18 18 17 16 15 15 15 15 15 14 14 14 15 15 15 15 14 13 11 9 7 5 5 6 7 9 11 12 13 14 14 14 14 15 16 17 18 18 18 18 17 17 18 -17 -16 -14 -12 -10 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -11 -11 -11 -12 -12 -12 -12 -12 -13 -13 -13 -13 -14 -14 -15 -15 -15 -15 -15 -14 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -13 -13 -13 -12 -12 -13 -13 -14 -14 -15 -16 -16 -17 -17 -19 -19 -17 -16 -17 -17 -12 -9 -9 -9 -8 -8 -7 -6 -5 -5 -5 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 1 4 5 5 3 1 1 2 3 3 2 1 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -8 -8 -9 -9 -9 -8 -7 -7 -8 -8 -8 -8 -9 -9 -9 -8 -7 -5 -4 -3 -3 -4 -4 -4 -2 -0 2 3 2 1 -2 -3 -3 -1 2 4 5 4 3 2 2 4 6 6 5 3 2 4 5 5 4 2 3 5 6 7 6 6 6 6 6 6 5 5 4 5 6 8 10 11 12 13 14 16 16 15 14 13 13 14 15 15 15 13 12 11 12 14 16 16 17 16 17 18 19 20 21 22 22 21 21 20 20 18 16 15 14 13 13 13 12 12 12 11 11 10 10 10 9 9 10 10 11 11 11 11 11 11 11 11 11 11 10 10 10 10 11 11 11 11 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 13 13 14 14 14 14 14 14 15 15 15 16 16 16 16 17 17 18 19 20 21 21 22 22 22 22 22 21 21 21 20 20 20 20 20 20 20 20 19 19 18 17 17 16 16 16 16 15 15 15 15 16 16 15 14 12 10 8 6 5 5 5 7 8 10 12 13 13 13 14 14 15 16 17 17 17 17 17 16 16 -15 -16 -15 -14 -13 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -11 -11 -11 -11 -12 -12 -11 -11 -11 -11 -11 -11 -10 -11 -11 -11 -11 -12 -12 -12 -12 -13 -13 -14 -14 -15 -16 -17 -17 -16 -15 -14 -14 -13 -13 -14 -14 -14 -14 -14 -15 -15 -15 -15 -15 -14 -14 -14 -13 -12 -12 -13 -15 -16 -16 -16 -16 -17 -17 -16 -18 -19 -18 -16 -17 -18 -12 -9 -9 -9 -8 -7 -7 -6 -6 -6 -5 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -0 3 5 5 3 1 -0 1 2 2 2 1 0 0 0 -0 -1 -1 -2 -3 -3 -3 -3 -2 -3 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -7 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -9 -9 -9 -9 -7 -5 -4 -3 -3 -3 -4 -3 -2 0 2 3 1 -1 -3 -3 -1 1 3 4 4 4 3 2 2 4 5 4 3 2 3 5 6 5 3 3 4 6 5 4 4 4 4 4 4 4 4 4 5 6 8 9 10 11 12 12 13 13 12 11 11 11 13 15 15 14 13 11 10 12 14 17 18 18 17 16 17 18 19 20 21 21 21 21 20 19 18 16 14 13 12 11 11 10 10 9 9 8 8 7 7 7 7 7 7 8 8 9 9 9 9 10 10 10 10 10 10 10 9 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 10 10 10 10 10 11 10 11 11 11 12 13 13 13 13 14 14 14 15 15 15 15 16 16 16 17 17 18 19 20 21 21 21 22 22 22 21 21 21 21 21 21 21 21 21 21 21 21 21 20 19 19 18 18 18 17 16 16 16 16 16 16 16 15 13 11 9 7 5 4 4 5 6 8 10 11 12 13 13 13 14 14 15 16 16 16 16 15 15 -12 -12 -13 -13 -13 -12 -11 -10 -9 -9 -9 -9 -10 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -9 -10 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -11 -11 -12 -12 -12 -13 -13 -14 -15 -16 -17 -18 -18 -17 -17 -16 -15 -14 -13 -13 -14 -14 -14 -14 -15 -16 -16 -16 -16 -16 -15 -14 -14 -14 -15 -15 -16 -16 -17 -18 -20 -21 -21 -18 -18 -20 -20 -20 -18 -19 -14 -10 -8 -8 -7 -7 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -2 -2 -3 -2 -1 1 3 3 2 -0 -1 -0 1 2 2 1 1 1 1 1 -0 -2 -3 -3 -4 -4 -4 -3 -3 -4 -5 -5 -6 -6 -6 -5 -5 -5 -4 -4 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -8 -8 -9 -9 -8 -7 -6 -4 -3 -3 -3 -3 -3 -2 1 2 2 1 -1 -2 -1 1 2 3 4 5 4 2 1 2 3 4 3 2 2 5 6 5 4 3 3 4 4 3 2 2 2 3 3 3 3 4 5 7 8 9 9 9 9 10 10 10 9 8 8 9 11 14 15 14 12 11 10 12 14 17 18 19 18 17 17 17 19 20 21 21 21 20 19 19 17 15 13 12 11 10 8 7 7 6 6 5 5 4 4 4 4 5 5 5 6 6 7 7 8 8 9 9 9 9 10 9 9 9 9 9 9 10 10 10 10 9 9 9 9 8 8 8 9 9 9 9 9 9 9 10 10 10 10 10 11 11 12 12 13 13 13 14 14 14 15 15 15 15 15 16 16 17 17 18 19 20 20 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 21 21 20 20 19 19 18 18 17 16 16 16 16 16 15 14 12 10 8 6 5 5 4 5 6 8 10 11 12 13 13 13 13 14 14 15 15 14 14 14 -9 -10 -10 -11 -11 -11 -11 -10 -9 -9 -9 -9 -10 -10 -10 -10 -10 -9 -9 -9 -8 -7 -8 -8 -9 -9 -9 -10 -9 -9 -9 -9 -9 -10 -11 -11 -11 -12 -12 -12 -12 -13 -13 -13 -12 -12 -11 -10 -10 -10 -10 -10 -11 -11 -12 -12 -13 -14 -16 -18 -19 -19 -19 -19 -20 -20 -19 -18 -17 -16 -15 -14 -14 -14 -15 -16 -16 -15 -15 -15 -14 -14 -14 -15 -16 -17 -17 -17 -17 -20 -23 -26 -26 -21 -17 -18 -19 -19 -17 -16 -13 -10 -8 -7 -7 -6 -6 -6 -6 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -0 2 2 1 -1 -2 -1 0 2 1 1 1 1 2 2 1 -1 -3 -4 -5 -5 -5 -5 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -7 -8 -8 -8 -8 -7 -6 -4 -2 -2 -2 -3 -3 -1 1 3 2 1 -1 -0 0 1 2 3 5 5 3 2 1 2 3 3 2 2 4 5 5 4 2 2 3 2 1 0 0 1 2 2 2 3 4 6 8 9 9 8 7 7 7 7 7 6 5 6 7 10 12 14 14 12 11 11 12 14 17 18 18 18 18 18 18 19 20 21 21 21 19 18 18 17 15 13 11 9 8 7 5 4 4 3 3 2 2 2 2 2 3 3 4 4 5 5 6 7 7 8 8 9 9 10 10 10 9 9 9 9 9 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 10 10 11 11 12 12 13 13 13 14 14 14 14 14 15 15 15 16 16 17 17 18 19 20 20 21 21 21 21 21 20 21 21 21 22 22 22 22 23 23 23 22 22 22 21 21 20 20 19 18 17 16 16 16 16 15 14 13 10 9 7 6 5 5 5 5 7 8 10 11 12 13 13 13 13 13 14 14 13 13 13 -8 -8 -9 -10 -10 -11 -11 -10 -10 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -8 -9 -9 -10 -10 -10 -9 -9 -10 -10 -10 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -11 -10 -10 -10 -10 -10 -11 -11 -11 -12 -12 -14 -15 -17 -19 -20 -21 -22 -23 -24 -24 -25 -24 -23 -20 -18 -16 -16 -16 -16 -15 -14 -14 -15 -15 -15 -15 -16 -16 -17 -17 -18 -19 -21 -26 -30 -31 -25 -19 -19 -21 -22 -20 -16 -14 -12 -9 -7 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -2 -1 0 1 1 -0 -2 -2 -0 1 1 1 1 1 2 2 1 -1 -3 -5 -5 -6 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -6 -5 -3 -1 -1 -2 -3 -3 -0 2 3 3 1 0 0 1 2 3 5 6 5 3 1 1 2 3 3 3 3 5 5 3 2 1 1 1 -0 -1 -1 0 1 2 2 3 4 6 8 9 8 7 5 4 4 5 5 4 4 4 6 9 11 13 13 12 10 10 12 14 16 17 17 17 17 17 18 19 20 20 21 20 19 17 16 15 14 12 10 8 7 5 4 3 2 1 1 1 1 1 1 1 2 2 3 4 4 5 5 6 6 7 8 8 9 10 10 10 10 10 9 9 9 10 10 10 11 11 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 12 13 13 13 14 14 14 14 14 14 14 15 15 16 16 17 17 18 19 20 20 20 20 20 20 20 20 21 21 22 22 22 23 23 23 23 23 23 23 22 22 21 20 20 19 18 17 16 16 15 15 14 13 11 9 8 7 6 5 5 5 6 7 9 10 12 13 13 13 13 13 13 13 13 13 13 -9 -10 -10 -10 -10 -11 -11 -11 -10 -10 -10 -10 -9 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -11 -11 -11 -11 -12 -13 -14 -16 -18 -19 -21 -23 -25 -26 -28 -29 -30 -28 -25 -23 -20 -19 -18 -17 -16 -15 -15 -16 -17 -17 -17 -16 -16 -16 -17 -19 -20 -23 -28 -32 -33 -28 -24 -24 -25 -26 -24 -19 -16 -13 -10 -6 -5 -5 -5 -5 -5 -4 -3 -3 -4 -4 -3 -3 -3 -3 -2 -1 0 1 0 -1 -1 -0 1 1 1 1 1 2 2 1 -1 -3 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -5 -3 -1 0 0 -1 -2 -2 1 3 4 3 1 1 1 1 3 4 6 6 4 2 1 1 2 2 3 3 4 4 3 1 1 -0 -1 -1 -2 -1 -0 1 1 2 2 4 5 7 8 7 5 4 3 3 4 4 4 4 4 6 9 11 12 12 11 10 10 11 13 14 15 15 15 15 16 17 18 18 19 19 19 17 16 14 13 12 11 8 7 5 4 2 1 1 0 0 0 0 -0 -0 0 1 2 2 3 3 4 4 5 6 6 7 8 8 9 9 10 10 9 9 9 9 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 13 13 14 14 14 14 14 14 14 14 14 15 15 15 16 17 18 18 19 19 19 19 19 19 19 19 20 21 21 22 22 22 23 23 23 24 23 23 23 22 21 21 20 19 18 17 16 16 15 15 14 13 12 11 9 8 6 6 6 6 6 7 8 10 11 13 14 14 14 14 14 14 14 14 14 -11 -11 -12 -12 -11 -11 -11 -11 -11 -10 -10 -10 -10 -9 -9 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -12 -13 -14 -15 -16 -17 -19 -22 -24 -27 -28 -30 -32 -31 -29 -27 -25 -23 -21 -20 -19 -19 -18 -19 -19 -20 -19 -18 -17 -17 -18 -19 -21 -24 -29 -33 -34 -32 -31 -31 -31 -29 -26 -22 -19 -15 -11 -7 -5 -5 -5 -5 -4 -3 -3 -3 -4 -4 -3 -3 -3 -3 -2 -1 0 1 0 0 1 1 2 1 0 1 1 1 1 -1 -3 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -1 1 2 1 0 -1 -0 2 3 4 3 2 1 1 2 4 6 7 6 3 1 0 1 2 2 3 3 3 2 1 -0 -1 -1 -2 -2 -2 -0 1 1 1 2 3 5 6 7 6 4 3 2 3 4 5 5 4 5 6 8 10 11 11 10 9 9 10 12 13 13 13 13 14 14 15 16 16 17 17 16 15 13 12 12 11 9 7 6 4 2 1 -0 -1 -1 -0 -0 -0 -0 -0 -0 0 1 2 3 3 3 4 4 4 5 6 6 7 7 8 8 8 8 8 8 8 9 9 10 10 11 11 11 12 12 12 12 12 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 14 14 14 14 14 14 14 14 14 14 15 15 15 16 17 18 19 19 19 19 19 19 19 19 19 20 20 21 21 22 22 23 23 24 24 24 23 23 22 21 20 20 19 18 16 15 15 14 14 14 13 12 11 9 8 7 7 7 7 8 9 10 11 13 14 15 15 15 15 15 15 15 15 -12 -12 -13 -13 -12 -12 -12 -11 -11 -10 -10 -10 -10 -9 -9 -9 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -12 -12 -12 -13 -14 -15 -16 -17 -19 -23 -25 -26 -29 -31 -32 -31 -30 -29 -28 -26 -24 -24 -23 -22 -22 -23 -23 -22 -20 -19 -18 -18 -20 -22 -26 -31 -34 -36 -37 -38 -37 -35 -31 -27 -23 -20 -17 -14 -10 -7 -5 -5 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -3 -2 -1 0 1 1 1 2 2 1 1 1 1 1 0 -1 -3 -4 -5 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 0 2 3 2 1 0 1 3 4 4 3 2 2 2 4 5 6 6 5 3 1 0 1 1 2 3 3 2 0 -0 -1 -2 -2 -2 -1 0 1 1 1 1 3 4 6 6 5 3 2 2 3 4 6 6 5 5 6 7 9 9 9 9 8 9 9 10 11 11 11 11 12 13 14 14 14 14 14 13 12 11 10 9 9 7 6 4 3 1 -0 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 1 2 3 4 4 3 3 4 4 5 5 6 6 6 6 7 7 7 7 7 7 8 8 9 9 10 10 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 15 15 16 17 18 18 19 19 19 19 18 18 18 18 18 19 20 20 21 22 22 23 23 24 24 24 23 22 22 21 20 19 18 16 15 14 14 14 14 14 13 12 11 10 9 8 8 8 9 10 11 12 13 14 15 16 16 16 16 16 16 16 -11 -12 -13 -14 -14 -13 -13 -12 -11 -10 -10 -10 -10 -9 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -9 -9 -10 -10 -10 -11 -11 -11 -11 -12 -12 -12 -13 -14 -14 -15 -15 -17 -20 -22 -23 -25 -27 -30 -31 -32 -33 -33 -32 -30 -29 -27 -26 -26 -26 -27 -26 -25 -23 -21 -20 -20 -23 -27 -30 -32 -34 -37 -38 -36 -33 -30 -27 -24 -20 -15 -11 -9 -9 -6 -5 -4 -3 -3 -4 -4 -5 -4 -4 -4 -4 -3 -2 -0 1 1 2 2 2 2 1 1 1 1 0 -1 -3 -4 -5 -5 -6 -6 -5 -5 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -3 -2 -2 -2 -1 -0 2 3 3 3 2 2 3 4 4 4 3 2 3 4 5 6 6 5 4 2 1 0 0 1 2 3 3 2 1 -1 -2 -2 -2 -1 1 2 2 1 1 2 4 5 5 4 2 1 1 3 5 6 6 5 4 4 5 7 7 7 7 7 8 8 9 9 9 8 9 10 11 12 12 12 11 11 10 9 8 7 7 6 5 4 2 0 -1 -2 -3 -4 -3 -3 -2 -2 -1 -1 -1 -1 1 2 4 4 4 3 3 3 4 4 4 5 5 5 5 5 5 5 5 6 6 6 7 7 7 8 8 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 13 13 13 13 14 14 14 14 14 15 15 15 15 16 17 18 19 19 19 19 19 19 18 18 17 18 18 19 20 20 21 22 22 23 24 24 24 24 23 22 21 20 19 18 16 15 14 13 13 13 14 14 14 13 12 11 10 9 10 10 11 12 12 13 14 15 16 17 18 18 18 18 17 -10 -11 -12 -13 -14 -14 -14 -13 -11 -10 -10 -10 -9 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -9 -9 -9 -9 -10 -11 -11 -11 -11 -11 -12 -12 -13 -13 -13 -14 -14 -15 -16 -17 -19 -20 -22 -24 -27 -30 -33 -35 -36 -36 -36 -35 -33 -31 -30 -30 -31 -30 -30 -28 -26 -24 -22 -22 -26 -28 -29 -29 -31 -30 -28 -26 -25 -24 -24 -22 -19 -14 -9 -6 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -4 -3 -1 -0 1 1 2 2 2 1 1 1 1 0 -1 -2 -3 -4 -5 -5 -5 -5 -4 -4 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -3 -2 -1 -1 -1 -0 1 2 3 3 3 3 3 4 4 4 3 3 3 4 5 5 6 5 4 3 2 1 0 0 1 2 3 3 3 1 -1 -2 -1 0 2 2 2 1 1 2 3 4 4 3 2 1 1 3 5 6 6 5 3 3 4 5 5 5 5 6 7 7 7 6 6 6 6 8 9 11 11 10 9 8 8 7 6 5 5 4 3 1 -0 -2 -3 -4 -5 -5 -5 -4 -4 -3 -3 -2 -2 -1 0 2 4 4 4 3 2 2 2 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 7 7 8 8 8 8 8 8 8 8 8 7 8 8 8 8 8 9 9 10 10 11 11 11 12 12 12 13 13 13 13 13 13 13 14 14 14 14 15 15 15 16 17 18 19 20 20 20 20 19 18 18 17 17 18 18 19 20 20 21 22 22 23 24 24 24 23 22 21 20 19 18 17 15 14 13 13 13 14 14 15 15 14 13 12 11 11 11 12 13 14 15 15 16 17 18 19 19 20 19 19 -9 -10 -11 -12 -13 -14 -13 -13 -12 -11 -10 -10 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -11 -12 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -10 -10 -11 -11 -11 -12 -12 -12 -12 -13 -13 -13 -13 -14 -15 -15 -16 -17 -20 -22 -25 -28 -31 -35 -38 -40 -41 -42 -41 -38 -36 -33 -32 -32 -32 -33 -32 -31 -28 -26 -26 -25 -23 -22 -21 -19 -18 -16 -16 -18 -22 -25 -22 -19 -16 -15 -12 -7 -4 -4 -5 -5 -5 -4 -4 -4 -4 -3 -2 -1 -1 -0 0 1 1 1 1 1 1 0 -0 -1 -2 -3 -4 -4 -5 -5 -4 -3 -2 -2 -1 -1 -2 -2 -3 -3 -3 -3 -3 -4 -5 -5 -5 -6 -6 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -1 -0 -0 -0 0 1 2 2 2 3 3 4 4 4 3 3 3 4 5 5 5 5 4 4 3 2 1 1 0 1 2 4 4 4 1 -1 -1 -0 2 2 2 1 1 1 3 4 3 3 1 1 1 3 5 6 5 4 2 1 2 3 4 3 4 5 6 6 6 5 4 4 4 5 7 8 9 8 6 5 5 5 4 3 3 2 1 -1 -3 -4 -5 -6 -7 -7 -7 -6 -5 -4 -4 -3 -3 -2 -0 2 3 4 3 2 1 0 0 1 1 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 8 8 9 9 10 10 11 11 11 12 12 12 12 12 12 13 13 14 14 14 14 15 15 16 17 18 19 20 21 21 21 20 19 18 18 17 17 18 19 19 20 20 21 21 22 23 23 23 23 22 21 20 19 18 17 16 14 13 13 13 13 14 15 16 16 15 14 14 13 13 13 14 15 16 17 18 19 20 20 21 21 21 21 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -11 -10 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -10 -11 -12 -12 -11 -11 -11 -10 -10 -10 -10 -10 -11 -10 -10 -9 -9 -9 -9 -10 -10 -11 -11 -11 -12 -11 -12 -12 -12 -12 -13 -13 -14 -14 -15 -15 -17 -19 -22 -24 -27 -30 -34 -38 -41 -44 -46 -47 -45 -41 -37 -34 -33 -34 -35 -35 -34 -32 -27 -21 -17 -15 -14 -14 -13 -12 -11 -11 -14 -20 -22 -18 -14 -12 -13 -15 -12 -7 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -1 -1 0 1 1 1 1 0 0 -0 -1 -1 -2 -3 -4 -4 -3 -3 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -6 -7 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 0 1 0 0 1 1 2 2 3 3 4 4 4 3 3 4 5 5 6 5 5 4 4 3 3 2 1 0 0 2 4 5 4 2 -0 -0 1 2 2 1 0 0 1 2 2 1 1 0 1 3 4 5 4 2 0 -1 1 2 3 3 2 3 4 5 4 3 2 2 2 3 5 6 6 6 5 4 3 4 3 2 1 0 -1 -3 -4 -6 -6 -7 -7 -8 -7 -6 -5 -4 -4 -3 -3 -2 -1 0 2 2 2 0 -1 -2 -1 -1 -0 0 1 1 1 1 1 1 1 2 2 2 2 1 1 1 1 1 1 1 2 2 2 3 4 4 4 5 5 5 6 6 6 6 5 6 6 6 6 7 7 8 8 9 10 10 10 11 11 11 12 12 12 12 13 13 13 14 14 14 15 16 17 18 19 20 21 22 22 21 20 19 18 18 18 18 19 19 19 20 20 20 21 22 22 22 22 22 21 20 19 18 17 16 15 14 13 13 13 14 15 16 16 16 16 15 15 15 15 16 17 18 19 20 21 21 22 22 23 23 23 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -11 -10 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -10 -10 -11 -11 -11 -11 -11 -10 -10 -9 -10 -10 -11 -12 -12 -10 -9 -9 -9 -9 -10 -11 -11 -11 -11 -11 -11 -11 -12 -12 -13 -13 -13 -14 -14 -15 -15 -17 -19 -21 -24 -27 -30 -34 -38 -42 -46 -48 -49 -48 -45 -40 -36 -34 -35 -35 -35 -35 -34 -29 -24 -20 -18 -17 -15 -16 -15 -13 -12 -15 -19 -20 -17 -13 -11 -12 -14 -12 -7 -4 -3 -4 -4 -3 -2 -2 -1 -2 -3 -3 -3 -2 -1 -0 0 1 1 1 0 0 0 -0 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -4 -4 -5 -7 -8 -9 -8 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -6 -5 -5 -4 -4 -3 -2 -1 0 1 1 1 0 1 1 2 2 3 3 4 4 4 4 4 4 5 6 6 5 5 4 4 3 3 2 1 1 0 2 3 5 4 2 1 0 1 1 0 -0 -1 -0 1 1 0 -0 -0 0 2 3 4 3 1 -1 -3 -1 1 2 2 2 2 3 3 3 2 1 1 1 2 3 4 4 4 3 2 2 2 1 0 -1 -2 -3 -4 -5 -6 -7 -7 -7 -7 -6 -5 -4 -3 -3 -3 -3 -3 -2 -2 -0 0 -0 -1 -3 -3 -2 -2 -1 -1 -0 0 0 0 0 0 0 0 0 0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -1 -1 -0 1 1 2 3 4 4 5 5 6 6 6 6 6 6 6 6 6 6 7 8 8 9 10 10 10 11 11 12 12 12 12 12 13 13 13 13 14 14 15 16 17 18 20 21 22 22 22 21 20 19 19 19 19 20 20 20 19 19 19 20 21 21 22 22 22 21 21 20 19 17 16 15 14 14 13 13 13 14 15 16 16 17 17 17 17 17 18 18 19 21 22 23 23 24 24 24 24 24 -13 -13 -13 -13 -12 -11 -11 -11 -12 -12 -12 -11 -10 -9 -9 -10 -10 -10 -10 -10 -10 -10 -11 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -10 -10 -9 -10 -10 -12 -12 -12 -11 -10 -9 -9 -10 -10 -11 -11 -12 -12 -11 -11 -11 -12 -12 -13 -14 -14 -14 -15 -15 -16 -17 -19 -20 -22 -26 -30 -34 -39 -43 -47 -48 -49 -49 -47 -44 -40 -37 -36 -35 -35 -35 -34 -32 -30 -28 -26 -24 -22 -22 -19 -16 -14 -15 -16 -18 -18 -16 -14 -14 -13 -10 -7 -4 -3 -3 -3 -2 -1 -1 -1 -2 -3 -3 -3 -2 -1 -0 -0 0 0 0 0 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -4 -6 -7 -8 -8 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -3 -2 -1 -0 1 1 2 2 1 1 1 1 2 2 2 3 3 4 4 4 4 5 6 6 6 6 5 5 4 3 3 3 2 1 0 1 3 5 5 3 1 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 2 2 1 -0 -2 -3 -2 1 2 2 1 0 1 1 1 -0 -1 -1 -0 0 1 1 2 2 1 1 0 -0 -0 -1 -2 -3 -4 -4 -5 -6 -6 -6 -6 -5 -5 -3 -2 -2 -1 -2 -2 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -2 -2 -1 -1 -1 -0 -0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -3 -2 -1 -0 1 2 3 4 4 5 5 6 6 6 6 6 6 6 6 7 7 8 9 9 10 10 10 11 11 12 12 12 12 13 13 13 13 13 14 14 15 15 16 17 19 20 21 21 21 21 20 20 20 20 20 21 21 20 20 19 19 19 20 21 21 22 22 22 21 20 19 18 17 16 15 14 14 14 14 14 15 16 16 17 17 17 18 19 20 20 21 22 23 24 25 26 26 26 25 25 -13 -13 -14 -13 -12 -11 -11 -11 -12 -14 -14 -13 -11 -10 -9 -10 -10 -10 -10 -10 -10 -10 -11 -11 -10 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -11 -11 -10 -10 -10 -11 -11 -12 -12 -11 -11 -10 -10 -10 -11 -12 -12 -12 -12 -12 -11 -11 -12 -12 -13 -14 -15 -15 -16 -16 -17 -18 -19 -20 -21 -24 -28 -33 -37 -42 -46 -48 -49 -49 -49 -47 -44 -40 -37 -35 -34 -35 -35 -34 -32 -31 -29 -28 -27 -25 -21 -17 -14 -12 -12 -14 -16 -18 -18 -16 -13 -10 -8 -7 -5 -3 -2 -1 -1 -0 -2 -3 -3 -3 -2 -1 -1 -1 -0 0 0 0 1 1 1 1 0 -1 -1 -0 0 0 -0 -1 -1 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -4 -6 -7 -7 -7 -6 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -3 -2 -1 0 1 2 2 2 2 1 1 1 2 2 2 2 2 3 4 4 4 5 5 6 6 6 6 5 5 4 3 4 4 3 0 -1 -0 2 5 6 4 2 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 0 1 0 -1 -3 -4 -3 -0 1 1 -0 -1 -1 -1 -1 -2 -3 -3 -2 -1 -1 -1 -0 -0 -0 -1 -1 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 -1 -2 -2 -3 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -6 -6 -5 -5 -4 -3 -2 -1 -0 1 2 3 3 4 4 5 5 5 6 6 6 6 6 7 8 9 9 10 10 10 10 11 11 12 12 13 13 13 13 13 14 14 14 14 14 15 15 16 17 19 19 20 20 19 19 19 20 20 21 21 21 21 20 20 19 19 19 20 21 22 22 22 22 21 20 18 17 16 15 15 14 14 14 15 15 15 16 16 17 18 19 20 21 22 23 24 25 26 26 27 27 26 26 26 -11 -12 -13 -13 -12 -11 -11 -12 -13 -14 -14 -14 -13 -11 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -11 -12 -12 -12 -11 -11 -10 -10 -10 -11 -11 -12 -12 -11 -11 -11 -11 -11 -12 -12 -13 -13 -13 -12 -12 -12 -12 -13 -13 -14 -14 -15 -16 -17 -18 -19 -20 -20 -21 -23 -26 -30 -34 -39 -44 -48 -50 -51 -50 -49 -46 -42 -39 -37 -35 -35 -35 -34 -33 -31 -30 -29 -28 -26 -23 -19 -15 -11 -10 -11 -14 -16 -17 -17 -16 -13 -11 -10 -8 -3 -1 -1 -0 -1 -2 -3 -3 -2 -1 -1 -1 -1 -0 -0 0 0 1 1 1 1 0 -0 -0 0 0 0 -1 -2 -2 -2 -1 -1 -1 -1 -2 -2 -3 -3 -3 -4 -5 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -5 -5 -4 -2 -1 1 1 2 3 3 3 2 1 1 2 2 2 2 2 2 3 3 4 5 5 5 6 6 6 6 5 4 4 4 5 4 2 -1 -2 -1 2 5 7 5 2 0 -1 -1 -2 -2 -2 -3 -3 -3 -3 -2 -1 -0 -0 -2 -3 -4 -4 -2 -0 -1 -2 -2 -3 -3 -3 -3 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -2 -1 -0 1 1 2 3 3 4 4 5 5 5 5 5 6 7 9 9 10 10 10 10 11 11 12 13 13 13 13 14 14 14 14 14 14 14 15 15 15 16 17 18 18 18 18 18 18 19 19 20 21 21 21 21 20 19 19 19 20 21 21 22 22 22 22 21 19 18 16 16 15 15 15 15 15 15 15 15 16 17 18 19 20 22 23 24 25 26 27 27 27 27 27 26 26 -9 -10 -11 -11 -11 -11 -12 -13 -13 -13 -14 -14 -13 -12 -11 -10 -10 -10 -10 -10 -11 -11 -11 -11 -10 -10 -9 -9 -9 -10 -10 -11 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -11 -12 -12 -13 -13 -14 -14 -14 -13 -13 -14 -14 -14 -13 -13 -14 -15 -16 -17 -18 -20 -20 -20 -21 -22 -25 -28 -31 -36 -41 -46 -47 -48 -48 -47 -45 -43 -41 -39 -38 -37 -35 -34 -32 -30 -29 -28 -26 -25 -24 -22 -19 -15 -11 -11 -12 -14 -16 -17 -16 -15 -13 -11 -8 -3 -1 -1 -1 -2 -3 -3 -2 -1 -1 -1 -1 -1 -1 -0 -0 0 1 1 1 0 -0 -0 0 0 0 -1 -1 -2 -2 -1 -1 -0 -1 -2 -3 -4 -4 -4 -4 -4 -5 -6 -6 -6 -5 -5 -5 -5 -5 -6 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -2 -1 1 2 2 3 4 4 3 2 2 2 3 3 2 2 1 2 2 3 4 4 5 5 5 6 6 5 5 4 4 5 5 4 1 -2 -3 -1 3 6 7 5 2 0 -1 -2 -2 -2 -3 -4 -5 -4 -3 -2 -2 -2 -2 -3 -4 -4 -3 -2 -2 -3 -3 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -6 -5 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -4 -3 -2 -1 -0 0 1 2 3 4 4 5 5 5 6 7 8 9 9 10 10 10 10 11 12 12 13 13 14 14 14 14 15 15 15 15 15 15 15 15 16 17 17 17 16 16 17 17 18 19 19 20 20 20 20 19 19 20 20 21 22 22 23 23 22 21 20 19 17 17 17 17 17 17 16 16 16 15 16 16 17 19 20 22 24 25 26 27 27 27 28 27 27 27 26 -8 -9 -9 -10 -10 -10 -11 -12 -12 -12 -13 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -9 -10 -10 -11 -12 -12 -12 -12 -12 -11 -11 -12 -12 -13 -13 -12 -12 -12 -12 -12 -13 -14 -15 -15 -15 -15 -15 -16 -17 -17 -16 -15 -14 -14 -15 -16 -17 -18 -18 -19 -19 -20 -22 -23 -25 -29 -33 -38 -41 -43 -44 -46 -46 -46 -45 -43 -41 -40 -38 -37 -35 -33 -31 -30 -28 -26 -24 -22 -20 -17 -14 -11 -11 -11 -13 -15 -18 -18 -15 -10 -7 -6 -7 -4 -2 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 0 -0 -0 -0 0 -0 -1 -1 -2 -2 -1 -1 -0 -0 -1 -3 -4 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -5 -4 -4 -3 -2 -1 0 1 2 3 4 5 4 4 3 3 3 4 4 3 2 1 1 2 3 4 4 5 5 5 5 5 5 4 4 5 6 6 3 -1 -3 -3 0 4 7 7 5 2 -1 -2 -2 -2 -3 -4 -5 -5 -5 -4 -3 -3 -3 -4 -4 -4 -3 -3 -3 -4 -4 -4 -4 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -3 -4 -4 -5 -5 -6 -6 -6 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -6 -4 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -2 -1 -0 1 2 3 4 4 5 5 6 7 8 9 9 10 10 10 11 11 12 12 13 13 14 14 15 15 15 15 15 15 15 15 15 16 16 16 16 16 15 15 16 17 17 18 19 19 19 19 19 19 20 21 21 22 23 23 23 23 22 21 20 19 18 18 19 19 19 18 17 16 16 16 16 17 18 20 21 23 25 26 27 28 28 28 28 28 28 27 -8 -8 -9 -9 -9 -9 -10 -10 -11 -11 -12 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -12 -11 -11 -10 -10 -9 -9 -9 -9 -10 -11 -12 -13 -13 -12 -12 -12 -12 -13 -13 -14 -14 -14 -13 -13 -13 -14 -14 -15 -16 -16 -16 -18 -19 -22 -24 -24 -22 -19 -16 -16 -16 -17 -17 -17 -17 -18 -18 -19 -20 -22 -24 -27 -31 -35 -39 -40 -42 -43 -44 -44 -44 -42 -41 -39 -38 -36 -35 -34 -33 -31 -29 -26 -25 -22 -19 -15 -12 -10 -11 -11 -11 -12 -15 -18 -19 -16 -12 -8 -7 -6 -4 -2 -1 -1 -1 -1 -1 -2 -1 -1 -0 -1 -1 -0 0 0 0 -0 -1 -1 -1 -0 -1 -1 -2 -2 -1 -0 0 0 -1 -2 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -4 -4 -4 -4 -3 -2 -1 -1 0 1 2 2 3 5 5 5 4 4 4 4 5 4 3 2 2 1 2 2 3 4 4 4 4 4 4 4 4 5 7 7 5 1 -2 -3 -2 2 5 8 7 4 1 -2 -3 -3 -3 -4 -5 -6 -6 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -5 -5 -4 -4 -3 -3 -3 -4 -5 -5 -6 -6 -6 -7 -7 -7 -7 -6 -5 -4 -3 -2 -4 -5 -7 -8 -8 -8 -8 -8 -8 -9 -9 -8 -8 -8 -8 -7 -6 -4 -3 -2 -1 -1 -1 -1 -2 -3 -3 -3 -4 -4 -4 -5 -5 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -6 -5 -4 -3 -1 0 2 3 3 4 5 5 6 7 8 9 10 10 10 10 11 11 12 12 13 13 14 14 14 15 15 15 14 14 14 15 15 16 16 16 15 15 15 15 16 16 17 17 18 18 18 18 19 20 21 22 23 24 24 24 24 23 22 21 20 20 21 21 21 21 20 19 18 17 16 17 17 18 19 20 22 24 26 27 28 28 28 28 29 28 28 -8 -8 -8 -8 -8 -8 -9 -10 -10 -11 -12 -12 -13 -13 -13 -13 -13 -13 -13 -14 -14 -14 -12 -11 -10 -9 -9 -8 -9 -9 -10 -11 -12 -12 -13 -13 -13 -13 -13 -14 -14 -14 -15 -15 -15 -15 -16 -16 -16 -17 -17 -17 -18 -20 -22 -26 -29 -31 -29 -26 -22 -19 -18 -17 -17 -17 -17 -18 -18 -19 -20 -21 -23 -26 -29 -33 -36 -38 -40 -40 -40 -40 -39 -38 -37 -36 -35 -34 -34 -33 -32 -31 -29 -27 -26 -23 -20 -17 -13 -11 -12 -11 -10 -10 -13 -17 -19 -17 -13 -9 -5 -5 -4 -2 -0 0 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 0 0 -0 -2 -3 -5 -5 -5 -5 -4 -4 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -4 -4 -4 -3 -2 -1 -0 1 1 1 2 3 4 5 6 6 5 5 5 5 5 4 3 2 1 1 2 2 3 3 4 3 3 3 3 3 5 7 8 7 3 -1 -3 -2 -0 3 6 8 6 2 -1 -3 -3 -3 -4 -5 -6 -6 -6 -5 -5 -5 -5 -5 -4 -3 -3 -3 -4 -5 -5 -5 -4 -4 -3 -3 -3 -4 -5 -6 -7 -7 -7 -8 -8 -8 -7 -7 -5 -4 -3 -4 -6 -8 -9 -10 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -6 -5 -3 -1 -0 0 0 -0 -1 -1 -2 -3 -3 -3 -4 -4 -5 -6 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -7 -7 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -6 -5 -3 -2 -0 1 2 3 4 4 5 7 8 9 9 9 9 10 10 11 11 11 12 12 13 13 14 14 14 14 14 14 14 14 15 15 16 16 15 15 15 15 15 16 16 16 17 17 17 17 18 19 20 22 23 24 25 25 24 24 23 22 22 22 23 23 24 23 22 21 19 18 17 17 17 17 18 19 21 23 25 27 28 29 29 30 30 30 30 -8 -8 -8 -7 -7 -8 -9 -10 -11 -11 -12 -13 -14 -15 -16 -17 -18 -17 -17 -18 -19 -18 -15 -12 -10 -9 -9 -8 -9 -9 -10 -11 -12 -12 -13 -13 -13 -14 -14 -14 -14 -14 -14 -15 -15 -16 -17 -17 -18 -19 -19 -19 -20 -21 -24 -28 -31 -33 -33 -31 -28 -24 -21 -19 -18 -17 -17 -18 -19 -20 -22 -23 -24 -26 -28 -32 -35 -38 -39 -38 -37 -36 -35 -34 -32 -31 -30 -30 -29 -29 -29 -29 -29 -27 -26 -24 -22 -19 -16 -14 -14 -12 -10 -10 -12 -15 -16 -14 -10 -9 -8 -7 -5 -3 -0 1 0 -1 -1 -1 -0 0 0 0 0 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 0 0 0 -1 -2 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -4 -4 -4 -3 -2 -1 0 1 1 1 2 2 4 5 6 6 6 5 5 5 5 4 4 3 2 2 1 2 2 3 3 2 2 2 2 3 4 6 8 8 5 2 -1 -2 -1 1 4 7 7 4 0 -3 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -4 -5 -5 -4 -4 -3 -3 -3 -4 -6 -7 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -5 -6 -7 -9 -10 -10 -10 -9 -9 -9 -9 -8 -7 -6 -5 -4 -3 -1 0 1 1 0 -0 -1 -1 -2 -2 -3 -3 -4 -4 -5 -6 -6 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -3 -1 0 1 2 3 4 5 7 8 9 9 9 9 9 10 10 10 11 11 12 12 13 13 13 13 13 13 13 13 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 17 18 19 21 22 23 24 24 25 25 24 24 23 23 24 25 25 25 24 23 22 20 19 18 17 17 18 18 20 21 23 26 28 30 30 31 31 31 31 -7 -7 -7 -7 -7 -8 -9 -10 -10 -12 -13 -14 -15 -17 -18 -19 -21 -23 -23 -23 -22 -21 -19 -15 -12 -10 -9 -8 -9 -10 -10 -11 -12 -12 -13 -13 -13 -14 -14 -14 -13 -13 -13 -14 -15 -15 -16 -17 -18 -20 -21 -21 -22 -23 -25 -28 -31 -33 -33 -32 -30 -27 -23 -20 -18 -17 -17 -18 -19 -21 -23 -25 -26 -27 -30 -33 -36 -38 -39 -38 -36 -34 -32 -30 -28 -27 -26 -25 -24 -24 -26 -27 -27 -26 -25 -25 -23 -21 -19 -17 -15 -13 -11 -10 -11 -13 -14 -11 -8 -8 -9 -9 -7 -5 -2 -0 1 1 -0 -0 0 1 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 -0 -1 -2 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -4 -3 -3 -2 -3 -3 -4 -3 -3 -2 -1 0 1 1 2 2 2 3 4 5 6 6 6 5 5 5 4 3 3 2 2 2 2 2 2 2 1 1 1 1 2 3 5 8 9 8 4 1 -1 -0 0 2 4 6 5 2 -1 -4 -5 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -7 -6 -5 -3 -3 -2 -3 -3 -4 -5 -5 -4 -4 -3 -3 -4 -6 -7 -8 -9 -9 -9 -8 -7 -7 -6 -6 -5 -6 -7 -8 -9 -10 -10 -10 -9 -9 -9 -8 -7 -5 -4 -3 -2 -0 1 1 0 -0 -1 -2 -2 -2 -2 -3 -3 -4 -5 -6 -6 -7 -8 -8 -9 -9 -9 -10 -10 -10 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -6 -5 -4 -2 -1 0 1 2 3 4 6 8 9 9 9 8 9 9 9 10 10 10 11 11 12 12 12 12 12 12 12 12 13 13 14 15 15 15 15 15 15 15 15 14 14 14 14 15 15 15 16 18 19 21 22 22 23 24 24 25 25 24 24 25 25 26 26 26 25 24 22 20 19 18 18 18 18 19 21 23 25 28 30 31 32 32 33 33 -7 -7 -7 -7 -8 -8 -9 -9 -10 -11 -12 -13 -15 -16 -17 -18 -19 -21 -22 -21 -20 -19 -17 -15 -12 -10 -9 -9 -9 -10 -11 -12 -12 -13 -13 -13 -14 -14 -14 -14 -13 -13 -13 -13 -14 -14 -15 -16 -17 -19 -21 -21 -22 -23 -25 -28 -31 -32 -32 -31 -30 -27 -24 -20 -18 -17 -17 -18 -19 -21 -23 -25 -27 -29 -32 -35 -37 -39 -39 -38 -36 -34 -32 -29 -26 -24 -22 -22 -22 -23 -23 -24 -24 -25 -25 -24 -23 -21 -19 -18 -15 -12 -10 -9 -10 -11 -11 -10 -7 -7 -7 -9 -9 -8 -7 -4 -0 2 2 1 1 1 1 1 1 1 0 0 -0 -0 0 0 -0 -0 -0 0 1 2 2 1 0 -1 -2 -2 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -3 -2 -2 -3 -3 -3 -3 -2 -1 -0 0 1 1 2 2 3 4 5 6 6 6 6 5 5 4 3 2 2 2 2 2 2 2 1 1 0 0 1 1 2 3 6 8 9 7 4 2 1 0 1 2 3 5 4 1 -2 -4 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -5 -4 -3 -2 -2 -3 -4 -4 -5 -5 -4 -3 -4 -4 -6 -7 -8 -8 -9 -8 -7 -6 -5 -5 -5 -6 -7 -8 -9 -9 -9 -9 -9 -9 -8 -7 -6 -5 -3 -2 -1 -0 -0 -0 -1 -2 -3 -4 -4 -3 -3 -3 -4 -4 -5 -6 -7 -8 -8 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -7 -6 -5 -4 -2 -1 -0 1 2 3 4 6 8 8 9 8 8 8 8 9 9 9 9 10 10 11 11 11 12 12 12 12 12 12 12 13 14 15 15 15 15 15 15 14 14 13 13 14 14 14 15 15 16 18 19 19 20 21 22 23 24 24 25 25 25 26 26 27 27 27 26 24 22 21 19 18 19 19 20 21 23 25 27 30 32 33 34 34 34 -7 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -11 -13 -14 -15 -16 -18 -19 -20 -19 -18 -16 -14 -13 -12 -11 -10 -10 -10 -11 -11 -12 -12 -13 -13 -13 -14 -14 -14 -14 -14 -13 -13 -13 -13 -14 -14 -14 -15 -17 -19 -20 -20 -21 -24 -27 -30 -31 -31 -31 -29 -27 -24 -21 -18 -16 -16 -17 -19 -21 -22 -23 -26 -29 -33 -36 -37 -38 -38 -37 -36 -34 -33 -30 -26 -23 -21 -21 -22 -23 -22 -22 -22 -22 -23 -23 -22 -20 -18 -18 -15 -11 -8 -7 -8 -8 -8 -8 -9 -10 -9 -9 -9 -10 -11 -7 -3 1 4 4 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 3 2 1 0 -1 -1 -1 -1 -1 -1 -2 -3 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -2 -2 -2 -3 -3 -2 -2 -1 -1 -1 0 1 2 2 3 4 5 6 6 6 6 5 5 4 3 2 2 3 3 3 2 2 1 0 -0 -0 -0 1 1 3 4 7 8 8 6 4 2 1 0 0 1 3 4 3 -0 -3 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -8 -8 -7 -6 -4 -3 -2 -2 -3 -4 -4 -5 -5 -4 -4 -4 -4 -5 -6 -7 -8 -8 -7 -6 -5 -4 -4 -5 -7 -8 -9 -9 -9 -8 -8 -8 -8 -7 -5 -4 -2 -1 -1 -1 -2 -2 -4 -5 -5 -6 -5 -5 -4 -4 -5 -5 -6 -7 -7 -8 -9 -9 -10 -10 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -10 -9 -9 -8 -7 -7 -6 -6 -6 -6 -7 -7 -8 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 4 6 7 8 8 8 8 8 8 8 8 8 8 9 9 9 10 11 11 11 11 11 11 11 12 12 14 14 15 15 15 15 15 14 13 13 13 13 13 14 14 15 16 16 17 18 18 19 20 21 23 24 24 25 25 25 26 27 27 28 27 26 25 23 21 20 20 20 21 22 23 25 27 30 32 34 35 35 35 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -10 -10 -11 -12 -13 -15 -16 -18 -19 -19 -18 -16 -14 -12 -11 -11 -11 -11 -11 -11 -11 -12 -12 -13 -13 -13 -13 -13 -13 -14 -14 -14 -13 -13 -13 -13 -13 -14 -15 -17 -17 -17 -18 -19 -22 -24 -26 -28 -29 -29 -28 -27 -25 -22 -20 -17 -15 -16 -17 -19 -20 -22 -26 -30 -34 -36 -37 -38 -37 -35 -33 -32 -32 -31 -28 -24 -21 -20 -21 -22 -22 -22 -21 -20 -20 -21 -22 -22 -21 -19 -15 -9 -5 -4 -5 -5 -6 -9 -12 -15 -15 -14 -10 -7 -6 -8 -6 -3 1 6 7 4 3 2 2 2 2 2 2 2 2 2 2 2 2 3 3 4 3 2 1 -0 -0 -0 -0 -0 -1 -2 -2 -3 -3 -2 -2 -3 -3 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 1 1 2 2 3 4 5 6 6 6 5 4 4 3 3 3 3 3 3 2 1 1 -0 -0 -1 -0 0 1 2 4 6 8 8 7 6 4 3 1 0 -0 1 2 3 2 -1 -4 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -8 -8 -8 -7 -6 -4 -3 -2 -2 -3 -4 -4 -5 -5 -4 -4 -4 -4 -5 -6 -7 -7 -6 -5 -4 -3 -3 -4 -6 -8 -9 -10 -10 -8 -7 -7 -6 -6 -5 -3 -2 -1 -1 -2 -3 -4 -5 -6 -6 -7 -6 -5 -5 -5 -6 -6 -7 -7 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -10 -10 -10 -10 -10 -11 -11 -11 -12 -12 -12 -12 -12 -12 -11 -10 -9 -8 -7 -6 -6 -5 -5 -6 -6 -7 -7 -7 -6 -5 -4 -3 -2 -2 -1 -0 1 2 3 5 6 7 8 8 7 7 7 7 7 7 7 7 8 8 9 10 10 11 11 11 11 11 11 12 13 14 15 15 15 15 15 14 13 13 12 13 13 13 14 14 15 15 16 17 17 17 18 20 21 22 23 24 24 25 25 26 27 27 28 27 27 25 23 22 21 21 22 22 23 25 27 29 32 34 36 37 37 -7 -7 -7 -6 -7 -7 -7 -8 -9 -10 -10 -11 -12 -13 -14 -15 -17 -19 -20 -21 -21 -19 -17 -14 -13 -11 -11 -11 -11 -11 -11 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -13 -15 -16 -17 -17 -17 -17 -18 -20 -22 -23 -25 -25 -25 -25 -26 -26 -25 -22 -20 -17 -16 -17 -17 -17 -20 -25 -29 -32 -34 -35 -35 -35 -34 -32 -30 -30 -30 -29 -27 -24 -22 -22 -23 -23 -21 -20 -19 -19 -19 -20 -21 -22 -23 -21 -18 -15 -13 -9 -5 -6 -9 -12 -13 -12 -13 -12 -9 -4 -5 -11 -12 -8 -0 7 8 6 4 3 3 3 3 3 3 3 3 3 3 4 4 4 4 3 2 1 1 1 1 1 0 -0 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 2 2 2 3 4 5 5 5 5 4 4 3 3 3 3 3 2 1 1 0 0 -0 0 0 1 2 3 4 6 7 8 7 6 5 4 3 1 0 -0 1 2 2 -0 -3 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -8 -8 -7 -7 -6 -5 -4 -3 -3 -3 -4 -4 -4 -5 -4 -4 -4 -4 -5 -5 -6 -6 -6 -5 -4 -4 -4 -6 -8 -10 -11 -11 -9 -7 -6 -5 -4 -4 -3 -1 -1 -1 -2 -3 -5 -6 -6 -7 -7 -7 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -9 -9 -10 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -12 -11 -10 -9 -8 -7 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -4 -3 -2 -2 -1 -0 0 1 2 4 5 7 7 7 7 7 7 7 7 7 7 7 7 8 8 9 10 10 10 10 10 11 11 12 13 14 14 15 15 16 16 15 13 13 12 13 13 13 13 14 14 15 15 16 17 17 17 18 20 21 22 23 23 24 25 25 26 27 28 28 28 27 26 24 23 22 22 23 23 25 26 29 31 34 36 37 38 -7 -7 -7 -6 -6 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -17 -18 -21 -23 -24 -24 -23 -21 -18 -15 -13 -11 -11 -11 -11 -11 -11 -12 -12 -12 -13 -13 -12 -12 -12 -12 -12 -11 -11 -10 -11 -12 -14 -15 -16 -16 -16 -16 -17 -19 -21 -23 -24 -23 -23 -22 -22 -24 -24 -24 -22 -20 -18 -17 -17 -18 -21 -24 -28 -31 -33 -33 -33 -33 -32 -31 -29 -28 -28 -27 -26 -24 -24 -24 -24 -24 -22 -19 -18 -17 -17 -19 -20 -21 -21 -21 -20 -19 -18 -16 -12 -10 -10 -11 -11 -12 -12 -12 -9 -5 -1 -4 -8 -11 -11 -6 1 6 8 7 5 4 4 4 5 5 5 5 5 5 5 5 4 4 3 2 2 2 1 1 1 1 0 0 -0 -0 -1 -1 -2 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 1 1 2 2 3 4 4 5 4 4 3 3 3 3 3 3 1 0 -0 -0 0 1 2 2 2 3 3 5 6 7 7 7 5 5 4 4 3 1 -0 0 1 1 0 -2 -4 -5 -6 -6 -6 -5 -5 -5 -6 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -5 -6 -6 -8 -10 -11 -12 -11 -8 -6 -4 -3 -2 -2 -1 -1 -1 -2 -4 -5 -6 -6 -7 -7 -7 -6 -6 -6 -7 -7 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -9 -9 -9 -10 -10 -10 -11 -11 -11 -12 -12 -11 -11 -11 -10 -9 -8 -7 -6 -5 -5 -4 -5 -5 -5 -6 -6 -5 -4 -3 -2 -2 -1 -1 -0 0 1 2 3 4 6 7 7 8 8 8 7 7 7 7 7 7 7 8 9 9 10 10 10 10 10 11 11 12 13 14 15 16 16 16 15 14 13 13 13 13 13 13 14 14 14 15 16 16 16 17 17 19 20 21 22 22 23 24 25 26 26 27 28 28 29 28 26 25 24 23 23 24 24 26 28 31 33 36 38 38 -7 -7 -6 -6 -6 -6 -6 -7 -8 -9 -11 -12 -14 -15 -17 -18 -19 -22 -23 -24 -25 -24 -23 -20 -18 -15 -13 -11 -11 -11 -11 -11 -12 -12 -12 -12 -13 -13 -13 -12 -12 -11 -10 -10 -9 -10 -11 -12 -13 -14 -14 -13 -13 -14 -17 -19 -22 -23 -23 -22 -20 -20 -20 -21 -21 -20 -19 -18 -17 -18 -19 -21 -23 -26 -28 -30 -31 -31 -31 -30 -30 -29 -27 -26 -25 -25 -25 -25 -24 -25 -24 -22 -20 -18 -16 -16 -16 -17 -17 -18 -20 -20 -19 -19 -18 -16 -14 -12 -11 -9 -8 -9 -9 -8 -6 -2 0 -1 -3 -6 -9 -7 -1 5 9 9 8 7 6 6 6 6 6 6 5 5 5 5 4 3 3 2 2 2 2 1 1 1 1 1 0 -1 -1 -2 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 1 1 1 1 2 3 3 4 4 3 3 3 3 3 3 2 1 -1 -1 -0 1 2 3 4 4 4 4 5 6 7 7 5 4 3 4 4 4 2 1 0 0 1 0 -2 -4 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -7 -7 -7 -7 -8 -10 -11 -13 -12 -10 -7 -4 -2 -1 -1 -1 -1 -2 -2 -4 -5 -5 -6 -6 -7 -7 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -8 -7 -6 -6 -5 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -0 -0 -0 0 1 2 4 5 6 7 7 8 8 8 8 7 7 7 7 7 8 8 9 9 10 10 10 10 11 11 12 13 14 15 16 17 17 16 15 14 14 13 13 13 13 13 14 14 14 15 15 16 16 17 18 19 20 21 22 23 24 24 25 26 27 27 28 29 29 27 26 25 24 24 24 25 26 27 29 32 35 37 38 -7 -7 -6 -6 -6 -6 -6 -7 -8 -9 -10 -11 -13 -16 -18 -19 -20 -21 -22 -23 -23 -22 -21 -19 -17 -15 -13 -12 -11 -11 -11 -11 -12 -12 -12 -12 -12 -13 -13 -13 -12 -11 -10 -10 -10 -10 -11 -11 -12 -12 -12 -11 -11 -11 -13 -16 -18 -21 -22 -22 -21 -18 -17 -17 -17 -16 -15 -14 -14 -16 -18 -19 -21 -23 -25 -26 -27 -28 -29 -29 -28 -27 -26 -25 -25 -25 -25 -25 -24 -24 -23 -22 -21 -19 -17 -16 -15 -14 -14 -15 -16 -18 -18 -19 -18 -17 -16 -15 -13 -11 -9 -8 -6 -5 -4 -2 1 3 4 2 -2 -5 -5 -2 4 9 10 10 9 8 8 7 7 7 6 6 6 5 4 4 3 3 3 2 1 1 1 1 1 1 0 -1 -2 -2 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 1 1 1 1 2 2 3 3 3 2 2 3 3 2 1 -0 -1 -1 -1 1 2 4 5 5 4 4 4 5 5 5 4 2 2 3 4 4 3 1 0 0 0 -0 -2 -4 -5 -6 -7 -7 -7 -6 -6 -6 -7 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -4 -4 -5 -5 -5 -6 -7 -7 -8 -8 -8 -9 -11 -12 -13 -11 -8 -5 -2 0 0 -1 -2 -2 -3 -3 -4 -4 -5 -5 -7 -7 -7 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -7 -6 -6 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -6 -6 -5 -5 -4 -4 -4 -5 -5 -5 -4 -4 -3 -3 -2 -1 -1 -0 0 0 1 1 2 3 4 5 6 7 8 8 8 8 8 8 7 8 8 8 8 9 9 9 10 10 11 11 11 12 13 14 15 17 17 17 17 16 16 15 14 13 13 13 13 13 13 14 14 14 15 15 16 17 17 19 20 21 22 23 24 25 25 26 27 28 28 29 28 27 26 24 24 24 25 26 27 28 31 33 36 38 -7 -7 -7 -6 -6 -6 -6 -6 -7 -8 -9 -10 -12 -15 -18 -20 -21 -22 -22 -22 -21 -20 -19 -17 -15 -13 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -13 -13 -13 -12 -11 -11 -10 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -11 -12 -15 -17 -20 -22 -21 -19 -17 -15 -14 -13 -11 -11 -12 -13 -15 -16 -18 -19 -20 -21 -22 -24 -25 -26 -26 -26 -25 -24 -24 -24 -25 -25 -24 -23 -22 -21 -20 -19 -18 -17 -16 -14 -13 -13 -13 -14 -15 -16 -17 -17 -16 -16 -15 -14 -13 -9 -6 -3 -1 -0 2 7 10 11 8 4 -0 -2 -2 1 5 9 10 11 10 9 8 8 8 7 7 6 5 5 4 3 3 2 1 1 0 0 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 1 1 1 1 2 2 2 2 2 3 2 1 -0 -2 -2 -1 1 2 4 5 5 4 4 3 4 4 3 2 1 0 2 3 4 3 2 0 -0 -0 -1 -2 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -3 -3 -3 -4 -5 -6 -6 -7 -7 -8 -8 -8 -8 -9 -11 -12 -12 -10 -6 -2 0 1 -0 -2 -3 -3 -3 -3 -3 -4 -5 -6 -7 -7 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -5 -4 -4 -4 -4 -5 -5 -4 -4 -4 -3 -3 -2 -1 -0 0 0 1 1 1 2 3 4 5 6 6 7 8 8 8 8 8 8 8 8 8 8 9 9 9 10 10 11 11 11 12 13 14 15 16 17 18 18 18 17 16 14 13 13 12 12 13 13 13 13 13 14 14 15 15 16 17 19 20 22 23 24 24 25 25 26 27 28 28 28 28 27 25 24 24 24 25 26 27 29 31 34 37 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -8 -10 -12 -15 -18 -21 -22 -22 -22 -22 -21 -20 -18 -15 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -13 -13 -13 -12 -11 -11 -11 -11 -12 -12 -12 -12 -11 -11 -10 -9 -9 -10 -11 -12 -14 -17 -20 -21 -20 -19 -17 -15 -13 -12 -11 -10 -11 -12 -13 -15 -15 -16 -16 -17 -19 -21 -23 -24 -25 -25 -24 -23 -23 -23 -23 -23 -22 -21 -20 -20 -20 -20 -19 -19 -18 -17 -15 -13 -11 -11 -11 -13 -14 -15 -14 -14 -14 -14 -12 -8 -4 -1 1 5 10 15 18 17 14 10 5 0 -2 -1 3 6 9 11 11 10 9 9 9 9 8 7 6 5 4 3 2 1 1 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -1 -1 -1 -0 0 0 0 0 0 0 1 1 1 1 2 2 2 0 -1 -2 -2 -1 1 2 4 4 4 3 3 3 3 4 3 1 -0 -1 0 2 3 3 2 0 -1 -1 -1 -2 -4 -5 -6 -7 -7 -8 -8 -7 -7 -8 -8 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -2 -3 -4 -6 -7 -7 -7 -7 -8 -7 -7 -8 -9 -11 -12 -11 -8 -4 -0 2 1 -1 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -1 -0 0 1 1 1 2 2 3 4 4 5 6 6 7 8 8 8 8 8 8 8 8 8 9 9 9 10 10 11 11 12 12 13 13 14 15 16 17 18 18 18 17 15 14 13 13 12 13 13 13 12 12 13 13 14 15 15 16 17 18 20 22 23 24 25 25 26 26 27 28 28 28 28 26 25 24 24 25 25 26 28 30 32 35 -8 -8 -8 -8 -7 -7 -6 -7 -7 -7 -8 -9 -11 -13 -17 -20 -21 -22 -22 -21 -21 -19 -17 -15 -13 -12 -12 -12 -11 -11 -11 -11 -11 -10 -11 -11 -12 -13 -13 -13 -12 -12 -11 -11 -11 -11 -12 -12 -12 -11 -11 -11 -10 -10 -11 -11 -12 -13 -14 -16 -19 -20 -20 -19 -17 -16 -13 -11 -10 -10 -11 -13 -13 -13 -12 -12 -13 -16 -18 -20 -22 -24 -24 -23 -22 -21 -21 -21 -21 -21 -21 -20 -19 -19 -20 -20 -21 -22 -22 -22 -19 -14 -10 -7 -6 -8 -10 -11 -11 -11 -12 -13 -12 -9 -7 -4 1 9 16 22 23 22 19 15 10 6 2 -0 1 4 7 9 11 11 11 10 10 10 9 8 7 6 5 3 2 1 0 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 0 1 1 2 1 -0 -1 -2 -1 -0 1 3 4 4 3 2 2 2 3 4 3 1 -0 -1 -1 1 3 3 2 0 -1 -2 -2 -3 -4 -5 -5 -6 -7 -8 -8 -8 -8 -8 -8 -9 -9 -8 -8 -8 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -6 -5 -4 -3 -3 -5 -6 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -9 -5 -2 1 1 -1 -3 -4 -3 -3 -3 -3 -4 -5 -6 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -7 -7 -7 -7 -8 -7 -7 -7 -6 -6 -5 -4 -4 -3 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -1 -1 0 1 1 1 2 2 3 3 4 4 5 5 6 7 7 8 8 8 8 8 8 8 8 9 9 10 10 11 11 12 12 12 13 13 14 15 16 17 18 18 17 16 15 14 13 13 13 13 12 12 12 12 13 13 14 15 15 15 16 18 19 21 23 24 25 26 26 27 27 28 28 28 27 26 24 24 24 24 25 27 29 31 34 -8 -8 -9 -8 -8 -8 -8 -7 -7 -8 -8 -9 -10 -12 -14 -16 -18 -19 -20 -19 -19 -18 -16 -14 -13 -12 -12 -12 -11 -11 -10 -10 -10 -10 -11 -11 -12 -13 -13 -13 -12 -12 -11 -11 -11 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -13 -13 -14 -16 -17 -18 -19 -18 -15 -13 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -12 -15 -18 -21 -23 -23 -22 -20 -19 -18 -17 -18 -19 -19 -19 -19 -18 -17 -18 -18 -20 -21 -22 -21 -20 -17 -13 -7 -3 -3 -5 -6 -7 -7 -8 -9 -10 -11 -12 -9 -3 4 12 19 22 22 20 17 13 9 6 3 2 1 4 9 11 12 12 12 11 11 10 9 8 6 5 4 2 1 -0 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 1 1 -1 -2 -2 -1 0 2 3 4 3 2 1 0 1 3 4 4 2 -0 -2 -1 0 2 2 2 -0 -2 -2 -3 -3 -4 -4 -5 -6 -6 -7 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -6 -5 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -9 -7 -3 -0 1 -0 -2 -4 -4 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -7 -7 -6 -5 -5 -4 -3 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -2 -2 -1 -0 0 1 1 2 2 3 3 3 4 4 5 5 6 6 7 8 8 8 8 8 8 8 9 9 9 10 10 11 11 11 12 12 12 13 14 15 16 17 17 17 17 16 15 14 14 13 13 13 12 12 13 13 13 14 14 14 15 15 16 17 19 21 23 25 26 26 27 27 28 28 29 28 27 25 24 23 23 24 26 27 30 33 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -12 -13 -14 -15 -16 -16 -15 -15 -14 -13 -13 -13 -12 -12 -11 -10 -10 -10 -10 -10 -11 -11 -12 -13 -13 -13 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -12 -13 -14 -15 -15 -16 -17 -16 -14 -12 -12 -12 -12 -13 -13 -12 -11 -10 -9 -9 -10 -13 -17 -20 -23 -24 -23 -21 -18 -16 -14 -14 -15 -17 -17 -17 -16 -15 -14 -14 -14 -16 -18 -18 -17 -17 -16 -14 -9 -4 -2 -1 -1 -2 -3 -5 -6 -7 -9 -11 -13 -12 -10 -5 2 8 13 16 17 14 10 7 6 5 5 6 10 13 14 13 13 12 12 11 10 8 7 6 4 2 1 -0 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -1 -1 -0 -0 -1 -2 -2 -1 0 2 3 4 3 1 -0 -1 1 3 5 5 3 0 -2 -2 -1 1 2 1 -0 -2 -2 -3 -4 -4 -5 -5 -5 -6 -7 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -7 -7 -7 -7 -7 -7 -7 -6 -7 -7 -8 -9 -9 -7 -5 -2 -0 -0 -2 -3 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -5 -6 -6 -6 -7 -7 -7 -8 -8 -8 -7 -7 -6 -5 -4 -3 -3 -3 -3 -3 -4 -4 -4 -3 -3 -3 -3 -2 -2 -1 -1 -0 0 1 1 2 2 3 3 3 4 4 4 5 6 6 7 7 8 8 8 8 8 8 8 9 9 10 10 10 11 11 11 12 12 13 13 14 16 16 17 17 17 16 15 15 14 14 13 13 13 13 13 14 14 14 14 15 15 15 15 17 18 20 23 24 26 26 27 28 28 29 29 28 27 25 23 23 23 24 26 28 31 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -11 -11 -11 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -12 -11 -10 -10 -10 -10 -10 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -11 -10 -10 -10 -10 -11 -11 -10 -10 -10 -11 -11 -11 -11 -12 -12 -13 -15 -15 -15 -14 -13 -11 -11 -11 -12 -13 -14 -13 -12 -10 -8 -8 -9 -12 -15 -19 -22 -24 -25 -23 -20 -16 -13 -12 -12 -13 -14 -15 -15 -14 -13 -12 -11 -12 -13 -13 -14 -15 -16 -15 -13 -9 -6 -2 -0 1 1 0 -1 -1 -3 -4 -6 -7 -8 -8 -6 -3 2 6 8 10 10 9 6 3 1 3 8 12 15 16 15 14 13 12 11 10 9 7 6 4 3 1 -0 -1 -1 -1 -1 -0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -1 -0 1 2 3 2 1 -0 -1 1 3 5 5 4 0 -2 -3 -2 -0 1 1 -0 -2 -2 -3 -4 -4 -5 -5 -5 -6 -6 -7 -8 -8 -9 -9 -9 -9 -8 -8 -8 -7 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -7 -8 -8 -8 -6 -4 -2 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -8 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -7 -6 -5 -4 -3 -3 -2 -2 -3 -3 -4 -4 -3 -3 -3 -2 -2 -2 -1 -1 -1 -0 0 1 1 2 2 3 3 3 4 4 4 5 5 6 6 7 7 7 8 8 8 8 8 8 9 9 9 10 10 10 11 11 12 12 13 14 15 16 17 17 17 16 16 15 15 14 13 13 13 14 14 14 14 15 15 15 15 15 16 17 18 20 22 24 25 27 27 28 29 29 29 28 26 24 22 22 22 24 27 30 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -11 -12 -12 -12 -13 -13 -13 -13 -13 -12 -11 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -11 -11 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -11 -12 -13 -13 -12 -10 -9 -10 -11 -12 -14 -15 -15 -13 -11 -9 -8 -8 -11 -14 -18 -20 -23 -24 -24 -21 -18 -15 -13 -12 -12 -12 -13 -13 -13 -13 -11 -10 -9 -9 -10 -10 -11 -12 -13 -13 -12 -10 -7 -4 -0 1 1 1 2 3 2 0 -2 -4 -6 -6 -5 -4 -2 -0 3 5 6 5 4 -1 -3 -2 3 11 17 18 18 17 15 13 12 11 9 8 6 5 3 2 1 -0 -1 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -0 1 1 2 1 -0 -1 -1 0 3 5 5 3 0 -2 -3 -3 -1 0 1 -0 -2 -2 -3 -3 -4 -5 -5 -6 -6 -6 -6 -7 -7 -8 -9 -9 -9 -8 -8 -8 -7 -7 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -7 -8 -8 -7 -5 -3 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -7 -6 -5 -4 -3 -3 -2 -2 -2 -2 -3 -4 -4 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -0 0 1 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 7 8 8 8 8 9 9 9 9 10 10 11 11 12 13 14 15 15 16 17 17 17 16 16 15 14 14 14 14 14 15 15 15 16 16 16 16 16 16 17 18 20 22 24 25 26 27 28 29 30 30 28 25 22 20 20 22 25 27 -9 -9 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -10 -11 -12 -13 -13 -13 -12 -13 -13 -14 -14 -14 -13 -13 -12 -11 -11 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -11 -12 -13 -13 -13 -13 -12 -12 -12 -11 -11 -9 -9 -9 -11 -12 -14 -16 -16 -15 -13 -11 -9 -9 -11 -13 -16 -18 -21 -22 -22 -21 -19 -16 -14 -12 -12 -12 -12 -12 -12 -12 -11 -10 -9 -8 -8 -8 -8 -9 -10 -11 -12 -12 -12 -8 -4 -1 -0 0 1 2 2 1 -1 -2 -3 -3 -3 -4 -4 -4 -2 -0 2 3 3 -1 -7 -11 -9 -2 8 16 20 21 19 17 15 13 12 10 9 7 5 4 3 1 0 -0 -0 -0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 0 1 1 0 -1 -1 -1 -0 2 4 4 3 0 -2 -3 -3 -2 -1 -0 -1 -2 -2 -3 -4 -4 -5 -5 -6 -6 -6 -6 -6 -7 -8 -8 -9 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -9 -9 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -6 -6 -6 -6 -7 -7 -8 -8 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -6 -5 -4 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 0 1 2 2 2 3 3 4 4 4 4 5 5 5 5 6 6 7 7 7 7 8 8 8 8 8 9 9 9 10 10 11 12 12 13 14 15 16 17 17 17 17 16 15 15 14 14 15 15 15 16 16 16 17 17 17 16 17 17 19 20 22 23 25 26 27 29 30 31 29 26 23 20 19 20 23 25 -9 -9 -9 -8 -8 -8 -8 -9 -9 -10 -10 -11 -11 -11 -12 -13 -15 -16 -16 -14 -13 -13 -13 -14 -14 -14 -14 -14 -14 -13 -12 -12 -11 -12 -12 -12 -11 -11 -11 -11 -10 -9 -9 -10 -11 -12 -11 -11 -11 -12 -12 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -13 -13 -12 -10 -9 -8 -8 -10 -12 -14 -16 -17 -17 -15 -13 -12 -11 -11 -13 -15 -17 -18 -18 -18 -18 -17 -16 -14 -12 -12 -12 -12 -11 -11 -10 -10 -10 -9 -9 -8 -8 -8 -7 -7 -8 -9 -11 -12 -11 -7 -4 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -2 -1 -0 0 -2 -7 -13 -16 -14 -7 3 14 20 23 22 19 17 15 13 11 9 8 6 5 3 2 1 0 0 -0 -1 -1 -2 -3 -3 -3 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -3 -2 -2 -1 1 1 1 0 -1 -2 -2 -1 1 3 4 2 -0 -2 -3 -3 -3 -2 -2 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -8 -9 -10 -10 -9 -9 -8 -8 -8 -7 -7 -6 -6 -6 -6 -7 -7 -8 -7 -6 -5 -4 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -2 -2 -3 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 0 1 2 2 3 3 3 4 4 4 4 4 4 4 5 5 6 6 7 7 7 7 7 8 8 8 8 9 9 10 10 10 11 11 12 13 14 15 16 17 17 17 16 15 15 15 15 15 15 16 16 17 17 17 17 17 17 18 19 20 21 22 23 24 26 27 29 31 31 29 25 21 19 20 21 23 -8 -8 -8 -8 -8 -8 -9 -9 -9 -10 -10 -11 -11 -12 -13 -15 -16 -18 -17 -15 -14 -13 -13 -13 -13 -14 -14 -15 -16 -17 -16 -14 -13 -13 -14 -14 -13 -13 -12 -10 -9 -8 -9 -9 -10 -11 -11 -11 -12 -13 -14 -15 -15 -16 -15 -15 -15 -14 -14 -14 -14 -13 -12 -11 -10 -9 -8 -7 -9 -12 -15 -16 -17 -17 -17 -17 -16 -14 -14 -14 -15 -15 -14 -13 -13 -13 -13 -13 -13 -12 -12 -12 -11 -10 -9 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -8 -7 -8 -9 -10 -8 -6 -4 -3 -2 -2 -1 -1 0 0 0 1 2 2 2 2 1 -1 -1 -2 -2 -3 -7 -11 -15 -17 -17 -11 -1 10 19 25 24 21 19 16 14 12 11 9 7 6 4 2 1 0 0 -0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 0 1 1 0 -0 -1 -1 -0 1 2 2 1 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -5 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -7 -8 -9 -9 -10 -9 -9 -8 -8 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -7 -6 -4 -3 -3 -2 -2 -3 -2 -2 -1 -1 -0 -0 -1 -1 -2 -3 -3 -4 -4 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 1 1 2 2 3 3 3 3 3 3 3 3 3 4 4 5 5 6 6 6 7 7 7 7 8 8 8 9 9 9 9 10 10 11 11 12 13 15 16 17 17 17 16 15 15 15 15 15 16 16 17 17 17 17 17 18 19 20 20 21 21 22 23 24 26 29 31 32 32 29 25 21 20 20 22 -9 -9 -8 -8 -8 -8 -8 -8 -9 -9 -10 -11 -12 -13 -15 -17 -19 -19 -19 -17 -14 -13 -12 -12 -13 -13 -14 -14 -16 -18 -19 -16 -14 -13 -14 -14 -13 -12 -11 -9 -9 -8 -9 -9 -10 -9 -9 -10 -11 -13 -14 -16 -18 -17 -15 -13 -13 -13 -13 -14 -13 -12 -12 -11 -9 -8 -7 -7 -8 -11 -14 -16 -17 -17 -17 -17 -17 -17 -16 -16 -16 -15 -13 -10 -9 -9 -10 -11 -11 -11 -11 -10 -10 -9 -8 -6 -6 -6 -6 -7 -7 -8 -9 -11 -12 -12 -10 -8 -6 -6 -7 -6 -5 -3 -3 -2 -1 -0 0 1 1 2 3 5 6 7 6 4 2 -0 -3 -6 -8 -11 -12 -15 -17 -18 -15 -8 4 16 23 24 23 20 18 16 14 12 11 9 6 4 3 2 1 0 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 0 0 0 0 -0 -0 0 1 1 1 0 -2 -3 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -6 -6 -6 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -7 -6 -6 -6 -7 -8 -9 -9 -9 -9 -8 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -5 -4 -3 -2 -2 -2 -2 -1 -1 -0 0 0 0 -1 -2 -2 -3 -3 -4 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -10 -11 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -6 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -2 -2 -2 -1 -1 0 1 1 2 2 3 3 3 3 3 3 3 3 3 3 4 4 5 5 6 6 6 6 7 7 8 8 8 8 8 9 9 9 10 10 11 12 13 13 15 16 16 16 16 15 15 15 15 15 16 16 16 16 16 17 18 19 20 21 22 22 22 23 24 25 28 31 33 34 34 30 24 20 20 21 -9 -9 -8 -7 -7 -8 -8 -8 -9 -9 -10 -11 -12 -13 -16 -18 -19 -20 -19 -17 -15 -13 -13 -12 -13 -13 -13 -14 -15 -18 -19 -17 -13 -10 -10 -10 -10 -9 -9 -9 -9 -8 -9 -9 -9 -9 -9 -10 -11 -13 -15 -17 -16 -14 -13 -14 -15 -14 -14 -13 -12 -11 -10 -9 -7 -5 -5 -6 -7 -10 -12 -14 -14 -14 -13 -13 -13 -14 -15 -15 -14 -13 -11 -9 -7 -7 -7 -8 -9 -10 -10 -9 -9 -8 -7 -6 -5 -5 -4 -4 -4 -4 -6 -8 -11 -13 -13 -12 -10 -8 -7 -6 -5 -4 -3 -3 -1 0 1 1 2 2 4 6 9 11 12 11 9 6 0 -6 -9 -11 -12 -12 -14 -17 -19 -19 -14 -3 10 18 23 23 22 19 18 16 15 13 10 8 6 4 2 1 -0 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -0 -0 0 0 0 1 1 0 -0 -1 -3 -4 -4 -4 -4 -3 -3 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -7 -7 -7 -8 -8 -8 -9 -9 -8 -7 -6 -5 -5 -6 -6 -7 -8 -9 -9 -8 -8 -7 -6 -6 -6 -6 -6 -7 -7 -7 -6 -6 -4 -3 -2 -1 -1 -1 -0 -0 0 1 1 1 1 -0 -1 -2 -3 -3 -3 -4 -4 -5 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -13 -13 -12 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -6 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -2 -1 -0 0 1 1 2 2 2 3 3 3 3 3 3 3 3 3 4 4 4 5 5 5 6 6 7 7 8 8 8 8 8 8 9 9 9 10 11 11 12 13 14 15 15 15 15 15 14 14 15 15 15 15 15 16 16 17 19 20 21 23 23 23 23 23 24 27 30 33 36 38 35 28 22 20 20 -9 -8 -7 -7 -7 -7 -7 -8 -9 -10 -10 -11 -11 -13 -15 -17 -18 -19 -18 -17 -16 -15 -14 -14 -14 -14 -15 -15 -16 -17 -17 -15 -11 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -10 -11 -12 -12 -14 -15 -16 -17 -17 -17 -16 -15 -14 -13 -12 -10 -8 -5 -2 -0 -0 -2 -4 -8 -10 -12 -13 -13 -13 -12 -11 -10 -10 -11 -11 -10 -10 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -5 -3 -2 -1 -2 -4 -7 -9 -10 -11 -11 -11 -11 -9 -7 -4 -2 -2 -1 -0 1 1 1 2 3 5 9 14 17 19 19 16 10 2 -5 -10 -13 -14 -14 -13 -14 -15 -16 -17 -11 0 12 21 24 22 21 20 19 17 15 12 10 7 5 3 1 -0 -1 -2 -2 -3 -4 -4 -5 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -0 0 1 1 1 0 -0 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -8 -7 -6 -5 -5 -5 -6 -7 -8 -8 -8 -8 -7 -6 -6 -5 -5 -5 -6 -6 -6 -6 -5 -4 -2 -1 0 1 1 1 1 1 2 1 1 1 -0 -1 -2 -3 -3 -3 -3 -4 -5 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -11 -13 -14 -14 -14 -13 -11 -10 -9 -8 -8 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -1 -1 -0 -0 -1 -1 -2 -2 -2 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -0 0 1 1 2 2 2 3 3 3 4 4 3 3 3 3 3 4 4 4 5 5 5 6 7 7 7 7 7 7 7 8 8 9 9 10 10 10 11 12 13 14 15 15 14 14 14 14 14 14 14 14 15 16 17 18 19 20 22 23 23 23 23 23 25 28 32 36 39 38 33 26 21 19 -8 -7 -6 -6 -7 -7 -8 -8 -9 -10 -11 -11 -12 -13 -15 -16 -17 -18 -19 -19 -18 -17 -16 -16 -16 -17 -17 -18 -17 -17 -15 -11 -9 -9 -10 -9 -9 -8 -8 -8 -7 -7 -8 -8 -9 -9 -10 -10 -11 -11 -12 -13 -15 -17 -18 -19 -19 -18 -17 -16 -15 -12 -9 -5 -0 3 5 3 1 -3 -6 -9 -11 -12 -13 -13 -11 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -5 -6 -7 -7 -8 -8 -7 -6 -4 -1 0 0 -1 -3 -5 -8 -10 -11 -12 -11 -9 -7 -4 -3 -2 -1 -1 -0 0 2 3 4 7 12 18 23 25 24 19 13 5 -2 -9 -14 -17 -15 -12 -10 -11 -14 -17 -14 -5 7 18 21 22 22 22 22 20 18 15 12 9 6 4 1 -0 -1 -2 -2 -3 -4 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -1 -1 0 1 1 1 0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -10 -10 -10 -8 -7 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -6 -5 -5 -4 -4 -4 -5 -5 -4 -4 -2 -1 1 2 2 3 3 2 2 2 2 1 1 -0 -2 -3 -3 -3 -3 -3 -4 -4 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -12 -13 -14 -15 -16 -15 -13 -12 -10 -9 -8 -8 -8 -9 -9 -9 -8 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -2 -1 -1 -0 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -0 0 1 1 1 2 2 3 3 4 4 4 4 3 3 3 3 3 4 4 4 5 5 6 7 7 7 7 7 7 7 7 8 8 9 9 10 10 10 11 12 13 14 14 14 13 13 13 13 13 14 15 16 16 17 17 18 20 21 22 23 23 22 23 26 30 35 39 39 37 31 24 19 -7 -6 -6 -6 -7 -7 -8 -8 -9 -10 -10 -11 -12 -13 -14 -15 -17 -19 -21 -22 -22 -21 -21 -20 -20 -20 -21 -22 -21 -20 -16 -12 -9 -9 -9 -9 -8 -8 -8 -7 -8 -8 -8 -9 -9 -10 -10 -11 -11 -11 -12 -13 -15 -17 -19 -20 -21 -21 -20 -19 -18 -16 -13 -9 -4 1 5 6 5 3 -0 -4 -6 -8 -10 -11 -11 -9 -7 -7 -7 -7 -7 -8 -9 -9 -9 -8 -6 -6 -5 -4 -4 -4 -5 -7 -8 -9 -9 -9 -8 -6 -2 1 3 3 1 -2 -5 -7 -8 -9 -9 -9 -7 -5 -3 -2 -2 -2 -1 -0 1 3 5 9 13 17 20 20 19 17 14 9 2 -6 -11 -12 -11 -9 -8 -10 -15 -17 -16 -10 0 9 15 18 20 22 24 23 21 17 14 11 8 5 2 0 -1 -2 -3 -4 -5 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -0 1 1 1 0 -1 -2 -3 -3 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -10 -10 -10 -8 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -4 -4 -3 -2 -1 -0 1 2 3 3 3 3 2 2 1 0 -0 -1 -2 -3 -3 -3 -3 -4 -4 -4 -5 -6 -7 -8 -8 -9 -9 -9 -9 -8 -8 -9 -9 -10 -11 -12 -14 -15 -16 -17 -16 -15 -14 -12 -10 -8 -7 -7 -7 -8 -9 -9 -8 -7 -6 -5 -5 -5 -5 -5 -4 -3 -3 -2 -2 -2 -1 -1 -0 0 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 1 1 1 2 2 3 3 4 4 4 4 3 3 3 3 3 4 4 4 5 5 6 7 7 7 6 6 6 6 7 7 8 8 9 9 10 10 10 12 12 13 13 13 12 12 12 13 13 14 15 16 16 16 17 18 19 20 21 22 21 22 24 27 32 36 39 39 35 28 20 -5 -5 -6 -7 -7 -8 -8 -8 -8 -8 -9 -9 -10 -11 -12 -14 -15 -18 -20 -22 -23 -23 -23 -23 -23 -23 -23 -23 -23 -21 -16 -12 -9 -8 -9 -8 -8 -8 -7 -7 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -11 -13 -14 -17 -19 -20 -21 -22 -21 -20 -19 -18 -17 -14 -10 -6 -1 2 3 3 2 1 -1 -3 -4 -6 -7 -7 -6 -6 -6 -6 -6 -7 -8 -9 -10 -9 -7 -6 -5 -4 -3 -3 -4 -5 -7 -9 -10 -11 -12 -11 -8 -4 -0 3 4 3 0 -2 -3 -5 -6 -7 -8 -6 -4 -3 -2 -2 -2 -2 -1 0 2 5 6 7 7 8 8 8 9 10 8 3 -3 -7 -8 -7 -7 -10 -14 -17 -18 -16 -9 1 7 8 9 12 19 23 25 23 20 16 13 9 6 2 -0 -2 -3 -4 -5 -6 -6 -6 -5 -4 -4 -3 -3 -2 -2 -1 1 1 1 0 -1 -2 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -10 -10 -9 -7 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -2 -2 -1 0 1 2 3 3 3 2 2 1 0 -1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -8 -9 -9 -9 -9 -9 -8 -9 -9 -9 -11 -12 -13 -15 -17 -18 -18 -18 -16 -15 -14 -12 -10 -9 -7 -6 -6 -7 -8 -8 -7 -6 -5 -5 -6 -6 -6 -5 -5 -4 -4 -3 -2 -2 -2 -1 -1 -0 0 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 0 0 1 1 2 2 3 3 4 4 4 4 4 3 3 3 4 4 4 5 5 5 6 6 6 6 6 5 5 6 6 6 7 8 8 9 9 9 10 11 12 12 12 12 12 12 12 13 13 14 15 15 16 16 17 17 18 19 20 20 21 22 24 28 33 37 38 37 33 24 -4 -4 -5 -7 -8 -8 -8 -8 -8 -7 -7 -7 -8 -9 -11 -13 -15 -17 -19 -21 -22 -23 -24 -24 -24 -24 -23 -23 -22 -20 -15 -11 -9 -8 -8 -8 -8 -7 -7 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -11 -11 -12 -13 -15 -17 -19 -21 -21 -20 -19 -18 -17 -17 -16 -15 -12 -8 -5 -3 -2 -0 1 0 0 0 -1 -2 -4 -5 -4 -4 -4 -5 -6 -7 -8 -10 -10 -8 -6 -5 -4 -4 -4 -4 -5 -7 -8 -10 -10 -12 -13 -13 -11 -9 -4 -0 2 2 1 1 -0 -2 -3 -5 -5 -5 -3 -2 -2 -2 -2 -3 -3 -2 0 1 -0 -1 -2 -2 -3 -1 2 4 4 1 -3 -5 -6 -7 -10 -13 -16 -19 -19 -15 -8 -1 2 4 6 9 14 20 25 25 22 19 14 10 6 2 -1 -2 -4 -5 -6 -6 -6 -5 -5 -4 -3 -3 -2 -1 -0 1 1 -0 -1 -2 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -7 -7 -8 -9 -10 -9 -8 -6 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -2 -1 -0 1 1 2 2 2 2 1 1 -0 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -8 -9 -9 -9 -9 -9 -8 -8 -9 -10 -11 -13 -14 -16 -18 -19 -20 -19 -18 -16 -15 -13 -12 -10 -9 -7 -5 -5 -5 -6 -7 -7 -6 -5 -5 -6 -7 -7 -6 -6 -5 -4 -4 -3 -2 -2 -2 -2 -1 -0 -0 0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 1 1 2 2 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 6 6 6 6 6 5 5 5 5 5 6 7 7 8 9 9 9 10 11 11 11 11 11 11 12 12 13 13 14 15 16 16 16 17 17 18 19 20 20 20 22 25 29 33 36 37 36 29 -4 -4 -5 -7 -8 -8 -7 -7 -7 -7 -7 -7 -8 -9 -10 -12 -14 -15 -17 -19 -20 -22 -23 -23 -24 -23 -23 -23 -21 -18 -14 -11 -8 -7 -7 -7 -7 -8 -8 -8 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -13 -15 -17 -19 -20 -19 -18 -16 -16 -15 -15 -15 -14 -12 -10 -8 -6 -4 -3 -2 -2 -1 -0 -1 -2 -2 -2 -2 -3 -5 -6 -6 -6 -8 -9 -8 -5 -4 -4 -5 -5 -4 -5 -6 -7 -7 -8 -9 -10 -11 -13 -15 -13 -9 -5 -1 -0 1 1 2 1 -0 -2 -3 -3 -3 -2 -1 -1 -2 -4 -4 -3 -1 -1 -2 -4 -5 -6 -6 -5 -4 -2 -2 -3 -4 -5 -6 -7 -10 -15 -19 -22 -20 -15 -11 -6 -1 5 7 10 15 19 22 25 24 20 15 11 6 2 -1 -3 -5 -6 -7 -6 -6 -5 -4 -4 -3 -2 -1 0 0 -0 -1 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -6 -6 -7 -8 -9 -9 -9 -8 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -1 -1 -0 1 1 2 2 2 1 0 -0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -7 -8 -9 -9 -9 -9 -9 -8 -8 -9 -10 -11 -13 -15 -17 -19 -20 -21 -20 -19 -18 -16 -14 -13 -12 -10 -8 -6 -4 -3 -4 -5 -6 -6 -5 -5 -5 -6 -7 -7 -7 -7 -6 -6 -5 -4 -3 -3 -3 -3 -2 -1 -1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 1 1 2 2 2 3 3 3 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 5 4 4 4 4 5 5 6 7 8 8 9 9 9 10 10 11 11 11 11 11 12 13 14 15 15 16 16 17 17 18 19 20 20 19 20 22 25 29 33 36 37 33 -4 -4 -6 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -9 -10 -11 -13 -14 -15 -17 -18 -19 -20 -21 -22 -22 -21 -21 -20 -17 -13 -10 -8 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -11 -11 -11 -12 -12 -13 -12 -12 -12 -11 -12 -13 -15 -17 -18 -17 -17 -16 -15 -15 -14 -13 -13 -12 -10 -8 -7 -5 -3 -2 -2 -2 -2 -2 -2 -2 -1 -2 -3 -4 -6 -6 -6 -6 -6 -6 -3 -1 -1 -2 -2 -2 -3 -3 -4 -5 -7 -8 -9 -9 -11 -14 -16 -16 -13 -9 -6 -4 -2 0 2 3 2 1 -1 -2 -2 -1 -0 -1 -2 -3 -5 -3 -2 -3 -5 -6 -6 -7 -7 -8 -9 -9 -8 -7 -6 -5 -5 -7 -11 -17 -21 -22 -20 -18 -15 -9 -0 7 10 12 14 17 22 25 25 21 16 11 6 2 -1 -4 -5 -6 -6 -6 -6 -5 -4 -3 -2 -1 -0 -1 -2 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -6 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -1 -1 -0 0 1 1 1 1 0 -0 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -7 -8 -9 -9 -9 -9 -9 -9 -8 -9 -10 -11 -13 -15 -18 -19 -21 -21 -21 -20 -18 -17 -15 -13 -12 -11 -9 -8 -5 -3 -2 -2 -4 -5 -6 -5 -5 -5 -6 -8 -8 -8 -8 -7 -7 -6 -5 -4 -4 -3 -3 -3 -3 -2 -1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 1 1 1 2 2 2 3 3 4 4 4 4 4 5 5 5 6 6 6 6 6 6 5 5 4 4 3 3 4 4 5 6 7 8 8 8 8 9 10 10 10 10 10 10 11 12 13 14 15 16 16 17 17 18 19 20 20 19 19 20 22 26 30 34 36 35 -4 -5 -7 -8 -8 -8 -7 -7 -7 -7 -8 -8 -9 -9 -10 -11 -12 -13 -14 -15 -16 -17 -17 -18 -19 -18 -18 -17 -16 -15 -13 -11 -9 -8 -7 -7 -7 -7 -8 -9 -10 -10 -11 -12 -12 -12 -13 -13 -14 -14 -14 -13 -12 -12 -12 -13 -14 -15 -15 -15 -15 -16 -16 -16 -15 -14 -12 -10 -9 -6 -4 -1 -0 -1 -1 -1 -1 -2 -1 -1 -1 -3 -4 -6 -6 -5 -4 -4 -3 -2 -1 -0 -1 -1 -1 -0 -0 -1 -2 -3 -5 -7 -8 -8 -9 -12 -14 -15 -13 -11 -11 -9 -5 -1 2 3 2 1 -0 -1 -1 -1 0 -0 -2 -4 -4 -4 -4 -5 -5 -6 -7 -8 -9 -11 -13 -13 -13 -11 -9 -6 -5 -8 -11 -16 -20 -20 -20 -19 -16 -11 -2 4 9 12 15 19 24 26 25 22 18 12 7 3 -1 -3 -4 -5 -6 -6 -5 -4 -3 -2 -1 -1 -2 -2 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -7 -6 -5 -4 -3 -3 -4 -4 -4 -5 -5 -5 -4 -4 -3 -2 -1 -1 -1 -1 -0 0 0 1 1 0 -0 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -10 -11 -13 -15 -18 -19 -20 -21 -20 -19 -18 -17 -15 -14 -13 -11 -10 -8 -7 -4 -2 -1 -1 -3 -5 -6 -5 -5 -5 -6 -8 -9 -9 -9 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -3 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -1 -0 1 1 1 1 1 2 2 3 3 4 4 4 5 5 6 6 6 6 6 6 6 5 5 4 3 3 3 3 4 4 5 7 8 8 8 8 8 9 9 9 9 9 10 10 11 12 14 15 16 16 17 18 18 19 20 21 20 19 19 20 23 27 31 34 35 -4 -6 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -9 -9 -10 -11 -11 -12 -13 -14 -14 -14 -15 -15 -14 -13 -12 -12 -13 -13 -13 -13 -11 -10 -8 -7 -6 -5 -6 -7 -9 -11 -12 -14 -14 -13 -13 -14 -14 -14 -15 -15 -14 -12 -12 -12 -12 -12 -12 -13 -14 -15 -17 -18 -17 -16 -14 -12 -10 -8 -5 -1 1 1 1 1 1 1 0 1 0 -0 -2 -4 -5 -5 -4 -3 -2 -1 -1 -0 0 0 0 0 0 0 -0 -1 -3 -5 -6 -6 -7 -9 -11 -13 -13 -12 -13 -13 -11 -7 -3 -0 1 1 1 0 -1 -1 -2 -3 -4 -6 -6 -7 -7 -6 -6 -5 -7 -9 -11 -12 -13 -14 -14 -15 -14 -11 -8 -6 -8 -12 -17 -18 -17 -17 -19 -20 -17 -9 -1 5 9 14 18 21 23 24 22 18 14 9 5 2 -1 -3 -5 -6 -6 -5 -3 -2 -2 -2 -2 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -0 -0 -0 -0 -0 -1 -1 -2 -2 -3 -3 -4 -4 -4 -5 -5 -4 -4 -4 -4 -5 -5 -6 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -10 -11 -13 -15 -17 -19 -20 -20 -19 -18 -17 -16 -15 -14 -13 -12 -10 -9 -7 -5 -3 -1 -0 -1 -3 -4 -6 -5 -5 -5 -6 -8 -10 -10 -9 -9 -8 -8 -7 -6 -5 -5 -5 -5 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -3 -3 -2 -1 -1 -0 0 0 1 1 1 2 3 3 4 4 4 5 5 6 6 6 6 6 5 5 4 4 3 3 2 2 3 3 5 6 7 8 8 7 7 8 8 9 9 9 9 9 10 11 13 14 15 16 17 17 18 19 20 21 21 20 19 19 21 24 28 32 35 -5 -7 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -9 -9 -10 -10 -11 -12 -12 -13 -13 -12 -12 -12 -11 -11 -11 -11 -12 -13 -12 -12 -11 -10 -8 -7 -6 -5 -5 -6 -7 -8 -11 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -13 -12 -11 -11 -11 -11 -12 -12 -13 -16 -17 -18 -17 -16 -14 -12 -11 -8 -5 -1 1 2 3 4 4 3 3 3 2 1 -0 -2 -3 -4 -3 -1 -0 -0 0 1 1 1 1 0 0 0 -0 -1 -2 -3 -4 -4 -5 -7 -9 -10 -11 -13 -14 -13 -11 -8 -4 -2 -1 -0 0 -0 -1 -2 -2 -4 -6 -7 -8 -9 -9 -8 -7 -7 -9 -12 -13 -14 -15 -16 -17 -16 -15 -12 -9 -7 -7 -10 -13 -15 -17 -20 -22 -22 -18 -13 -9 -5 -0 3 7 11 15 18 19 18 16 13 8 4 1 -3 -5 -6 -5 -4 -3 -3 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -4 -3 -3 -2 -2 -3 -3 -4 -4 -4 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -5 -6 -6 -7 -8 -8 -9 -9 -8 -8 -9 -9 -10 -11 -13 -15 -16 -18 -19 -18 -18 -17 -16 -15 -15 -14 -13 -12 -10 -9 -8 -6 -4 -2 -1 -0 -1 -2 -4 -5 -5 -5 -5 -6 -9 -10 -10 -10 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -0 1 2 3 3 4 4 4 5 5 5 5 5 5 5 4 4 4 3 3 2 2 2 3 4 5 7 8 8 7 7 7 7 8 8 8 8 9 9 10 12 13 14 15 16 17 18 19 20 22 22 21 20 19 19 21 25 29 33 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -11 -12 -12 -11 -11 -10 -11 -11 -11 -11 -11 -12 -12 -11 -11 -10 -9 -8 -7 -6 -6 -5 -6 -6 -7 -8 -10 -11 -11 -12 -12 -12 -13 -13 -13 -14 -13 -12 -12 -11 -11 -11 -12 -12 -13 -14 -16 -17 -17 -16 -14 -13 -12 -11 -10 -7 -4 -2 1 2 3 4 4 4 3 3 2 1 -1 -2 -2 -1 0 0 0 1 1 1 1 1 0 -0 -1 -0 -0 -0 -0 -1 -2 -4 -6 -7 -8 -10 -13 -13 -13 -11 -8 -6 -4 -3 -2 -1 -1 -1 -2 -3 -5 -7 -9 -10 -11 -11 -9 -9 -10 -12 -14 -14 -16 -17 -18 -18 -17 -15 -13 -9 -5 -1 -3 -9 -15 -19 -18 -17 -16 -15 -14 -12 -12 -11 -10 -10 -9 -5 3 11 17 18 16 11 7 2 -2 -5 -5 -4 -4 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -4 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -14 -16 -17 -18 -17 -17 -16 -15 -14 -14 -13 -12 -12 -10 -9 -8 -6 -5 -3 -2 -1 -0 -1 -2 -4 -6 -6 -5 -5 -7 -9 -10 -11 -10 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -5 -5 -4 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -3 -3 -2 -2 -2 -1 0 1 2 3 3 3 4 4 4 4 4 4 4 4 4 4 3 2 2 2 2 2 3 4 6 7 7 7 7 7 7 7 7 7 7 8 8 9 10 12 13 14 15 16 17 18 20 21 23 22 21 19 18 20 23 27 31 -6 -7 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -10 -10 -10 -9 -10 -10 -11 -12 -12 -12 -11 -11 -10 -10 -9 -8 -8 -7 -6 -6 -5 -6 -6 -6 -7 -9 -10 -11 -10 -10 -10 -10 -10 -10 -11 -12 -12 -13 -13 -12 -13 -13 -13 -13 -14 -14 -15 -15 -15 -14 -13 -12 -12 -13 -12 -11 -9 -7 -5 -3 -2 -1 1 1 1 0 -0 -1 -1 -0 -1 -0 -0 0 1 1 2 2 2 1 -0 -1 -1 0 1 2 1 -1 -3 -5 -6 -6 -7 -9 -11 -12 -12 -10 -8 -7 -5 -4 -3 -3 -3 -3 -3 -4 -6 -9 -10 -11 -12 -11 -10 -10 -11 -13 -14 -16 -17 -19 -20 -19 -18 -15 -11 -8 -5 -5 -7 -12 -16 -16 -16 -17 -17 -16 -14 -12 -11 -10 -11 -14 -16 -13 -7 1 9 18 18 14 8 3 -2 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -4 -4 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -5 -5 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -6 -7 -8 -8 -9 -8 -8 -8 -8 -8 -9 -10 -11 -12 -13 -15 -16 -16 -17 -16 -15 -15 -14 -13 -12 -12 -11 -10 -9 -8 -6 -5 -4 -2 -1 -1 -1 -1 -2 -4 -6 -6 -6 -6 -7 -9 -10 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -5 -5 -6 -6 -6 -6 -6 -7 -6 -5 -5 -4 -4 -4 -5 -5 -5 -6 -6 -6 -5 -5 -4 -4 -3 -2 -1 -0 1 2 2 2 3 3 3 3 3 3 3 3 3 3 3 2 2 1 1 1 2 3 5 6 7 7 6 6 6 6 6 7 7 7 7 8 9 11 11 12 13 14 15 17 18 20 22 23 23 21 19 19 21 25 29 -7 -7 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -10 -10 -11 -12 -13 -13 -12 -12 -11 -10 -9 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -7 -9 -10 -11 -10 -8 -8 -8 -8 -8 -8 -9 -11 -13 -14 -14 -14 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -12 -11 -12 -14 -14 -14 -14 -14 -13 -12 -10 -6 -4 -2 -3 -4 -3 -2 -1 -1 -2 -1 -1 -0 0 2 2 2 2 1 -0 -0 0 2 3 1 -0 -2 -5 -6 -5 -4 -4 -6 -9 -10 -10 -9 -8 -7 -7 -6 -4 -4 -4 -4 -4 -6 -9 -10 -11 -12 -12 -12 -11 -11 -11 -13 -15 -17 -19 -21 -22 -20 -17 -13 -10 -8 -7 -7 -8 -11 -14 -15 -17 -18 -18 -16 -14 -13 -13 -12 -13 -15 -17 -17 -12 -4 6 14 16 14 9 3 -2 -5 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -2 -2 -3 -4 -5 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -5 -5 -6 -7 -8 -9 -9 -9 -9 -8 -8 -8 -9 -10 -11 -12 -13 -14 -15 -15 -16 -15 -15 -14 -13 -13 -12 -11 -10 -10 -9 -8 -7 -5 -4 -3 -2 -1 -1 -1 -1 -2 -4 -6 -7 -7 -7 -7 -9 -10 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -7 -7 -7 -8 -8 -8 -8 -7 -6 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -6 -6 -6 -5 -5 -4 -3 -2 -1 0 1 1 2 2 2 2 2 2 2 3 3 3 2 2 1 1 0 1 1 2 3 5 6 6 6 6 5 5 6 6 6 6 7 7 8 9 10 11 12 12 14 15 17 19 22 23 24 23 21 20 21 23 27 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -9 -10 -10 -11 -12 -13 -14 -15 -14 -13 -12 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -7 -7 -7 -7 -8 -10 -11 -9 -8 -8 -8 -7 -6 -6 -7 -8 -10 -13 -14 -15 -16 -16 -16 -16 -16 -16 -15 -14 -12 -11 -11 -11 -11 -12 -13 -15 -17 -19 -21 -21 -18 -14 -10 -6 -6 -7 -6 -5 -3 -4 -3 -3 -3 -2 -2 -1 0 1 1 1 0 0 1 2 3 1 -2 -5 -6 -7 -6 -3 -2 -2 -4 -6 -7 -8 -8 -8 -7 -6 -5 -5 -5 -6 -6 -8 -9 -10 -11 -11 -12 -13 -13 -12 -11 -13 -14 -16 -18 -21 -23 -23 -21 -16 -11 -8 -7 -7 -7 -8 -10 -12 -15 -18 -19 -18 -16 -16 -16 -15 -12 -13 -16 -18 -18 -14 -6 1 6 10 11 8 3 -2 -5 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -4 -4 -5 -6 -7 -7 -7 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -6 -7 -8 -9 -10 -10 -9 -9 -8 -8 -9 -10 -12 -13 -13 -14 -14 -15 -15 -15 -14 -13 -13 -12 -12 -11 -10 -9 -9 -8 -7 -6 -5 -4 -2 -2 -1 -2 -2 -2 -3 -4 -6 -7 -7 -7 -7 -9 -10 -11 -11 -10 -9 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -9 -8 -8 -8 -8 -8 -9 -10 -10 -10 -9 -7 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -7 -7 -6 -6 -5 -5 -4 -3 -2 -1 -0 0 1 1 1 1 1 2 2 2 2 2 2 1 1 -0 -1 -0 0 1 2 3 5 5 5 5 5 5 5 5 5 5 6 7 8 8 9 10 10 11 12 13 15 18 20 23 25 25 23 21 21 23 26 -7 -7 -8 -8 -8 -8 -7 -7 -8 -8 -7 -7 -7 -7 -7 -7 -7 -8 -10 -11 -11 -12 -14 -15 -15 -15 -15 -13 -12 -11 -10 -10 -9 -9 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -8 -7 -7 -8 -8 -7 -7 -6 -7 -9 -11 -13 -15 -15 -16 -16 -16 -17 -16 -14 -12 -11 -11 -11 -11 -12 -12 -14 -16 -19 -22 -24 -24 -21 -17 -11 -8 -7 -7 -7 -6 -5 -5 -4 -4 -4 -4 -3 -2 -1 -1 -1 -1 -2 -1 0 1 0 -2 -5 -8 -9 -8 -6 -3 -0 0 -1 -3 -5 -6 -7 -7 -7 -6 -5 -6 -7 -8 -9 -10 -10 -11 -11 -13 -15 -16 -15 -12 -12 -13 -15 -17 -19 -23 -26 -25 -21 -14 -9 -7 -6 -6 -7 -7 -9 -12 -16 -19 -19 -17 -17 -17 -15 -12 -12 -14 -16 -17 -16 -13 -9 -4 0 4 5 4 1 -2 -6 -8 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -3 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -3 -3 -4 -4 -5 -6 -7 -7 -7 -7 -6 -5 -5 -4 -4 -4 -4 -5 -5 -6 -7 -8 -9 -10 -10 -10 -10 -10 -10 -10 -11 -13 -13 -14 -14 -14 -14 -14 -14 -14 -13 -12 -12 -11 -11 -10 -10 -9 -8 -7 -6 -6 -5 -4 -3 -2 -2 -2 -2 -2 -3 -4 -5 -6 -7 -7 -8 -9 -10 -11 -11 -10 -9 -9 -8 -8 -7 -7 -8 -8 -8 -9 -9 -9 -9 -10 -10 -9 -9 -8 -9 -10 -12 -12 -11 -10 -9 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -6 -6 -5 -5 -4 -3 -3 -2 -1 -0 0 1 1 1 1 1 1 1 1 1 0 -0 -1 -1 -1 -1 0 1 2 3 4 5 4 4 4 4 4 5 5 5 6 7 7 8 9 9 10 11 12 14 16 19 22 24 26 26 24 22 22 24 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -10 -12 -12 -12 -14 -14 -14 -14 -13 -13 -12 -11 -10 -10 -10 -9 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -9 -9 -9 -9 -10 -11 -10 -9 -8 -6 -6 -7 -9 -11 -12 -12 -12 -12 -13 -13 -13 -11 -10 -10 -11 -12 -12 -12 -13 -15 -17 -21 -24 -25 -24 -22 -17 -13 -10 -9 -9 -8 -7 -6 -5 -5 -5 -4 -4 -3 -2 -2 -1 -2 -2 -2 -2 -1 -1 -2 -4 -6 -9 -9 -9 -8 -6 -3 -1 -0 -1 -3 -5 -6 -6 -6 -6 -7 -8 -8 -9 -9 -10 -11 -12 -13 -16 -18 -18 -14 -12 -13 -14 -15 -16 -21 -26 -29 -26 -19 -12 -8 -5 -5 -6 -6 -7 -9 -12 -16 -18 -17 -17 -15 -14 -12 -13 -13 -14 -15 -16 -14 -12 -10 -7 -5 -2 -1 -1 -2 -3 -6 -8 -8 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -4 -5 -5 -6 -7 -8 -9 -10 -10 -11 -11 -11 -11 -12 -13 -14 -15 -15 -14 -14 -14 -13 -13 -13 -12 -12 -11 -11 -11 -10 -10 -9 -8 -7 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -3 -4 -6 -7 -8 -8 -9 -10 -11 -12 -11 -11 -10 -9 -8 -8 -8 -8 -9 -9 -9 -9 -10 -10 -10 -11 -11 -10 -9 -9 -10 -12 -12 -12 -12 -11 -10 -10 -9 -8 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -2 -1 -0 -0 0 0 0 -0 -0 -0 -0 -0 -1 -1 -2 -2 -3 -2 -1 -1 0 2 3 4 4 3 3 3 3 4 4 4 5 6 7 8 8 9 9 10 11 13 15 17 20 23 26 27 26 24 23 24 -9 -9 -8 -7 -6 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -8 -10 -11 -11 -12 -13 -13 -12 -11 -10 -9 -9 -9 -9 -9 -9 -8 -7 -7 -7 -8 -8 -8 -8 -8 -9 -8 -8 -7 -7 -8 -9 -11 -12 -13 -13 -12 -10 -8 -6 -5 -5 -5 -6 -7 -7 -7 -7 -8 -9 -8 -8 -8 -9 -10 -11 -11 -12 -13 -15 -18 -21 -24 -26 -26 -24 -19 -14 -11 -10 -11 -10 -9 -7 -6 -5 -5 -4 -3 -3 -2 -2 -2 -2 -3 -3 -3 -2 -1 -2 -4 -7 -8 -10 -11 -10 -8 -5 -3 -1 -1 -2 -3 -5 -6 -7 -7 -8 -7 -7 -8 -9 -11 -13 -14 -15 -15 -16 -16 -15 -12 -11 -11 -14 -18 -24 -27 -27 -23 -17 -11 -7 -5 -4 -4 -5 -6 -8 -11 -13 -14 -14 -13 -13 -13 -13 -13 -14 -15 -15 -14 -13 -12 -11 -9 -8 -7 -5 -4 -3 -4 -6 -8 -9 -8 -8 -8 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -5 -5 -6 -6 -7 -7 -7 -7 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -6 -7 -7 -7 -7 -7 -6 -5 -5 -4 -4 -4 -4 -5 -6 -7 -8 -9 -10 -10 -11 -11 -12 -13 -13 -15 -16 -16 -16 -15 -14 -13 -13 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -9 -8 -6 -6 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -3 -5 -7 -8 -9 -9 -10 -12 -13 -13 -12 -11 -11 -10 -10 -10 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -10 -10 -10 -11 -12 -13 -13 -13 -12 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -5 -5 -5 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -3 -2 -1 0 2 4 4 3 3 3 3 3 3 3 4 5 6 7 7 8 9 10 10 12 13 15 18 21 25 28 28 26 24 23 -10 -9 -8 -7 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -7 -9 -10 -11 -11 -11 -11 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -8 -8 -9 -9 -9 -10 -10 -9 -7 -7 -7 -8 -9 -11 -13 -14 -14 -12 -10 -8 -6 -4 -3 -3 -4 -3 -3 -3 -3 -3 -4 -4 -5 -7 -8 -9 -9 -10 -11 -13 -14 -17 -21 -25 -28 -29 -26 -20 -15 -13 -12 -13 -12 -9 -7 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -3 -3 -2 -1 -1 -2 -4 -7 -9 -11 -11 -11 -9 -7 -5 -3 -2 -2 -4 -5 -6 -7 -8 -8 -7 -7 -9 -12 -13 -14 -15 -15 -16 -17 -16 -15 -13 -11 -11 -14 -19 -23 -24 -22 -19 -14 -10 -7 -4 -3 -3 -4 -5 -6 -7 -10 -12 -14 -14 -13 -13 -13 -14 -14 -15 -14 -14 -13 -12 -11 -11 -10 -8 -7 -5 -4 -5 -7 -8 -9 -9 -9 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -4 -4 -4 -4 -5 -5 -6 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -4 -5 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -17 -18 -19 -18 -17 -15 -14 -13 -12 -11 -11 -11 -10 -10 -10 -10 -9 -9 -9 -8 -7 -6 -6 -6 -6 -6 -6 -4 -3 -2 -2 -2 -2 -2 -2 -3 -5 -7 -8 -9 -10 -11 -12 -13 -14 -14 -14 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -11 -10 -9 -10 -11 -13 -14 -14 -14 -12 -11 -10 -9 -10 -10 -10 -9 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -5 -5 -4 -3 -3 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -4 -5 -5 -5 -4 -2 -1 1 3 4 3 2 2 2 2 2 2 3 4 5 6 7 7 8 9 10 11 12 14 16 19 23 26 29 28 26 23 -9 -8 -7 -7 -7 -7 -6 -6 -6 -7 -6 -6 -6 -6 -6 -8 -9 -10 -11 -12 -11 -10 -9 -9 -9 -9 -9 -8 -8 -7 -7 -8 -8 -8 -7 -7 -7 -8 -8 -9 -9 -9 -10 -10 -9 -8 -6 -6 -6 -8 -9 -12 -14 -14 -13 -12 -9 -7 -5 -4 -4 -3 -3 -2 -1 -1 -0 -0 -1 -2 -3 -4 -5 -7 -8 -9 -10 -11 -14 -17 -21 -25 -28 -28 -23 -18 -15 -13 -14 -13 -11 -8 -6 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -3 -2 -1 -1 -1 -3 -5 -8 -10 -11 -11 -10 -9 -8 -7 -5 -4 -5 -5 -5 -6 -7 -8 -7 -7 -8 -12 -14 -15 -15 -15 -16 -17 -19 -19 -17 -14 -11 -12 -15 -19 -21 -20 -18 -15 -13 -10 -7 -4 -2 -2 -3 -3 -3 -5 -9 -13 -15 -15 -13 -13 -13 -13 -14 -14 -14 -14 -13 -13 -12 -12 -11 -11 -10 -7 -5 -5 -7 -8 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -4 -4 -5 -6 -7 -8 -9 -10 -12 -13 -14 -15 -16 -18 -20 -21 -21 -19 -17 -15 -13 -12 -11 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -7 -7 -6 -6 -7 -7 -6 -5 -3 -2 -2 -2 -2 -2 -2 -3 -5 -7 -9 -10 -11 -12 -13 -14 -15 -16 -16 -16 -16 -15 -14 -13 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -10 -9 -10 -12 -14 -15 -14 -13 -11 -10 -10 -11 -11 -11 -10 -9 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -4 -5 -6 -7 -7 -5 -3 -2 1 2 4 4 3 2 1 1 1 1 1 2 4 5 6 7 8 9 10 10 11 13 15 17 21 25 28 29 28 25 -8 -8 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -6 -7 -7 -9 -10 -10 -10 -11 -11 -10 -9 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -7 -7 -8 -8 -8 -9 -9 -10 -10 -9 -7 -6 -5 -6 -7 -8 -10 -13 -14 -14 -13 -11 -9 -7 -6 -6 -5 -5 -5 -4 -3 -1 -0 0 0 0 -0 -2 -3 -4 -5 -7 -9 -11 -13 -16 -19 -23 -24 -22 -19 -16 -14 -14 -14 -13 -10 -8 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -1 -1 -2 -4 -6 -8 -10 -10 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -6 -7 -6 -6 -8 -11 -14 -15 -15 -15 -15 -17 -20 -21 -20 -18 -14 -13 -13 -15 -17 -18 -16 -14 -13 -12 -11 -9 -6 -4 -3 -3 -1 -1 -4 -9 -14 -16 -14 -13 -12 -12 -13 -13 -14 -14 -14 -13 -14 -14 -14 -13 -11 -9 -7 -5 -5 -6 -7 -8 -9 -10 -9 -9 -8 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -8 -7 -7 -6 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -7 -7 -8 -7 -7 -7 -6 -6 -5 -5 -4 -4 -4 -5 -6 -7 -7 -9 -10 -12 -13 -15 -16 -17 -18 -20 -21 -22 -22 -20 -17 -15 -13 -11 -11 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -5 -3 -2 -2 -2 -3 -3 -3 -3 -5 -7 -10 -11 -12 -13 -14 -15 -16 -17 -18 -18 -18 -17 -16 -15 -14 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -10 -9 -9 -11 -13 -15 -14 -13 -12 -11 -11 -11 -12 -12 -11 -10 -8 -7 -7 -6 -6 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -7 -8 -9 -7 -5 -2 -0 2 4 4 3 2 1 1 0 0 0 1 2 3 4 5 6 8 9 10 11 12 13 16 19 22 26 29 30 26 -8 -8 -8 -7 -7 -6 -6 -7 -7 -8 -8 -8 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -9 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -7 -5 -5 -6 -7 -9 -11 -13 -14 -14 -14 -12 -10 -8 -7 -7 -7 -7 -7 -7 -6 -4 -3 -2 -1 -0 0 -0 -0 -1 -3 -4 -6 -8 -10 -11 -13 -15 -17 -18 -17 -15 -15 -15 -14 -14 -12 -10 -7 -5 -4 -3 -3 -3 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -3 -4 -6 -8 -9 -9 -9 -8 -8 -8 -9 -9 -9 -8 -7 -6 -7 -6 -6 -7 -10 -13 -15 -15 -15 -15 -16 -18 -20 -20 -20 -18 -16 -14 -14 -15 -16 -14 -12 -11 -11 -12 -12 -10 -8 -6 -3 -1 1 -1 -4 -9 -12 -12 -11 -10 -10 -12 -13 -13 -14 -14 -14 -15 -16 -15 -14 -12 -10 -8 -6 -4 -2 -3 -5 -7 -9 -9 -9 -9 -8 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -8 -8 -9 -9 -9 -9 -8 -8 -7 -6 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -5 -6 -7 -8 -8 -8 -7 -7 -7 -6 -6 -5 -5 -4 -4 -5 -6 -6 -8 -9 -11 -13 -14 -16 -16 -17 -18 -19 -21 -22 -22 -22 -20 -17 -15 -13 -12 -11 -11 -10 -10 -9 -8 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -7 -6 -6 -5 -3 -2 -2 -3 -4 -5 -4 -4 -5 -7 -10 -12 -13 -14 -15 -16 -17 -18 -18 -19 -19 -19 -18 -17 -16 -15 -15 -14 -14 -14 -14 -14 -14 -14 -14 -13 -12 -10 -9 -9 -11 -13 -13 -13 -12 -11 -11 -11 -12 -12 -12 -10 -9 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -4 -4 -3 -4 -4 -5 -5 -5 -5 -5 -6 -7 -9 -10 -9 -6 -3 -1 1 3 4 4 3 2 1 0 -0 -1 -1 0 2 3 4 5 6 7 8 10 11 12 14 17 20 24 28 30 28 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -8 -9 -9 -9 -8 -7 -5 -5 -6 -8 -11 -13 -16 -17 -16 -15 -13 -11 -9 -8 -7 -6 -7 -7 -7 -7 -6 -6 -5 -4 -4 -4 -3 -2 -1 -2 -3 -5 -7 -8 -8 -9 -10 -11 -12 -12 -13 -14 -14 -14 -14 -13 -12 -10 -7 -5 -4 -3 -2 -3 -4 -4 -4 -3 -2 -2 -1 -1 -1 -2 -3 -5 -7 -9 -9 -8 -7 -7 -8 -9 -9 -10 -10 -9 -8 -8 -7 -7 -8 -9 -12 -15 -16 -15 -15 -15 -15 -16 -18 -20 -20 -19 -17 -15 -15 -15 -13 -11 -9 -9 -10 -12 -13 -12 -9 -6 -3 -1 -1 -2 -5 -7 -7 -6 -6 -7 -10 -12 -11 -11 -11 -13 -15 -15 -15 -15 -14 -14 -12 -8 -3 2 2 1 -2 -5 -8 -9 -9 -9 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -8 -8 -9 -10 -10 -10 -9 -8 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -4 -5 -6 -7 -7 -8 -8 -8 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -6 -8 -9 -11 -13 -15 -17 -17 -17 -17 -18 -19 -20 -21 -21 -21 -19 -18 -16 -14 -13 -12 -12 -11 -10 -9 -8 -7 -6 -6 -7 -7 -7 -8 -7 -7 -6 -6 -6 -5 -5 -4 -3 -3 -4 -6 -6 -6 -5 -5 -6 -9 -12 -14 -15 -15 -16 -17 -17 -18 -18 -19 -19 -19 -18 -18 -17 -16 -16 -16 -16 -16 -15 -15 -14 -14 -14 -13 -11 -8 -7 -9 -11 -12 -13 -12 -11 -11 -10 -11 -12 -12 -11 -10 -8 -7 -6 -6 -6 -6 -7 -8 -7 -7 -7 -7 -7 -7 -6 -5 -5 -4 -4 -5 -6 -6 -5 -5 -5 -6 -7 -9 -11 -11 -8 -5 -1 1 3 5 5 4 2 1 -0 -1 -1 -2 -1 0 1 2 4 5 6 7 8 10 11 13 15 18 22 26 29 28 -7 -7 -8 -8 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -7 -7 -8 -8 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -5 -6 -7 -9 -12 -16 -20 -22 -21 -19 -16 -14 -12 -9 -7 -6 -6 -6 -6 -6 -6 -5 -5 -6 -7 -8 -8 -6 -5 -4 -5 -6 -7 -7 -8 -8 -8 -9 -9 -10 -10 -11 -12 -12 -12 -12 -11 -11 -9 -8 -6 -5 -3 -3 -3 -4 -4 -3 -3 -2 -2 -2 -1 -2 -3 -4 -6 -8 -9 -8 -8 -7 -7 -8 -9 -10 -11 -11 -10 -10 -10 -10 -10 -10 -11 -14 -16 -16 -15 -15 -14 -15 -17 -19 -20 -20 -18 -17 -16 -15 -13 -11 -8 -6 -6 -10 -12 -14 -13 -10 -7 -5 -3 -3 -3 -3 -3 -2 -2 -3 -6 -10 -10 -9 -8 -10 -12 -13 -14 -15 -16 -16 -16 -13 -7 -1 2 4 3 1 -3 -7 -9 -10 -9 -8 -7 -6 -6 -6 -6 -6 -7 -7 -7 -8 -9 -10 -10 -10 -10 -9 -8 -8 -7 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -5 -6 -7 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -5 -6 -6 -8 -9 -12 -14 -17 -18 -18 -17 -17 -16 -17 -17 -18 -18 -19 -19 -19 -18 -16 -15 -15 -14 -13 -11 -10 -9 -8 -7 -6 -6 -6 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -7 -8 -7 -7 -6 -6 -8 -11 -13 -14 -15 -15 -16 -16 -17 -17 -18 -19 -19 -19 -19 -18 -18 -17 -17 -17 -17 -16 -16 -15 -15 -15 -15 -12 -9 -6 -6 -9 -11 -12 -12 -11 -10 -10 -10 -11 -12 -12 -11 -9 -7 -6 -6 -6 -6 -7 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -6 -6 -6 -6 -5 -6 -7 -9 -12 -13 -11 -7 -2 -0 2 4 5 5 3 1 -0 -1 -2 -2 -2 -1 0 1 2 3 5 6 7 8 10 12 14 16 19 23 27 28 -7 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -8 -8 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -6 -7 -10 -13 -17 -21 -25 -26 -25 -22 -19 -16 -13 -11 -8 -7 -6 -6 -5 -5 -4 -4 -6 -7 -9 -9 -8 -7 -6 -6 -7 -8 -8 -9 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -8 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -4 -6 -8 -8 -8 -8 -7 -7 -8 -8 -9 -11 -11 -11 -11 -12 -13 -14 -13 -13 -14 -16 -18 -16 -14 -14 -16 -18 -18 -18 -18 -18 -17 -17 -15 -12 -9 -6 -4 -6 -10 -13 -13 -12 -11 -9 -7 -5 -4 -3 -2 -0 1 1 -2 -7 -8 -7 -5 -6 -7 -8 -11 -14 -17 -18 -18 -17 -14 -9 -6 -2 3 6 4 -1 -5 -9 -10 -9 -8 -7 -6 -6 -6 -6 -7 -7 -8 -9 -10 -10 -11 -10 -10 -9 -9 -8 -7 -7 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -7 -8 -10 -12 -15 -17 -19 -19 -18 -16 -15 -15 -14 -15 -15 -16 -17 -17 -17 -17 -17 -17 -16 -15 -14 -12 -11 -9 -8 -7 -7 -6 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -8 -8 -8 -6 -6 -7 -9 -12 -13 -14 -14 -14 -15 -16 -17 -18 -18 -19 -19 -19 -18 -18 -17 -17 -17 -18 -17 -16 -15 -15 -16 -15 -14 -11 -6 -5 -7 -9 -12 -12 -12 -10 -9 -9 -9 -11 -12 -12 -11 -9 -7 -6 -6 -6 -6 -7 -8 -8 -8 -7 -8 -8 -7 -7 -6 -6 -5 -5 -6 -7 -7 -6 -6 -6 -7 -9 -11 -13 -12 -9 -3 -1 1 3 5 6 5 2 0 -1 -2 -2 -2 -2 -1 1 2 2 3 4 5 7 9 10 12 14 17 20 24 27 -9 -8 -7 -7 -7 -6 -7 -7 -8 -8 -9 -10 -10 -10 -9 -8 -8 -8 -8 -7 -6 -6 -6 -6 -7 -6 -6 -6 -6 -7 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -4 -4 -3 -3 -4 -6 -7 -9 -12 -16 -20 -24 -27 -27 -26 -23 -20 -17 -15 -12 -10 -8 -7 -6 -5 -4 -4 -5 -6 -8 -8 -8 -8 -7 -7 -7 -8 -8 -9 -9 -9 -9 -10 -10 -10 -10 -9 -9 -8 -7 -8 -10 -10 -10 -9 -8 -6 -5 -4 -4 -4 -4 -4 -4 -5 -5 -4 -3 -2 -2 -3 -5 -7 -8 -9 -9 -9 -9 -8 -7 -7 -9 -10 -12 -12 -13 -14 -16 -16 -14 -14 -15 -18 -17 -15 -13 -14 -15 -16 -16 -17 -17 -18 -18 -17 -16 -13 -9 -5 -5 -7 -9 -10 -11 -13 -12 -10 -8 -7 -5 -4 -2 1 3 1 -3 -4 -4 -3 -3 -3 -4 -6 -11 -16 -18 -18 -18 -16 -14 -12 -8 -2 5 9 6 2 -4 -8 -11 -10 -8 -7 -6 -6 -7 -7 -8 -9 -9 -10 -11 -11 -11 -10 -10 -9 -8 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -9 -11 -13 -16 -18 -19 -19 -18 -16 -15 -13 -13 -12 -12 -13 -14 -15 -15 -16 -16 -17 -17 -17 -16 -14 -13 -11 -10 -9 -8 -6 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -8 -8 -9 -8 -6 -6 -8 -10 -12 -13 -13 -13 -14 -14 -16 -17 -18 -18 -19 -18 -18 -18 -18 -18 -18 -18 -17 -17 -16 -15 -15 -16 -15 -13 -8 -5 -5 -7 -10 -12 -11 -10 -9 -8 -8 -10 -12 -13 -12 -10 -8 -7 -6 -6 -6 -6 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -7 -8 -7 -6 -6 -6 -8 -11 -13 -13 -10 -4 -1 -1 0 2 5 5 3 1 -1 -2 -2 -3 -3 -2 -0 1 2 2 3 4 6 7 9 11 13 15 18 22 26 -10 -9 -7 -7 -7 -7 -7 -8 -9 -10 -11 -10 -10 -10 -9 -9 -9 -9 -8 -7 -6 -5 -5 -6 -7 -7 -6 -7 -7 -8 -8 -8 -8 -8 -7 -7 -6 -5 -5 -4 -4 -3 -3 -2 -2 -2 -3 -5 -7 -9 -11 -14 -17 -21 -24 -26 -26 -24 -22 -20 -18 -15 -13 -10 -8 -7 -6 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -6 -7 -7 -8 -9 -10 -10 -10 -11 -11 -11 -10 -8 -7 -6 -6 -8 -10 -10 -9 -8 -6 -5 -5 -5 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -4 -5 -6 -8 -9 -10 -10 -10 -9 -7 -6 -6 -8 -10 -13 -14 -15 -15 -15 -14 -14 -14 -16 -18 -17 -14 -13 -13 -15 -15 -15 -15 -16 -17 -17 -17 -16 -14 -11 -7 -5 -4 -5 -8 -12 -15 -15 -12 -8 -6 -5 -4 -3 -0 2 0 -2 -4 -4 -4 -4 -2 -2 -6 -13 -16 -17 -17 -15 -14 -13 -11 -7 -1 5 9 8 4 -2 -8 -11 -10 -9 -8 -7 -7 -8 -8 -9 -10 -10 -11 -11 -11 -10 -10 -9 -9 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -8 -9 -9 -10 -10 -10 -9 -9 -10 -11 -13 -15 -17 -19 -19 -19 -17 -16 -14 -13 -12 -11 -11 -11 -11 -12 -13 -14 -14 -15 -16 -16 -16 -15 -14 -14 -12 -11 -10 -8 -6 -4 -3 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6 -7 -8 -8 -8 -7 -8 -8 -9 -9 -7 -6 -6 -7 -10 -11 -12 -12 -13 -13 -15 -16 -17 -17 -18 -17 -17 -17 -17 -18 -18 -18 -18 -17 -16 -15 -15 -16 -16 -15 -12 -7 -5 -5 -8 -10 -11 -11 -10 -9 -8 -9 -11 -13 -13 -12 -9 -7 -6 -6 -6 -6 -7 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -6 -6 -7 -8 -8 -7 -6 -6 -8 -10 -12 -13 -11 -5 -2 -2 -3 -2 1 4 4 2 -1 -2 -2 -3 -3 -2 -1 0 1 2 2 3 4 6 7 9 11 13 15 19 23 -12 -10 -9 -8 -9 -9 -9 -9 -10 -10 -9 -7 -7 -7 -8 -8 -8 -8 -8 -7 -6 -6 -6 -6 -7 -7 -7 -8 -9 -9 -9 -10 -9 -9 -8 -8 -7 -6 -5 -4 -3 -2 -2 -2 -1 -1 -2 -3 -6 -8 -10 -12 -15 -18 -21 -23 -24 -23 -21 -20 -18 -17 -14 -12 -9 -8 -7 -7 -6 -6 -5 -5 -6 -7 -7 -7 -6 -6 -6 -6 -7 -8 -9 -10 -10 -11 -11 -11 -10 -9 -7 -6 -5 -6 -8 -9 -9 -8 -7 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -6 -6 -7 -7 -9 -10 -12 -11 -8 -6 -5 -6 -8 -11 -14 -15 -15 -15 -15 -15 -14 -15 -19 -19 -16 -13 -12 -13 -13 -14 -14 -14 -15 -16 -17 -17 -16 -15 -12 -8 -5 -3 -4 -8 -13 -16 -15 -12 -8 -6 -5 -5 -4 -0 1 0 -2 -4 -7 -7 -4 -1 -2 -8 -13 -16 -16 -14 -12 -11 -10 -9 -8 -3 3 8 9 5 -1 -7 -10 -10 -9 -8 -8 -8 -9 -10 -10 -11 -11 -11 -11 -11 -10 -10 -9 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -7 -7 -7 -7 -8 -8 -9 -10 -10 -11 -11 -11 -12 -13 -15 -18 -19 -21 -21 -20 -18 -15 -14 -12 -11 -11 -10 -10 -10 -10 -11 -11 -12 -13 -14 -14 -14 -14 -14 -14 -14 -13 -12 -10 -7 -5 -3 -2 -1 -1 -1 -2 -3 -3 -4 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -8 -6 -5 -6 -7 -9 -11 -11 -12 -13 -14 -15 -16 -16 -16 -16 -16 -16 -17 -18 -18 -18 -18 -17 -16 -16 -15 -15 -16 -16 -14 -10 -5 -3 -5 -8 -10 -11 -10 -10 -9 -9 -10 -12 -13 -13 -11 -8 -7 -7 -8 -7 -8 -9 -11 -11 -10 -9 -8 -7 -7 -8 -8 -7 -7 -7 -8 -9 -9 -7 -6 -7 -9 -12 -13 -11 -7 -3 -2 -4 -6 -5 -1 2 2 0 -2 -2 -3 -3 -3 -2 -1 0 1 1 2 3 5 6 7 9 11 13 16 20 -15 -15 -14 -13 -12 -11 -10 -10 -9 -8 -6 -5 -5 -5 -6 -6 -7 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -9 -10 -10 -11 -11 -10 -10 -9 -9 -8 -7 -6 -4 -3 -1 -1 -1 -0 -0 -0 -2 -4 -6 -8 -11 -14 -16 -18 -20 -21 -21 -20 -18 -17 -16 -15 -13 -10 -8 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -6 -5 -5 -6 -6 -8 -9 -10 -11 -11 -11 -11 -10 -9 -9 -8 -7 -6 -6 -7 -7 -8 -7 -7 -6 -6 -5 -5 -6 -7 -7 -7 -7 -6 -6 -5 -6 -6 -6 -5 -6 -7 -9 -11 -12 -11 -9 -6 -6 -7 -9 -12 -15 -15 -15 -15 -15 -15 -16 -19 -20 -18 -15 -11 -11 -12 -13 -14 -14 -14 -15 -16 -16 -17 -17 -16 -12 -8 -5 -4 -4 -7 -10 -14 -15 -12 -8 -6 -4 -4 -2 -0 -0 -1 -3 -6 -8 -8 -6 -2 -3 -8 -13 -16 -15 -13 -9 -6 -6 -8 -10 -6 -1 5 8 7 1 -5 -9 -10 -10 -9 -9 -10 -10 -11 -11 -11 -12 -12 -12 -11 -10 -10 -9 -8 -7 -6 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -7 -8 -7 -7 -7 -8 -8 -9 -10 -11 -11 -11 -12 -13 -15 -18 -20 -22 -23 -23 -22 -19 -16 -14 -12 -11 -11 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -13 -14 -15 -14 -12 -9 -6 -4 -2 -1 0 1 0 -0 -1 -2 -4 -5 -6 -7 -8 -8 -9 -9 -9 -8 -8 -9 -10 -9 -8 -6 -4 -5 -7 -9 -11 -11 -12 -13 -15 -15 -15 -15 -14 -14 -15 -16 -18 -18 -18 -18 -17 -17 -16 -15 -15 -16 -16 -15 -12 -8 -3 -3 -6 -9 -11 -11 -11 -10 -9 -10 -12 -12 -13 -13 -11 -9 -8 -11 -11 -10 -11 -13 -14 -13 -12 -10 -7 -7 -8 -9 -9 -8 -8 -9 -10 -10 -8 -6 -7 -8 -11 -12 -11 -7 -4 -2 -4 -6 -6 -5 -3 -0 0 -1 -2 -3 -4 -4 -4 -2 -0 0 1 1 2 4 5 6 7 8 10 13 16 -17 -16 -15 -13 -12 -11 -10 -9 -8 -7 -6 -4 -3 -4 -4 -5 -6 -5 -5 -6 -6 -6 -6 -7 -8 -9 -9 -9 -10 -11 -11 -11 -11 -11 -10 -10 -9 -9 -7 -5 -3 -2 -1 -0 0 0 0 -0 -2 -4 -6 -9 -11 -14 -16 -18 -19 -19 -18 -17 -16 -15 -14 -13 -11 -8 -7 -6 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -5 -5 -6 -7 -9 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -8 -7 -6 -6 -7 -9 -9 -8 -7 -6 -6 -5 -6 -7 -8 -8 -7 -6 -5 -5 -6 -6 -5 -5 -6 -7 -9 -11 -11 -10 -9 -7 -7 -8 -10 -12 -14 -15 -15 -15 -16 -16 -18 -19 -19 -16 -13 -11 -11 -12 -14 -14 -13 -14 -14 -15 -16 -17 -17 -15 -12 -10 -8 -6 -5 -6 -9 -14 -14 -11 -7 -4 -3 -3 -2 -1 -1 -2 -3 -7 -9 -9 -6 -4 -6 -10 -14 -18 -17 -12 -6 -3 -4 -8 -11 -11 -7 1 9 8 3 -3 -8 -9 -10 -10 -10 -11 -11 -11 -12 -12 -12 -12 -12 -11 -11 -10 -9 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -8 -9 -10 -11 -11 -12 -13 -15 -17 -20 -22 -24 -25 -25 -24 -22 -18 -15 -12 -11 -11 -11 -11 -10 -10 -9 -9 -10 -10 -11 -11 -11 -10 -10 -11 -12 -13 -14 -14 -12 -9 -6 -3 -2 -1 1 1 1 1 -0 -1 -3 -5 -6 -8 -9 -9 -9 -10 -10 -9 -9 -9 -10 -10 -9 -7 -4 -4 -5 -7 -9 -11 -12 -13 -14 -15 -15 -14 -13 -13 -14 -16 -17 -18 -18 -18 -18 -17 -17 -16 -15 -15 -16 -16 -14 -10 -5 -2 -4 -8 -10 -12 -12 -12 -11 -12 -13 -12 -14 -15 -15 -13 -11 -11 -11 -13 -15 -17 -18 -17 -15 -13 -9 -8 -8 -9 -10 -10 -9 -9 -10 -11 -9 -6 -6 -8 -10 -11 -11 -8 -5 -3 -4 -5 -4 -5 -5 -3 -0 -1 -1 -3 -4 -5 -5 -3 -2 -0 0 1 2 3 4 5 6 7 8 9 12 -16 -15 -15 -15 -14 -12 -10 -8 -7 -6 -5 -3 -2 -3 -4 -5 -6 -6 -6 -7 -7 -7 -7 -7 -8 -9 -9 -9 -10 -10 -11 -11 -11 -11 -11 -10 -9 -9 -8 -6 -5 -3 -1 -0 0 1 1 1 0 -1 -3 -6 -8 -11 -14 -16 -17 -17 -17 -16 -15 -14 -14 -12 -10 -8 -6 -5 -6 -6 -7 -8 -8 -8 -8 -7 -5 -4 -4 -5 -6 -7 -8 -9 -9 -10 -11 -10 -10 -9 -9 -10 -11 -12 -10 -6 -4 -5 -8 -9 -9 -8 -7 -5 -4 -4 -5 -7 -9 -9 -8 -7 -6 -5 -5 -5 -5 -6 -7 -8 -9 -10 -10 -9 -8 -8 -8 -9 -10 -13 -14 -14 -15 -16 -16 -18 -19 -19 -17 -14 -12 -11 -12 -14 -15 -14 -13 -13 -14 -14 -16 -17 -16 -14 -13 -13 -11 -8 -6 -6 -10 -14 -13 -10 -5 -3 -2 -2 -2 -2 -2 -3 -5 -7 -8 -7 -7 -8 -10 -12 -15 -18 -18 -15 -11 -8 -8 -10 -11 -10 -8 0 8 9 6 0 -5 -8 -9 -10 -10 -11 -11 -12 -12 -13 -13 -13 -13 -12 -12 -11 -10 -9 -8 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -9 -9 -10 -10 -11 -12 -13 -15 -18 -21 -23 -25 -26 -26 -25 -23 -21 -17 -14 -12 -11 -11 -11 -11 -11 -10 -10 -10 -10 -11 -11 -10 -10 -10 -10 -11 -12 -13 -14 -14 -13 -10 -6 -3 -1 -0 1 2 2 1 0 -1 -2 -4 -6 -8 -9 -10 -10 -10 -10 -10 -10 -10 -10 -11 -10 -9 -6 -4 -4 -6 -8 -10 -12 -13 -14 -14 -14 -13 -13 -13 -13 -15 -16 -17 -18 -18 -18 -18 -17 -17 -16 -15 -15 -15 -15 -13 -9 -3 -3 -6 -10 -14 -15 -15 -15 -16 -16 -13 -15 -17 -18 -16 -14 -10 -9 -10 -13 -17 -18 -20 -20 -18 -13 -10 -9 -10 -11 -11 -10 -10 -11 -12 -11 -7 -6 -7 -9 -10 -10 -9 -6 -4 -4 -5 -3 -2 -2 -2 -1 -0 -1 -2 -4 -6 -6 -5 -3 -1 0 1 1 2 3 4 5 5 6 7 8 -15 -14 -14 -14 -13 -10 -7 -5 -5 -4 -3 -2 -2 -3 -4 -5 -7 -8 -8 -8 -9 -8 -8 -8 -8 -8 -7 -8 -8 -9 -9 -10 -10 -9 -9 -8 -8 -8 -8 -7 -6 -4 -3 -1 -1 -0 0 1 1 -0 -2 -3 -6 -8 -11 -13 -14 -14 -14 -14 -14 -14 -14 -13 -11 -8 -7 -5 -5 -5 -7 -8 -9 -10 -9 -7 -5 -4 -3 -4 -5 -6 -7 -8 -9 -10 -11 -11 -10 -9 -9 -10 -11 -14 -14 -11 -6 -4 -7 -9 -10 -9 -8 -7 -4 -3 -3 -5 -8 -10 -10 -8 -6 -4 -4 -4 -4 -6 -7 -8 -10 -10 -9 -9 -8 -8 -8 -9 -10 -12 -13 -14 -14 -14 -15 -18 -19 -19 -17 -16 -14 -13 -13 -14 -15 -14 -13 -12 -12 -13 -15 -17 -16 -15 -14 -15 -15 -12 -9 -7 -7 -11 -13 -11 -8 -4 -2 -1 -1 -2 -2 -3 -5 -6 -7 -7 -7 -7 -7 -8 -10 -14 -17 -18 -16 -12 -8 -6 -5 -6 -8 -6 -1 4 9 10 5 -1 -4 -6 -8 -9 -10 -11 -12 -13 -14 -14 -14 -14 -13 -13 -12 -11 -10 -9 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -8 -8 -9 -10 -10 -11 -11 -12 -13 -15 -18 -21 -24 -25 -26 -26 -25 -24 -22 -20 -16 -13 -11 -10 -11 -11 -11 -11 -10 -10 -10 -11 -11 -11 -10 -9 -10 -10 -12 -13 -13 -14 -14 -13 -12 -8 -4 -1 0 1 2 2 1 1 -0 -1 -3 -5 -8 -10 -11 -11 -11 -11 -12 -11 -11 -10 -11 -11 -10 -8 -5 -3 -4 -7 -9 -11 -13 -13 -14 -14 -13 -13 -13 -13 -14 -15 -16 -17 -18 -19 -18 -18 -17 -16 -15 -15 -15 -15 -14 -11 -7 -5 -7 -12 -18 -20 -19 -20 -19 -18 -16 -18 -19 -19 -17 -15 -12 -9 -8 -11 -15 -17 -19 -21 -22 -19 -14 -11 -10 -11 -12 -12 -11 -12 -12 -13 -8 -6 -6 -9 -10 -10 -9 -7 -5 -4 -6 -5 -3 -1 -1 -0 -0 -1 -2 -4 -6 -7 -6 -4 -2 -0 0 1 2 3 3 4 5 5 5 6 -14 -13 -12 -11 -8 -6 -4 -3 -4 -4 -4 -4 -4 -5 -6 -7 -8 -9 -9 -9 -10 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -6 -7 -7 -6 -5 -4 -3 -3 -3 -3 -2 -2 -2 -3 -5 -7 -8 -9 -10 -11 -11 -11 -12 -12 -13 -13 -12 -11 -10 -8 -6 -4 -5 -6 -7 -9 -10 -9 -7 -5 -3 -2 -3 -4 -5 -5 -7 -8 -10 -11 -12 -11 -10 -9 -9 -10 -12 -15 -13 -9 -7 -8 -9 -9 -9 -9 -8 -5 -3 -3 -4 -6 -9 -10 -10 -8 -5 -2 -2 -2 -4 -6 -8 -10 -11 -10 -9 -8 -8 -8 -9 -10 -11 -13 -14 -13 -12 -13 -17 -18 -18 -17 -16 -15 -15 -14 -15 -15 -13 -12 -11 -12 -12 -13 -14 -14 -15 -15 -16 -16 -15 -14 -11 -8 -9 -10 -11 -10 -8 -4 -2 -1 -0 -1 -2 -4 -5 -7 -8 -7 -7 -7 -7 -7 -10 -13 -16 -18 -18 -13 -9 -6 -4 -4 -5 -3 1 5 10 12 9 5 1 -2 -5 -7 -8 -10 -12 -13 -14 -15 -15 -15 -14 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -8 -9 -9 -10 -11 -11 -11 -12 -13 -15 -18 -21 -24 -25 -25 -25 -24 -23 -22 -20 -18 -16 -14 -12 -10 -10 -10 -10 -10 -10 -10 -11 -12 -11 -11 -10 -10 -10 -11 -12 -13 -13 -13 -14 -14 -13 -11 -6 -2 0 1 1 1 1 1 0 -0 -2 -4 -7 -9 -11 -11 -12 -12 -12 -12 -12 -11 -11 -11 -11 -9 -7 -4 -3 -5 -8 -10 -12 -13 -13 -13 -13 -13 -13 -13 -13 -14 -15 -16 -18 -18 -19 -18 -18 -17 -16 -15 -14 -14 -13 -13 -13 -11 -12 -15 -19 -20 -18 -18 -20 -20 -19 -20 -20 -20 -18 -16 -15 -13 -11 -12 -14 -16 -17 -19 -22 -22 -19 -14 -11 -11 -13 -13 -12 -12 -13 -13 -10 -6 -6 -9 -11 -11 -10 -9 -7 -6 -8 -7 -5 -2 -1 -0 0 -0 -1 -3 -5 -7 -7 -5 -2 -1 -0 0 1 2 3 3 4 5 5 5 -14 -12 -10 -7 -5 -4 -3 -4 -5 -5 -6 -7 -7 -7 -8 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -12 -12 -11 -10 -10 -9 -9 -8 -8 -7 -6 -6 -5 -6 -6 -6 -5 -4 -4 -4 -4 -4 -4 -3 -3 -4 -5 -6 -7 -8 -9 -9 -10 -10 -10 -11 -11 -12 -12 -12 -11 -9 -7 -5 -5 -5 -6 -8 -9 -9 -8 -6 -4 -2 -2 -2 -3 -4 -5 -7 -9 -10 -11 -12 -11 -10 -9 -9 -10 -12 -11 -9 -8 -9 -9 -9 -10 -10 -9 -7 -5 -3 -3 -4 -7 -9 -10 -8 -5 -2 -1 -1 -2 -4 -6 -9 -12 -12 -11 -8 -8 -9 -10 -10 -10 -11 -13 -14 -13 -12 -16 -18 -18 -17 -17 -16 -16 -15 -15 -15 -13 -11 -11 -11 -11 -12 -13 -14 -16 -17 -16 -15 -15 -16 -15 -11 -9 -8 -9 -11 -11 -7 -3 -1 0 0 -1 -2 -4 -6 -8 -8 -7 -7 -7 -6 -7 -9 -13 -17 -21 -18 -14 -11 -7 -5 -4 -2 1 5 9 10 10 10 10 8 4 1 -2 -5 -7 -10 -12 -13 -14 -15 -15 -14 -14 -13 -13 -12 -10 -9 -8 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -9 -10 -10 -11 -12 -12 -12 -13 -15 -18 -21 -23 -24 -24 -23 -21 -20 -20 -19 -18 -17 -16 -15 -13 -11 -9 -8 -8 -8 -9 -10 -11 -12 -12 -11 -10 -11 -11 -12 -13 -13 -13 -13 -14 -14 -14 -13 -8 -4 -0 1 -0 -0 0 1 1 0 -1 -3 -6 -8 -10 -12 -12 -13 -13 -13 -13 -11 -11 -11 -11 -11 -9 -6 -4 -4 -6 -9 -11 -12 -13 -13 -14 -14 -14 -13 -13 -13 -14 -15 -17 -18 -18 -19 -18 -17 -16 -15 -14 -13 -13 -14 -17 -17 -16 -17 -20 -20 -18 -18 -21 -21 -20 -21 -23 -22 -19 -16 -17 -17 -16 -14 -15 -16 -17 -20 -23 -23 -21 -17 -13 -12 -13 -14 -13 -13 -14 -14 -11 -8 -6 -9 -13 -13 -12 -11 -9 -8 -8 -7 -5 -2 -1 -0 0 0 -1 -2 -4 -6 -8 -7 -4 -1 -0 -0 0 2 2 3 4 5 5 5 -13 -9 -7 -6 -5 -5 -6 -7 -7 -7 -8 -8 -8 -8 -8 -9 -10 -10 -11 -11 -11 -10 -10 -11 -11 -12 -12 -12 -11 -11 -10 -9 -9 -8 -8 -7 -7 -6 -6 -6 -6 -6 -5 -4 -4 -5 -5 -4 -4 -4 -4 -5 -5 -7 -8 -8 -8 -8 -9 -9 -10 -11 -11 -11 -12 -11 -10 -7 -6 -5 -5 -6 -7 -8 -9 -8 -7 -5 -3 -2 -2 -2 -3 -4 -6 -7 -9 -11 -12 -12 -12 -11 -11 -10 -9 -8 -6 -6 -8 -10 -10 -10 -11 -11 -10 -7 -5 -3 -3 -6 -8 -9 -8 -6 -3 -1 -0 -1 -2 -5 -8 -11 -13 -13 -11 -10 -11 -11 -10 -9 -10 -12 -14 -14 -11 -12 -13 -15 -16 -17 -17 -16 -16 -16 -16 -14 -12 -11 -10 -10 -11 -12 -14 -17 -20 -18 -14 -13 -14 -16 -13 -11 -10 -9 -9 -9 -7 -6 -4 -3 -1 -0 -1 -2 -4 -7 -8 -8 -7 -6 -6 -7 -8 -10 -15 -20 -21 -19 -15 -11 -8 -6 -5 -2 4 12 16 14 13 14 16 15 11 8 4 1 -3 -6 -9 -11 -12 -13 -13 -13 -13 -13 -12 -11 -9 -8 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -10 -11 -12 -12 -12 -13 -13 -15 -18 -21 -24 -24 -23 -21 -19 -17 -17 -16 -16 -15 -15 -16 -15 -15 -13 -10 -8 -6 -6 -7 -9 -10 -11 -11 -11 -11 -11 -12 -13 -13 -12 -12 -13 -13 -14 -15 -14 -11 -6 -1 0 -1 -1 -1 0 1 1 -0 -2 -4 -6 -9 -11 -12 -13 -13 -14 -13 -12 -11 -10 -10 -11 -11 -9 -6 -4 -5 -7 -9 -11 -13 -13 -14 -14 -14 -14 -13 -12 -13 -14 -15 -17 -18 -19 -18 -18 -17 -16 -15 -13 -12 -13 -18 -19 -19 -19 -18 -18 -17 -18 -22 -22 -21 -21 -20 -18 -16 -17 -18 -19 -17 -16 -15 -16 -17 -20 -22 -23 -22 -20 -18 -15 -15 -15 -14 -14 -15 -14 -13 -11 -8 -10 -14 -14 -13 -12 -11 -11 -10 -7 -5 -2 -1 -0 0 1 0 -1 -3 -6 -7 -8 -5 -2 -1 -1 -1 1 2 3 4 5 5 6 -10 -8 -7 -6 -7 -7 -7 -7 -8 -8 -10 -11 -11 -10 -9 -9 -10 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -11 -11 -10 -10 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -5 -5 -6 -7 -8 -8 -8 -9 -9 -10 -11 -11 -11 -10 -9 -8 -6 -6 -6 -6 -7 -8 -8 -8 -7 -5 -4 -3 -2 -2 -2 -3 -4 -5 -7 -10 -12 -14 -14 -14 -14 -13 -10 -7 -4 -2 -4 -8 -9 -10 -10 -11 -12 -10 -7 -5 -4 -5 -6 -8 -8 -6 -4 -2 -1 -1 -2 -4 -7 -10 -12 -13 -12 -12 -12 -12 -11 -10 -10 -11 -13 -14 -10 -8 -9 -11 -14 -16 -17 -17 -16 -16 -16 -15 -13 -11 -10 -9 -10 -11 -13 -16 -19 -20 -17 -14 -13 -13 -13 -11 -10 -10 -9 -8 -7 -7 -6 -5 -4 -2 -1 -1 -2 -4 -6 -7 -5 -5 -6 -7 -9 -11 -14 -18 -21 -21 -18 -14 -11 -10 -10 -8 -2 8 17 19 20 21 23 24 22 19 15 12 7 3 -0 -4 -6 -8 -9 -11 -11 -12 -12 -11 -9 -8 -6 -5 -4 -4 -4 -5 -5 -6 -6 -7 -7 -8 -8 -8 -9 -9 -10 -11 -12 -13 -13 -13 -14 -15 -18 -21 -24 -25 -23 -20 -17 -14 -14 -14 -13 -13 -13 -14 -14 -15 -15 -15 -13 -10 -7 -5 -5 -6 -7 -8 -9 -10 -11 -12 -13 -13 -13 -12 -12 -12 -13 -14 -14 -15 -13 -9 -4 -0 -1 -2 -2 -1 0 1 0 -1 -2 -4 -7 -9 -11 -13 -13 -14 -14 -13 -11 -10 -10 -11 -11 -11 -9 -6 -4 -5 -7 -10 -12 -13 -13 -14 -14 -14 -13 -12 -12 -12 -14 -15 -17 -18 -19 -18 -17 -16 -15 -14 -12 -13 -17 -21 -22 -19 -15 -14 -14 -17 -23 -23 -22 -20 -18 -13 -14 -19 -21 -20 -18 -17 -16 -16 -16 -18 -21 -20 -21 -21 -19 -17 -18 -17 -16 -16 -17 -16 -16 -15 -12 -13 -15 -15 -14 -13 -12 -12 -11 -9 -7 -4 -2 -1 0 1 1 -0 -2 -4 -6 -8 -6 -3 -1 -1 -3 -0 2 3 4 5 4 4 -9 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -10 -10 -10 -10 -10 -12 -14 -13 -12 -12 -13 -13 -13 -13 -13 -13 -11 -9 -9 -8 -8 -8 -8 -8 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -5 -5 -5 -4 -4 -5 -6 -7 -8 -8 -8 -9 -10 -11 -11 -10 -10 -9 -8 -7 -6 -6 -6 -7 -8 -8 -8 -7 -6 -4 -3 -2 -2 -2 -2 -3 -4 -6 -8 -12 -15 -16 -17 -17 -17 -16 -12 -6 -1 1 -4 -7 -8 -9 -11 -13 -13 -11 -8 -5 -4 -6 -7 -7 -7 -5 -3 -1 -1 -2 -3 -6 -8 -10 -13 -13 -13 -13 -13 -14 -14 -12 -12 -12 -12 -9 -6 -5 -7 -10 -14 -16 -16 -16 -16 -16 -15 -14 -13 -12 -11 -11 -12 -13 -14 -16 -18 -19 -17 -14 -12 -12 -10 -10 -10 -9 -9 -9 -8 -8 -7 -6 -5 -4 -3 -2 -4 -6 -8 -7 -5 -5 -7 -9 -11 -14 -17 -20 -21 -19 -16 -13 -13 -13 -13 -10 -3 9 20 27 31 33 34 32 29 26 22 18 14 10 6 3 -0 -3 -5 -7 -8 -9 -9 -8 -7 -6 -5 -4 -4 -4 -5 -5 -6 -7 -7 -8 -8 -8 -9 -9 -10 -11 -12 -14 -14 -15 -15 -16 -18 -22 -25 -26 -25 -21 -16 -13 -12 -12 -12 -12 -11 -11 -12 -13 -14 -14 -15 -14 -12 -10 -7 -5 -5 -4 -5 -6 -8 -10 -12 -13 -13 -12 -12 -12 -12 -12 -13 -14 -15 -15 -12 -7 -2 -1 -2 -3 -3 -1 0 1 1 -0 -2 -4 -7 -10 -12 -13 -13 -14 -13 -12 -11 -10 -11 -11 -11 -11 -9 -6 -4 -5 -8 -11 -12 -13 -14 -14 -14 -14 -13 -12 -12 -13 -14 -16 -17 -18 -19 -18 -17 -15 -14 -12 -11 -14 -19 -23 -18 -12 -10 -13 -18 -23 -23 -22 -21 -18 -13 -14 -19 -21 -21 -19 -18 -17 -16 -16 -17 -19 -18 -18 -19 -18 -17 -20 -21 -20 -20 -21 -20 -18 -17 -15 -15 -16 -16 -16 -15 -14 -13 -12 -11 -10 -8 -5 -2 1 2 3 1 -1 -3 -5 -7 -7 -4 -1 0 -1 -1 1 3 4 3 0 -1 -9 -9 -9 -9 -8 -8 -8 -8 -9 -10 -10 -11 -11 -11 -11 -11 -13 -16 -15 -14 -14 -16 -16 -15 -15 -14 -14 -11 -8 -7 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -9 -10 -10 -10 -10 -10 -9 -8 -8 -7 -6 -5 -4 -4 -5 -5 -7 -8 -9 -10 -10 -11 -11 -10 -9 -8 -7 -7 -6 -6 -6 -7 -7 -8 -8 -7 -6 -5 -4 -3 -3 -3 -3 -3 -2 -3 -5 -9 -14 -16 -18 -19 -20 -19 -17 -12 -7 -1 0 -2 -4 -6 -7 -11 -14 -14 -12 -8 -5 -5 -6 -6 -6 -5 -3 -2 -1 -2 -3 -5 -6 -9 -11 -13 -12 -12 -12 -14 -16 -16 -15 -13 -12 -9 -6 -4 -3 -6 -10 -14 -15 -15 -16 -17 -17 -16 -15 -14 -14 -14 -13 -14 -14 -13 -15 -18 -18 -16 -13 -12 -10 -10 -10 -10 -9 -9 -9 -9 -8 -7 -7 -6 -5 -4 -3 -4 -4 -5 -5 -6 -7 -8 -11 -14 -18 -20 -21 -20 -19 -15 -13 -14 -15 -16 -15 -5 10 23 34 39 41 40 38 35 32 28 24 20 16 12 9 6 3 0 -2 -5 -6 -6 -5 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -8 -8 -9 -9 -10 -11 -13 -14 -15 -16 -16 -17 -18 -21 -25 -28 -28 -24 -18 -13 -10 -11 -12 -12 -11 -10 -10 -11 -11 -12 -12 -12 -13 -13 -12 -10 -8 -6 -4 -3 -3 -5 -8 -11 -12 -12 -12 -12 -12 -12 -12 -12 -13 -14 -15 -15 -12 -5 -1 -1 -3 -4 -4 -1 1 2 2 1 -2 -4 -7 -10 -12 -13 -13 -13 -13 -12 -10 -10 -11 -11 -12 -10 -8 -5 -4 -5 -9 -11 -13 -13 -14 -15 -14 -14 -13 -12 -12 -13 -15 -16 -18 -19 -18 -17 -16 -15 -13 -11 -12 -15 -19 -15 -14 -14 -16 -20 -22 -22 -22 -22 -20 -17 -16 -19 -21 -20 -18 -18 -17 -15 -14 -16 -18 -17 -17 -18 -18 -17 -18 -20 -22 -23 -23 -22 -21 -18 -16 -15 -15 -16 -17 -19 -17 -15 -13 -13 -12 -10 -7 -4 -0 3 3 2 0 -2 -3 -4 -6 -5 -2 -1 -3 -3 -1 2 4 0 -4 -6 -9 -10 -10 -9 -9 -8 -8 -8 -9 -9 -10 -12 -13 -14 -13 -12 -14 -16 -16 -16 -18 -19 -19 -18 -18 -17 -16 -14 -10 -7 -5 -4 -5 -6 -7 -8 -8 -8 -7 -7 -8 -9 -9 -9 -10 -10 -10 -9 -9 -8 -7 -6 -5 -4 -4 -4 -5 -6 -7 -9 -10 -11 -12 -11 -10 -9 -8 -7 -7 -7 -7 -7 -6 -6 -7 -7 -7 -7 -6 -5 -4 -3 -3 -3 -3 -2 -2 -3 -7 -11 -14 -17 -19 -21 -20 -18 -14 -11 -8 -5 -3 -2 -1 -1 -4 -9 -14 -16 -13 -8 -6 -6 -6 -7 -6 -5 -3 -2 -2 -3 -4 -6 -8 -11 -13 -12 -10 -10 -13 -16 -18 -18 -17 -13 -10 -8 -5 -3 -3 -6 -11 -13 -13 -14 -17 -18 -17 -17 -17 -18 -18 -17 -16 -14 -12 -11 -14 -16 -16 -14 -13 -11 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -7 -7 -5 -4 -3 -3 -4 -5 -6 -7 -8 -11 -14 -17 -19 -19 -20 -19 -17 -15 -15 -15 -15 -18 -18 -11 0 14 28 38 43 44 42 39 36 33 29 25 22 18 15 12 8 5 2 0 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -7 -7 -8 -9 -9 -10 -11 -12 -14 -15 -17 -17 -18 -19 -21 -25 -28 -31 -30 -25 -17 -11 -9 -10 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -10 -9 -6 -5 -3 -4 -5 -7 -9 -10 -11 -12 -13 -12 -12 -12 -12 -14 -15 -16 -15 -10 -4 -2 -2 -5 -6 -4 -0 3 4 3 1 -1 -4 -7 -10 -12 -13 -13 -13 -13 -11 -10 -10 -11 -11 -11 -10 -7 -5 -4 -6 -10 -12 -13 -14 -14 -15 -14 -13 -12 -12 -12 -13 -15 -17 -18 -18 -18 -16 -15 -14 -12 -11 -11 -12 -14 -19 -22 -21 -19 -20 -22 -22 -22 -21 -20 -20 -21 -21 -18 -17 -18 -17 -15 -12 -16 -18 -18 -18 -20 -21 -19 -18 -18 -21 -23 -22 -22 -22 -20 -17 -14 -13 -14 -19 -22 -20 -17 -14 -14 -13 -11 -8 -4 -0 2 4 3 2 -0 -1 -2 -5 -6 -4 -3 -6 -7 -4 -1 -1 -5 -7 -7 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -11 -14 -17 -17 -16 -15 -15 -16 -16 -18 -20 -22 -22 -20 -20 -21 -22 -21 -16 -11 -6 -3 -4 -5 -7 -7 -8 -8 -8 -8 -9 -10 -9 -8 -8 -9 -9 -9 -9 -9 -8 -7 -5 -5 -4 -5 -5 -5 -6 -8 -10 -12 -12 -11 -10 -9 -8 -7 -7 -7 -7 -7 -6 -6 -5 -6 -6 -6 -6 -5 -4 -3 -4 -4 -4 -4 -4 -4 -6 -9 -12 -15 -18 -21 -22 -20 -16 -13 -11 -8 -6 -4 -3 -1 -1 -4 -9 -13 -15 -11 -8 -6 -6 -7 -7 -6 -4 -3 -3 -3 -4 -5 -7 -10 -12 -11 -9 -8 -10 -13 -16 -19 -19 -15 -9 -7 -6 -6 -5 -5 -6 -7 -9 -11 -14 -17 -17 -17 -19 -21 -22 -22 -20 -17 -13 -10 -10 -12 -14 -15 -14 -12 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -6 -4 -4 -3 -4 -5 -6 -7 -9 -12 -14 -17 -20 -22 -22 -19 -17 -17 -16 -14 -13 -16 -20 -18 -10 6 24 37 44 46 45 42 39 36 33 29 26 23 19 16 13 10 7 6 5 4 4 3 2 0 -2 -3 -5 -6 -7 -8 -8 -9 -10 -12 -13 -15 -17 -18 -19 -19 -21 -23 -27 -31 -34 -33 -26 -18 -11 -7 -8 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -9 -9 -10 -9 -7 -5 -3 -4 -5 -8 -10 -12 -13 -13 -12 -11 -11 -12 -14 -15 -16 -15 -9 -4 -2 -4 -6 -6 -3 1 4 5 4 2 -1 -5 -8 -11 -12 -13 -14 -13 -12 -10 -10 -10 -10 -10 -10 -9 -7 -5 -5 -8 -11 -13 -14 -14 -14 -14 -14 -13 -12 -12 -12 -14 -15 -17 -17 -18 -17 -15 -14 -14 -13 -12 -12 -14 -19 -22 -20 -18 -19 -21 -22 -22 -22 -22 -22 -22 -22 -20 -19 -19 -19 -17 -15 -17 -19 -19 -20 -22 -23 -22 -19 -17 -18 -21 -22 -23 -23 -21 -18 -15 -14 -16 -21 -25 -24 -20 -15 -14 -14 -13 -10 -6 -2 2 3 4 2 0 -0 -0 -4 -7 -7 -6 -8 -8 -6 -6 -6 -8 -9 -6 -10 -10 -10 -10 -10 -10 -10 -10 -9 -10 -12 -17 -18 -18 -17 -18 -17 -17 -18 -19 -18 -18 -18 -17 -18 -20 -24 -24 -21 -15 -9 -4 -4 -5 -6 -7 -7 -8 -8 -9 -9 -9 -8 -7 -8 -8 -9 -8 -8 -8 -8 -8 -7 -5 -5 -5 -6 -6 -6 -8 -10 -11 -12 -11 -10 -9 -9 -8 -7 -7 -7 -7 -7 -6 -5 -6 -6 -6 -6 -5 -4 -3 -3 -4 -5 -6 -7 -7 -7 -9 -11 -14 -16 -18 -21 -21 -18 -15 -12 -8 -7 -7 -6 -3 -1 -1 -4 -8 -13 -12 -9 -7 -7 -8 -7 -6 -5 -4 -4 -3 -4 -5 -7 -9 -11 -11 -9 -7 -7 -9 -12 -16 -17 -15 -10 -8 -7 -8 -9 -9 -10 -9 -7 -6 -8 -11 -13 -15 -17 -21 -24 -25 -25 -23 -19 -12 -9 -9 -11 -13 -13 -12 -11 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -6 -5 -4 -3 -3 -4 -5 -7 -10 -13 -16 -18 -21 -22 -20 -19 -19 -18 -15 -12 -11 -14 -17 -18 -14 1 17 33 44 47 47 45 42 39 36 32 29 26 23 20 17 15 13 12 11 10 9 7 5 3 -0 -3 -4 -6 -7 -8 -9 -11 -13 -14 -16 -17 -18 -19 -20 -22 -24 -28 -32 -35 -35 -30 -21 -13 -7 -6 -8 -8 -8 -7 -7 -8 -8 -9 -9 -8 -7 -7 -6 -6 -7 -9 -11 -13 -12 -9 -5 -2 -2 -5 -9 -12 -13 -12 -12 -11 -11 -11 -12 -14 -15 -16 -14 -8 -3 -1 -4 -6 -6 -3 1 4 5 4 2 -2 -5 -9 -11 -13 -14 -14 -13 -11 -10 -9 -9 -10 -10 -9 -9 -7 -6 -7 -9 -13 -13 -13 -14 -14 -14 -14 -13 -12 -12 -13 -14 -15 -16 -17 -17 -16 -15 -17 -19 -18 -17 -18 -20 -21 -19 -18 -19 -20 -21 -22 -22 -21 -22 -22 -23 -23 -22 -21 -20 -19 -17 -19 -21 -22 -24 -25 -24 -23 -21 -19 -19 -21 -23 -24 -24 -22 -19 -15 -14 -16 -22 -27 -27 -24 -19 -14 -13 -13 -12 -8 -3 0 1 2 3 1 0 0 -4 -9 -9 -8 -8 -8 -7 -9 -8 -9 -8 -5 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -12 -14 -15 -16 -17 -17 -17 -18 -19 -18 -15 -13 -12 -13 -13 -14 -16 -18 -18 -14 -9 -5 -5 -5 -5 -6 -7 -8 -9 -9 -10 -11 -10 -9 -9 -9 -9 -8 -8 -7 -8 -9 -8 -6 -6 -6 -6 -6 -7 -7 -9 -10 -11 -10 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -4 -3 -4 -5 -7 -9 -11 -11 -11 -11 -12 -13 -15 -18 -19 -19 -17 -15 -10 -7 -7 -7 -6 -4 -3 -3 -5 -8 -8 -7 -6 -7 -9 -8 -7 -5 -4 -4 -3 -4 -5 -6 -8 -10 -11 -10 -8 -7 -6 -8 -12 -15 -15 -11 -9 -9 -10 -11 -12 -13 -13 -11 -8 -6 -7 -9 -11 -14 -18 -23 -26 -27 -27 -24 -19 -13 -9 -9 -11 -12 -11 -10 -9 -9 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -5 -3 -2 -2 -3 -5 -8 -11 -13 -17 -20 -22 -22 -21 -20 -19 -17 -15 -13 -11 -11 -14 -16 -13 -5 7 20 33 43 47 46 44 41 38 34 31 28 25 23 21 20 19 18 17 15 14 11 9 5 2 -2 -4 -6 -7 -9 -11 -13 -15 -16 -17 -18 -19 -20 -22 -24 -28 -31 -34 -36 -32 -25 -16 -8 -6 -6 -6 -5 -5 -5 -6 -7 -8 -8 -7 -6 -5 -5 -6 -8 -10 -12 -13 -14 -13 -9 -4 -2 -3 -7 -10 -11 -11 -11 -10 -10 -10 -11 -12 -14 -15 -16 -13 -7 -2 -2 -4 -6 -6 -4 1 4 5 4 1 -2 -6 -9 -12 -14 -14 -14 -12 -10 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -11 -13 -13 -13 -13 -14 -14 -13 -12 -11 -12 -13 -14 -15 -16 -17 -16 -17 -21 -24 -23 -22 -23 -23 -22 -20 -19 -19 -20 -21 -22 -21 -21 -21 -21 -23 -23 -23 -23 -22 -19 -18 -21 -23 -24 -26 -26 -25 -24 -23 -23 -23 -23 -24 -25 -25 -23 -20 -16 -14 -16 -22 -26 -27 -25 -20 -13 -10 -11 -12 -10 -4 -2 -2 -2 0 -1 -2 -3 -5 -8 -7 -7 -7 -8 -9 -10 -7 -5 -3 -1 -10 -10 -10 -10 -9 -10 -10 -11 -13 -13 -12 -12 -14 -16 -18 -20 -23 -23 -20 -16 -13 -12 -13 -13 -13 -14 -15 -16 -16 -13 -10 -7 -6 -5 -5 -6 -7 -8 -8 -9 -11 -12 -11 -10 -10 -9 -9 -8 -8 -8 -8 -9 -9 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -8 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -6 -5 -5 -5 -4 -4 -4 -5 -7 -10 -13 -14 -14 -12 -12 -12 -14 -17 -18 -18 -18 -17 -13 -9 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -4 -6 -9 -9 -7 -5 -4 -4 -3 -3 -4 -6 -8 -9 -10 -10 -9 -8 -6 -6 -8 -12 -13 -11 -9 -9 -10 -11 -12 -13 -14 -13 -12 -9 -8 -8 -10 -13 -16 -19 -21 -21 -21 -22 -22 -20 -15 -10 -9 -10 -9 -9 -8 -8 -9 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -5 -4 -2 -2 -2 -5 -8 -11 -14 -18 -21 -23 -22 -22 -21 -19 -18 -15 -13 -11 -11 -13 -14 -12 -7 1 10 21 31 39 44 44 42 39 36 33 30 28 26 25 25 24 23 21 20 17 15 11 7 3 -1 -3 -6 -8 -10 -12 -14 -15 -16 -17 -19 -20 -22 -24 -26 -29 -32 -34 -33 -28 -19 -11 -7 -6 -4 -3 -2 -2 -3 -5 -6 -6 -6 -5 -4 -5 -6 -9 -11 -12 -13 -13 -13 -12 -10 -6 -4 -5 -6 -8 -9 -10 -10 -10 -10 -10 -11 -12 -14 -15 -15 -12 -5 -2 -2 -4 -6 -6 -4 -0 4 5 4 1 -3 -7 -10 -13 -14 -15 -14 -12 -10 -9 -9 -9 -10 -11 -12 -15 -15 -12 -11 -13 -13 -13 -12 -13 -13 -13 -12 -11 -11 -12 -13 -14 -15 -17 -18 -20 -24 -26 -25 -24 -25 -25 -24 -21 -20 -20 -21 -22 -21 -21 -21 -21 -22 -23 -23 -24 -24 -23 -20 -19 -22 -24 -25 -26 -27 -25 -24 -23 -23 -23 -23 -24 -25 -25 -23 -21 -17 -15 -16 -20 -25 -24 -19 -14 -9 -6 -8 -11 -12 -7 -5 -6 -6 -4 -5 -7 -8 -9 -9 -7 -7 -7 -9 -11 -11 -4 1 3 2 -10 -10 -10 -10 -10 -10 -11 -11 -12 -13 -14 -15 -17 -19 -21 -21 -21 -22 -20 -16 -14 -13 -15 -15 -15 -16 -17 -16 -14 -11 -9 -9 -8 -6 -6 -6 -7 -8 -8 -9 -11 -11 -11 -11 -10 -9 -9 -9 -9 -9 -10 -10 -9 -8 -7 -7 -7 -7 -8 -9 -9 -8 -7 -8 -7 -7 -7 -8 -9 -9 -9 -8 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -6 -9 -12 -16 -16 -15 -13 -12 -14 -17 -17 -16 -16 -17 -16 -12 -8 -6 -6 -6 -7 -8 -8 -6 -2 -1 -2 -5 -8 -10 -8 -6 -5 -4 -3 -3 -4 -6 -7 -9 -9 -8 -9 -9 -7 -5 -6 -8 -10 -9 -9 -9 -10 -11 -12 -12 -13 -13 -13 -12 -10 -10 -12 -14 -17 -18 -18 -17 -16 -17 -22 -24 -21 -15 -11 -10 -9 -8 -7 -7 -8 -9 -10 -10 -10 -9 -9 -8 -8 -7 -8 -8 -8 -7 -6 -5 -4 -3 -2 -3 -5 -8 -10 -13 -17 -21 -22 -23 -22 -20 -18 -17 -15 -14 -12 -12 -14 -14 -12 -8 -5 0 9 21 31 37 40 40 38 36 34 32 31 30 30 29 28 27 25 23 20 17 13 9 4 0 -3 -5 -8 -10 -12 -13 -15 -16 -18 -20 -21 -22 -24 -26 -29 -31 -30 -26 -20 -14 -11 -8 -5 -2 -0 0 -0 -2 -3 -4 -3 -3 -3 -5 -6 -9 -10 -11 -11 -11 -11 -12 -13 -12 -9 -5 -4 -5 -7 -9 -10 -10 -10 -9 -10 -11 -12 -13 -14 -15 -10 -5 -2 -3 -4 -6 -6 -4 -1 3 4 3 -0 -4 -8 -11 -13 -14 -15 -13 -11 -10 -10 -11 -13 -16 -17 -19 -19 -19 -15 -14 -14 -13 -12 -12 -12 -13 -13 -12 -13 -13 -15 -16 -17 -19 -22 -25 -28 -28 -27 -25 -26 -27 -25 -23 -22 -22 -22 -22 -21 -21 -20 -21 -23 -24 -23 -23 -23 -22 -21 -21 -22 -24 -25 -27 -27 -26 -24 -23 -23 -22 -22 -23 -24 -24 -23 -21 -18 -16 -16 -19 -23 -21 -13 -10 -8 -6 -7 -12 -13 -11 -9 -8 -8 -8 -9 -11 -12 -12 -12 -11 -10 -9 -10 -11 -11 -1 6 8 4 -10 -10 -10 -10 -10 -10 -10 -11 -12 -12 -13 -13 -16 -18 -19 -19 -18 -18 -16 -14 -13 -13 -15 -15 -16 -17 -18 -17 -13 -10 -9 -9 -9 -8 -7 -9 -10 -10 -10 -10 -10 -10 -11 -10 -10 -9 -9 -9 -10 -10 -10 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -7 -8 -8 -10 -11 -10 -8 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -8 -12 -14 -17 -16 -14 -12 -13 -16 -18 -17 -16 -16 -17 -15 -12 -9 -7 -6 -6 -8 -9 -8 -4 -1 -1 -3 -7 -9 -9 -7 -5 -4 -3 -3 -4 -5 -7 -8 -8 -7 -8 -8 -7 -7 -7 -7 -7 -8 -8 -9 -10 -11 -11 -12 -12 -12 -12 -11 -11 -12 -14 -16 -19 -20 -19 -17 -15 -14 -17 -21 -22 -19 -15 -11 -9 -9 -8 -7 -7 -8 -9 -10 -9 -9 -9 -9 -8 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -2 -2 -4 -7 -10 -12 -16 -18 -20 -20 -19 -18 -16 -16 -15 -15 -14 -15 -16 -15 -12 -10 -8 -4 3 12 18 21 24 29 34 34 34 34 34 34 34 33 32 30 28 25 22 19 15 10 6 2 -2 -5 -7 -9 -11 -13 -16 -18 -20 -21 -22 -23 -24 -25 -26 -25 -23 -18 -15 -14 -12 -9 -5 -2 0 1 1 1 0 -0 -1 -3 -4 -6 -8 -9 -9 -10 -10 -11 -12 -13 -13 -13 -9 -5 -3 -4 -6 -8 -10 -10 -9 -9 -9 -10 -11 -12 -14 -14 -10 -6 -5 -6 -7 -8 -8 -8 -6 -2 1 1 -2 -6 -8 -11 -13 -15 -15 -13 -12 -14 -16 -17 -19 -20 -20 -21 -22 -21 -19 -16 -14 -12 -11 -11 -12 -12 -14 -16 -18 -20 -21 -23 -25 -28 -30 -31 -30 -28 -27 -27 -27 -25 -24 -22 -22 -22 -22 -21 -20 -20 -21 -23 -23 -23 -23 -24 -25 -24 -22 -23 -24 -26 -28 -27 -26 -24 -23 -24 -23 -21 -21 -22 -23 -22 -20 -17 -16 -17 -19 -22 -20 -11 -10 -10 -7 -7 -10 -11 -10 -10 -9 -8 -9 -10 -13 -14 -13 -15 -13 -12 -11 -10 -7 -7 -3 3 9 6 -10 -10 -10 -10 -9 -9 -9 -11 -11 -11 -11 -12 -13 -15 -16 -16 -16 -16 -13 -12 -12 -13 -14 -15 -16 -17 -17 -15 -12 -10 -9 -8 -8 -7 -8 -10 -12 -12 -11 -10 -9 -8 -8 -9 -9 -9 -8 -9 -9 -9 -9 -10 -10 -9 -9 -9 -9 -8 -8 -8 -9 -9 -8 -7 -6 -6 -7 -9 -10 -10 -11 -11 -9 -7 -6 -6 -6 -6 -6 -6 -6 -5 -4 -5 -5 -6 -8 -10 -13 -16 -17 -16 -13 -12 -14 -18 -19 -18 -14 -14 -15 -14 -12 -10 -8 -7 -8 -8 -6 -4 -4 -4 -4 -5 -7 -8 -7 -5 -3 -3 -3 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -7 -8 -8 -8 -9 -10 -11 -11 -11 -9 -9 -10 -12 -14 -16 -18 -19 -20 -19 -18 -13 -12 -14 -18 -21 -20 -14 -11 -10 -10 -9 -8 -8 -9 -10 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -2 -1 -2 -5 -8 -9 -11 -14 -17 -18 -18 -17 -15 -15 -15 -16 -16 -17 -19 -20 -17 -12 -10 -9 -8 -4 -1 2 6 11 16 21 26 30 33 35 37 37 36 34 32 30 27 24 20 16 12 7 3 -1 -4 -7 -9 -12 -15 -17 -19 -20 -21 -22 -23 -23 -23 -21 -18 -15 -14 -14 -13 -11 -9 -7 -4 -1 1 3 4 4 2 -1 -4 -6 -7 -7 -7 -8 -9 -11 -11 -12 -12 -13 -12 -9 -5 -3 -4 -6 -8 -10 -10 -9 -9 -9 -10 -11 -13 -15 -15 -14 -11 -11 -12 -13 -14 -15 -15 -12 -7 -4 -3 -4 -7 -9 -12 -14 -16 -17 -17 -18 -20 -20 -21 -21 -22 -23 -23 -23 -21 -18 -15 -13 -10 -10 -10 -12 -14 -20 -23 -24 -25 -26 -27 -30 -32 -32 -31 -30 -29 -27 -25 -23 -23 -21 -21 -21 -21 -20 -19 -20 -21 -22 -23 -23 -23 -25 -28 -27 -25 -24 -24 -26 -29 -28 -26 -24 -24 -25 -23 -21 -19 -19 -21 -21 -19 -17 -15 -17 -19 -21 -20 -14 -13 -12 -10 -9 -10 -11 -11 -11 -9 -9 -10 -11 -13 -14 -13 -15 -14 -12 -10 -7 -2 -2 -4 -3 11 9 -9 -10 -10 -10 -9 -8 -8 -10 -11 -10 -10 -11 -12 -13 -14 -15 -15 -15 -13 -12 -12 -13 -14 -15 -16 -14 -12 -11 -10 -10 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -8 -6 -6 -7 -8 -8 -8 -8 -8 -9 -9 -9 -8 -7 -7 -8 -8 -8 -8 -8 -9 -9 -9 -7 -6 -6 -7 -8 -10 -11 -11 -10 -8 -6 -5 -4 -5 -5 -6 -7 -7 -6 -4 -4 -5 -6 -7 -8 -11 -14 -17 -18 -17 -15 -14 -16 -19 -20 -16 -13 -14 -15 -15 -11 -9 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -6 -6 -5 -4 -4 -4 -3 -3 -2 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -8 -9 -10 -10 -10 -9 -7 -8 -11 -13 -14 -16 -17 -19 -20 -21 -16 -11 -11 -15 -20 -21 -16 -13 -11 -10 -10 -10 -10 -10 -10 -10 -9 -8 -8 -8 -8 -7 -6 -6 -6 -6 -6 -5 -4 -3 -2 1 1 -0 -3 -5 -6 -9 -12 -16 -17 -16 -14 -13 -12 -12 -13 -15 -18 -22 -25 -20 -14 -11 -11 -12 -11 -8 -5 -2 0 4 8 14 20 27 33 37 38 38 36 34 31 29 26 23 18 14 9 4 0 -4 -7 -11 -14 -16 -17 -18 -19 -20 -21 -20 -18 -16 -14 -13 -12 -12 -11 -11 -11 -10 -10 -8 -4 1 5 7 5 1 -3 -5 -6 -6 -6 -6 -8 -10 -11 -11 -11 -11 -12 -11 -9 -5 -3 -4 -7 -10 -13 -13 -12 -12 -12 -13 -14 -17 -20 -20 -18 -16 -16 -17 -17 -17 -18 -18 -16 -13 -11 -8 -10 -12 -13 -15 -17 -22 -23 -21 -21 -20 -21 -23 -23 -23 -23 -20 -19 -17 -15 -14 -11 -9 -9 -10 -14 -21 -24 -25 -25 -25 -27 -30 -32 -32 -31 -30 -30 -27 -24 -23 -22 -20 -20 -20 -20 -20 -19 -20 -21 -23 -24 -24 -25 -27 -30 -30 -28 -27 -27 -28 -29 -28 -26 -25 -25 -25 -23 -21 -18 -18 -19 -20 -19 -17 -14 -14 -16 -18 -20 -18 -15 -12 -12 -11 -10 -10 -11 -11 -11 -10 -10 -11 -13 -14 -13 -13 -11 -8 -5 -3 1 2 -2 -5 10 12 -8 -9 -10 -10 -9 -8 -8 -10 -11 -10 -10 -10 -12 -13 -14 -15 -14 -13 -13 -13 -14 -14 -15 -16 -16 -14 -10 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -6 -7 -7 -6 -6 -5 -5 -5 -6 -7 -7 -8 -8 -8 -8 -9 -9 -9 -7 -7 -6 -6 -7 -10 -11 -10 -8 -6 -5 -5 -5 -5 -6 -7 -8 -7 -6 -5 -5 -5 -6 -6 -8 -12 -17 -21 -22 -19 -16 -15 -17 -19 -17 -14 -12 -13 -13 -11 -9 -8 -7 -7 -8 -8 -8 -8 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -2 -2 -3 -4 -4 -3 -3 -3 -4 -5 -5 -5 -6 -6 -7 -7 -8 -9 -9 -10 -9 -7 -5 -5 -7 -10 -14 -17 -18 -19 -21 -21 -17 -14 -13 -16 -18 -16 -14 -12 -11 -11 -11 -11 -11 -11 -11 -10 -9 -8 -7 -8 -7 -6 -6 -6 -7 -7 -7 -5 -3 -1 1 3 3 2 1 -1 -3 -7 -11 -14 -15 -15 -13 -11 -8 -8 -10 -14 -20 -26 -26 -22 -17 -13 -12 -11 -10 -8 -6 -5 -5 -4 -2 2 7 15 24 32 36 37 35 34 32 31 28 25 21 16 10 5 -0 -5 -9 -11 -12 -12 -12 -12 -13 -14 -13 -13 -12 -11 -11 -10 -10 -10 -10 -10 -11 -12 -11 -10 -6 -0 4 6 4 0 -3 -4 -4 -4 -5 -6 -8 -9 -10 -10 -10 -11 -11 -11 -8 -6 -6 -8 -12 -18 -20 -20 -19 -19 -19 -19 -20 -21 -22 -21 -18 -17 -17 -18 -17 -18 -19 -19 -18 -16 -15 -17 -17 -17 -16 -15 -20 -22 -21 -20 -20 -21 -22 -22 -21 -20 -18 -16 -15 -14 -14 -12 -10 -9 -10 -15 -21 -24 -25 -25 -25 -27 -29 -30 -31 -31 -31 -30 -28 -25 -23 -23 -22 -21 -20 -20 -20 -21 -21 -23 -25 -26 -26 -27 -28 -30 -31 -31 -31 -31 -31 -31 -30 -28 -26 -25 -25 -23 -21 -19 -17 -19 -20 -19 -18 -15 -13 -11 -12 -17 -20 -14 -10 -10 -12 -11 -9 -8 -9 -12 -11 -12 -12 -13 -14 -13 -11 -8 -4 -1 1 2 4 3 -1 8 13 -8 -9 -9 -9 -8 -8 -8 -10 -11 -10 -9 -10 -12 -12 -13 -14 -14 -12 -12 -12 -13 -12 -13 -13 -12 -11 -10 -9 -9 -8 -8 -9 -10 -9 -9 -8 -8 -6 -6 -6 -5 -4 -3 -2 -2 -3 -3 -4 -4 -3 -3 -3 -3 -4 -5 -6 -6 -7 -7 -7 -8 -9 -10 -10 -9 -7 -6 -5 -5 -8 -10 -11 -9 -7 -6 -6 -6 -6 -7 -8 -8 -8 -6 -5 -5 -4 -4 -5 -6 -9 -14 -20 -25 -24 -20 -16 -15 -17 -18 -16 -13 -11 -11 -11 -9 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -6 -6 -5 -5 -6 -7 -7 -6 -5 -3 -2 -2 -2 -1 -0 -1 -2 -3 -3 -3 -3 -4 -5 -7 -8 -9 -10 -10 -11 -9 -5 -3 -4 -6 -8 -10 -13 -16 -20 -22 -22 -19 -16 -13 -15 -15 -14 -13 -11 -12 -11 -11 -11 -11 -12 -11 -10 -9 -7 -6 -6 -6 -6 -7 -8 -9 -9 -8 -5 -2 1 3 5 5 5 5 2 -1 -5 -9 -12 -13 -13 -12 -9 -7 -7 -9 -14 -23 -28 -28 -23 -17 -13 -12 -11 -9 -5 -3 -3 -5 -7 -8 -9 -4 4 13 21 27 30 32 32 32 31 29 26 22 17 11 5 -1 -4 -5 -4 -1 0 -1 -3 -4 -6 -7 -8 -9 -8 -8 -8 -8 -9 -10 -11 -11 -11 -11 -10 -7 -3 1 3 3 0 -2 -3 -3 -4 -5 -6 -8 -9 -10 -10 -10 -11 -12 -12 -10 -11 -13 -16 -20 -22 -22 -21 -21 -21 -21 -20 -21 -23 -23 -20 -18 -18 -18 -16 -17 -19 -20 -20 -18 -17 -14 -11 -7 -7 -9 -13 -15 -15 -15 -17 -17 -17 -17 -16 -17 -16 -15 -14 -14 -13 -13 -12 -11 -12 -18 -23 -25 -25 -25 -26 -27 -28 -29 -30 -31 -31 -31 -29 -25 -23 -25 -26 -25 -22 -22 -23 -24 -25 -25 -27 -28 -28 -28 -28 -30 -32 -34 -34 -33 -31 -31 -31 -29 -28 -26 -25 -24 -23 -21 -19 -18 -19 -20 -22 -21 -17 -12 -8 -10 -16 -11 -9 -10 -12 -12 -10 -8 -8 -12 -12 -13 -14 -16 -17 -16 -13 -8 -2 1 3 4 6 7 5 1 10 -8 -9 -9 -8 -8 -7 -8 -9 -11 -11 -11 -12 -13 -13 -12 -11 -13 -15 -12 -11 -10 -10 -10 -10 -11 -11 -11 -12 -11 -11 -10 -9 -10 -9 -9 -8 -8 -7 -7 -7 -6 -5 -4 -2 -2 -2 -2 -1 -1 -1 -2 -2 -3 -3 -4 -5 -5 -6 -6 -6 -7 -8 -10 -11 -10 -8 -6 -4 -5 -6 -9 -10 -10 -9 -8 -7 -6 -7 -8 -9 -9 -8 -7 -5 -4 -3 -3 -4 -5 -7 -11 -16 -22 -26 -24 -20 -16 -16 -18 -17 -14 -11 -10 -11 -9 -7 -6 -7 -8 -8 -8 -9 -9 -8 -8 -7 -6 -5 -5 -6 -7 -8 -9 -9 -7 -5 -2 -1 0 1 1 1 -0 -0 -0 -1 -2 -3 -5 -6 -8 -10 -11 -11 -10 -7 -4 -2 -2 -3 -4 -7 -12 -18 -23 -25 -24 -21 -17 -16 -16 -15 -13 -12 -12 -12 -12 -11 -12 -13 -13 -13 -11 -8 -6 -6 -6 -6 -6 -7 -10 -12 -12 -10 -5 -2 1 3 5 7 8 7 4 0 -3 -7 -10 -12 -12 -10 -7 -5 -5 -8 -16 -23 -28 -27 -22 -14 -12 -12 -12 -8 -3 -1 -2 -4 -6 -8 -10 -9 -7 -1 8 14 19 22 24 25 25 25 24 21 16 10 5 2 1 4 7 8 7 5 3 -1 -3 -5 -6 -6 -6 -6 -7 -7 -8 -9 -10 -10 -10 -10 -9 -8 -6 -3 -0 1 1 -1 -2 -3 -3 -4 -6 -8 -9 -10 -10 -12 -15 -16 -16 -17 -17 -18 -19 -22 -23 -23 -22 -22 -21 -20 -20 -22 -22 -21 -19 -17 -16 -15 -16 -18 -21 -22 -21 -17 -10 -4 -1 -2 -5 -9 -12 -13 -13 -10 -7 -6 -9 -13 -15 -15 -15 -14 -13 -13 -13 -14 -17 -17 -21 -24 -25 -26 -27 -27 -28 -29 -30 -31 -31 -32 -32 -30 -27 -25 -29 -31 -29 -25 -25 -26 -27 -29 -28 -28 -29 -29 -28 -27 -29 -32 -35 -36 -35 -32 -31 -30 -30 -29 -27 -25 -24 -25 -24 -21 -18 -18 -20 -24 -24 -20 -13 -7 -6 -9 -8 -8 -11 -10 -12 -12 -11 -9 -12 -13 -14 -16 -18 -20 -19 -17 -11 -4 1 3 5 7 11 10 2 8 -9 -9 -8 -8 -7 -7 -8 -10 -10 -10 -11 -13 -17 -19 -18 -15 -14 -15 -13 -12 -11 -10 -9 -9 -10 -11 -13 -14 -15 -15 -13 -11 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -6 -4 -4 -3 -2 -1 0 -0 -1 -2 -3 -3 -3 -4 -5 -6 -6 -6 -7 -8 -10 -11 -10 -9 -7 -5 -5 -6 -7 -9 -10 -10 -9 -7 -7 -8 -10 -11 -10 -9 -7 -5 -3 -2 -2 -3 -4 -6 -8 -11 -17 -24 -26 -23 -19 -16 -17 -18 -15 -11 -9 -10 -9 -8 -7 -6 -7 -8 -8 -9 -9 -8 -9 -8 -7 -6 -5 -6 -6 -8 -9 -11 -10 -8 -5 -3 -1 1 1 1 1 1 2 2 1 1 -1 -2 -4 -7 -11 -13 -13 -10 -6 -2 -1 -1 -0 -1 -3 -8 -14 -18 -21 -21 -19 -17 -16 -14 -12 -12 -13 -14 -13 -12 -11 -12 -14 -15 -14 -12 -8 -6 -4 -4 -5 -6 -8 -12 -14 -15 -11 -7 -4 -1 1 4 7 8 5 1 -1 -2 -5 -9 -11 -10 -8 -6 -5 -6 -10 -16 -22 -25 -24 -17 -13 -12 -12 -9 -5 -2 -2 -2 -3 -5 -7 -8 -10 -11 -11 -6 -1 4 7 9 12 14 15 16 14 11 7 5 5 6 7 7 8 8 8 5 2 -1 -3 -4 -4 -4 -5 -5 -6 -7 -8 -8 -8 -8 -8 -10 -10 -10 -6 -2 0 0 -1 -2 -2 -3 -4 -6 -9 -12 -13 -16 -19 -20 -20 -20 -19 -18 -18 -21 -25 -26 -23 -22 -21 -20 -20 -21 -21 -21 -19 -17 -16 -15 -15 -17 -20 -23 -24 -19 -10 -3 -1 -0 -2 -5 -8 -12 -14 -13 -9 -6 -5 -9 -13 -15 -14 -14 -13 -12 -13 -16 -21 -21 -22 -25 -27 -28 -29 -29 -29 -29 -31 -32 -32 -32 -31 -31 -28 -28 -31 -32 -30 -27 -29 -30 -30 -31 -30 -30 -31 -30 -28 -26 -28 -31 -34 -36 -36 -34 -33 -31 -30 -30 -27 -25 -25 -26 -25 -22 -19 -17 -18 -23 -23 -20 -14 -7 -5 -6 -6 -8 -12 -8 -10 -12 -13 -13 -14 -15 -16 -17 -19 -20 -20 -17 -13 -7 -1 2 5 8 12 14 10 8 -8 -8 -8 -8 -7 -7 -8 -10 -10 -11 -12 -14 -17 -20 -20 -18 -16 -16 -14 -13 -13 -12 -10 -8 -9 -11 -13 -15 -18 -18 -16 -13 -10 -9 -8 -8 -8 -8 -8 -9 -9 -9 -8 -7 -5 -5 -4 -2 -1 -0 -0 -1 -3 -3 -2 -3 -3 -4 -5 -6 -7 -8 -10 -11 -10 -9 -8 -8 -8 -7 -7 -8 -9 -9 -8 -7 -7 -9 -11 -12 -11 -10 -7 -5 -3 -2 -2 -2 -3 -5 -6 -8 -11 -18 -24 -26 -24 -19 -17 -18 -17 -13 -9 -9 -10 -9 -7 -6 -6 -7 -7 -8 -8 -8 -8 -9 -8 -7 -6 -6 -6 -7 -9 -11 -11 -11 -9 -6 -3 -2 -1 -0 1 2 2 2 3 3 4 3 1 -3 -8 -14 -15 -12 -9 -6 -4 -3 -1 1 2 -0 -4 -8 -12 -15 -16 -16 -15 -14 -13 -13 -14 -15 -14 -12 -11 -11 -12 -14 -15 -15 -12 -8 -4 -3 -3 -3 -5 -8 -13 -17 -16 -12 -8 -5 -4 -2 1 4 4 1 -0 0 -1 -5 -9 -10 -8 -7 -6 -6 -8 -12 -16 -20 -23 -21 -16 -13 -11 -10 -6 -4 -3 -3 -4 -4 -5 -5 -7 -8 -10 -11 -12 -11 -10 -8 -5 -3 -1 1 4 4 3 3 3 3 2 2 4 6 7 7 6 5 2 0 -1 -2 -3 -4 -4 -5 -7 -8 -8 -7 -8 -9 -11 -12 -11 -7 -3 -1 -1 -2 -2 -4 -5 -7 -10 -14 -18 -20 -20 -20 -20 -20 -20 -18 -18 -20 -24 -25 -23 -20 -16 -15 -16 -17 -17 -19 -19 -19 -18 -17 -16 -16 -19 -22 -24 -20 -13 -7 -4 -2 -1 -2 -5 -8 -12 -13 -12 -10 -8 -7 -11 -13 -14 -14 -13 -12 -13 -17 -22 -22 -23 -26 -28 -29 -30 -30 -29 -28 -29 -30 -30 -30 -31 -31 -29 -28 -27 -27 -28 -29 -31 -32 -31 -31 -30 -31 -31 -30 -28 -26 -27 -29 -32 -35 -37 -37 -36 -34 -31 -29 -26 -25 -25 -26 -25 -22 -19 -17 -17 -19 -18 -17 -15 -10 -6 -7 -8 -9 -13 -12 -11 -11 -13 -15 -16 -16 -17 -18 -19 -20 -20 -18 -14 -12 -4 1 4 7 12 17 17 11 -8 -9 -9 -9 -8 -8 -9 -11 -11 -12 -13 -14 -15 -17 -17 -17 -17 -16 -15 -14 -13 -11 -9 -7 -8 -10 -12 -15 -18 -20 -19 -15 -11 -10 -9 -8 -8 -9 -9 -10 -10 -10 -10 -9 -7 -6 -5 -5 -3 -0 -0 -1 -2 -2 -1 -1 -1 -1 -3 -5 -6 -7 -8 -9 -10 -10 -11 -11 -10 -9 -8 -7 -6 -6 -7 -7 -7 -9 -12 -13 -12 -11 -8 -5 -2 -2 -2 -2 -3 -4 -5 -5 -7 -12 -21 -26 -27 -23 -17 -15 -15 -14 -11 -8 -8 -9 -8 -6 -6 -6 -6 -6 -6 -7 -8 -8 -8 -8 -8 -7 -7 -7 -8 -10 -11 -11 -10 -8 -6 -6 -5 -4 -2 -0 0 0 1 3 6 6 5 1 -4 -10 -13 -13 -12 -10 -8 -7 -5 -3 -1 -0 -1 -2 -4 -7 -9 -11 -12 -12 -12 -13 -14 -15 -15 -13 -10 -9 -9 -11 -14 -16 -15 -11 -6 -2 -1 -2 -1 -2 -5 -11 -16 -15 -12 -9 -8 -8 -6 -3 1 4 3 3 3 1 -5 -9 -9 -8 -7 -7 -9 -11 -12 -15 -18 -21 -18 -14 -11 -9 -7 -5 -4 -3 -4 -5 -5 -5 -5 -6 -7 -9 -11 -11 -11 -12 -13 -15 -16 -15 -11 -6 -3 -2 -2 -2 -3 -2 -1 0 1 3 4 5 6 4 3 1 -1 -3 -4 -4 -5 -7 -9 -8 -8 -9 -10 -12 -12 -10 -8 -5 -4 -4 -5 -7 -10 -12 -14 -15 -17 -20 -20 -19 -20 -20 -20 -20 -18 -18 -20 -21 -20 -17 -12 -10 -10 -12 -13 -15 -17 -19 -19 -19 -17 -17 -18 -20 -20 -16 -13 -11 -8 -6 -4 -3 -3 -5 -8 -11 -13 -14 -15 -11 -10 -12 -15 -15 -13 -13 -15 -19 -24 -24 -24 -27 -29 -30 -29 -28 -28 -27 -27 -27 -28 -29 -30 -30 -25 -20 -18 -21 -27 -31 -32 -32 -31 -31 -30 -30 -30 -30 -28 -25 -26 -27 -30 -34 -37 -38 -38 -36 -34 -30 -27 -26 -26 -26 -25 -22 -20 -18 -17 -16 -16 -17 -16 -13 -9 -10 -12 -12 -13 -14 -13 -12 -13 -17 -18 -18 -18 -18 -20 -21 -21 -19 -16 -15 -7 -0 4 7 11 17 21 16 -9 -9 -10 -9 -9 -10 -11 -11 -12 -13 -14 -15 -15 -15 -16 -16 -16 -15 -15 -14 -11 -8 -6 -6 -7 -10 -13 -17 -19 -19 -18 -15 -12 -11 -9 -8 -8 -9 -10 -10 -10 -10 -11 -12 -10 -8 -6 -5 -3 -1 -0 -0 -1 -1 -1 -0 1 0 -1 -3 -4 -5 -6 -7 -9 -11 -12 -13 -12 -11 -9 -7 -6 -5 -5 -6 -7 -8 -9 -11 -12 -12 -11 -8 -5 -2 -2 -2 -4 -4 -5 -5 -5 -9 -16 -24 -28 -26 -19 -13 -12 -12 -12 -10 -8 -9 -8 -6 -4 -5 -5 -5 -4 -5 -6 -6 -7 -7 -8 -8 -8 -8 -8 -9 -10 -10 -8 -7 -7 -8 -8 -7 -5 -3 -3 -4 -4 -1 3 6 6 4 1 -4 -9 -12 -12 -11 -10 -11 -11 -11 -9 -7 -5 -4 -3 -3 -5 -7 -7 -8 -9 -11 -13 -14 -15 -14 -10 -7 -6 -8 -10 -14 -15 -14 -10 -5 -0 -1 -1 -0 2 -0 -8 -11 -11 -9 -8 -10 -12 -11 -6 1 5 8 10 8 1 -6 -9 -10 -9 -8 -9 -10 -11 -11 -13 -18 -18 -16 -12 -10 -8 -6 -5 -4 -4 -5 -5 -5 -5 -5 -5 -7 -9 -10 -11 -11 -13 -15 -18 -21 -18 -12 -6 -4 -6 -6 -6 -6 -6 -6 -4 -4 -2 0 3 4 3 2 -1 -2 -4 -6 -6 -6 -8 -8 -8 -8 -9 -10 -11 -11 -11 -11 -9 -9 -10 -11 -13 -15 -16 -17 -18 -20 -20 -20 -20 -20 -20 -20 -19 -19 -18 -17 -14 -13 -10 -9 -9 -11 -11 -13 -16 -19 -19 -19 -19 -19 -19 -19 -17 -14 -14 -15 -13 -10 -8 -6 -4 -3 -5 -7 -11 -16 -21 -17 -14 -14 -18 -20 -18 -17 -19 -23 -26 -27 -27 -28 -30 -29 -27 -26 -26 -26 -27 -26 -27 -28 -29 -29 -24 -20 -20 -23 -30 -33 -33 -32 -31 -31 -30 -30 -30 -31 -29 -26 -26 -26 -27 -30 -35 -38 -39 -39 -37 -33 -30 -28 -27 -26 -25 -23 -22 -21 -22 -22 -21 -20 -18 -17 -14 -13 -14 -15 -14 -15 -15 -13 -13 -16 -20 -20 -20 -19 -21 -21 -22 -21 -20 -17 -11 -3 4 7 9 12 16 16 -9 -10 -11 -10 -10 -10 -11 -11 -12 -13 -15 -17 -18 -18 -18 -17 -16 -15 -13 -12 -9 -6 -4 -5 -6 -10 -14 -18 -18 -18 -16 -13 -10 -9 -9 -9 -9 -11 -12 -13 -13 -11 -9 -8 -8 -9 -9 -8 -6 -4 -3 -2 -2 -1 -0 0 0 -0 -2 -3 -4 -5 -6 -7 -8 -10 -12 -13 -13 -12 -11 -9 -7 -6 -6 -6 -6 -7 -7 -9 -11 -12 -12 -11 -8 -5 -3 -2 -3 -4 -4 -5 -5 -7 -12 -18 -24 -27 -21 -13 -9 -10 -12 -12 -10 -9 -8 -7 -5 -4 -3 -3 -3 -3 -3 -3 -4 -5 -6 -7 -8 -8 -9 -9 -10 -10 -9 -7 -7 -9 -10 -9 -8 -6 -6 -6 -7 -6 -3 1 2 3 2 0 -4 -8 -9 -9 -8 -10 -13 -14 -13 -12 -11 -10 -9 -7 -7 -6 -5 -4 -4 -7 -10 -12 -13 -13 -11 -7 -5 -4 -6 -11 -14 -15 -14 -9 -3 -2 -3 -3 -0 4 1 -2 -4 -6 -7 -8 -10 -12 -12 -8 -1 7 13 14 9 -0 -8 -13 -13 -10 -8 -9 -10 -10 -10 -13 -15 -16 -14 -13 -10 -7 -5 -4 -4 -5 -5 -5 -5 -4 -4 -4 -6 -8 -9 -10 -12 -14 -19 -24 -26 -20 -11 -3 -3 -5 -6 -8 -9 -9 -8 -9 -9 -8 -5 -3 -2 -2 -3 -3 -6 -9 -10 -8 -9 -10 -10 -10 -10 -11 -11 -13 -15 -16 -16 -15 -15 -15 -14 -14 -15 -17 -19 -20 -21 -20 -20 -20 -20 -20 -20 -19 -17 -14 -11 -11 -10 -11 -12 -13 -13 -15 -18 -19 -19 -19 -19 -20 -20 -20 -19 -18 -18 -21 -20 -15 -12 -9 -7 -5 -4 -5 -8 -14 -22 -22 -20 -20 -23 -27 -26 -24 -23 -26 -29 -30 -30 -29 -29 -29 -27 -25 -25 -26 -26 -25 -25 -25 -27 -28 -27 -26 -26 -27 -31 -32 -32 -32 -31 -31 -31 -31 -31 -32 -31 -29 -28 -27 -27 -28 -33 -38 -41 -42 -41 -37 -33 -30 -29 -26 -25 -25 -24 -24 -24 -25 -25 -25 -22 -21 -18 -16 -16 -19 -17 -17 -17 -16 -14 -16 -19 -21 -22 -21 -21 -20 -20 -21 -20 -18 -13 -6 2 7 8 9 11 13 -10 -10 -11 -11 -11 -10 -10 -10 -11 -12 -15 -19 -22 -23 -21 -19 -17 -15 -11 -9 -8 -7 -7 -7 -7 -9 -12 -15 -15 -13 -11 -10 -8 -8 -8 -8 -10 -11 -14 -15 -14 -13 -10 -8 -7 -8 -9 -9 -8 -6 -4 -3 -2 -1 -1 -0 -0 -1 -3 -4 -5 -6 -7 -7 -7 -8 -10 -11 -12 -12 -12 -11 -9 -8 -7 -6 -6 -6 -6 -7 -9 -11 -12 -12 -11 -8 -5 -3 -3 -3 -3 -4 -5 -6 -9 -14 -20 -25 -23 -15 -9 -8 -10 -12 -12 -10 -9 -8 -7 -5 -3 -2 -2 -2 -1 -1 -2 -3 -5 -7 -8 -8 -8 -9 -10 -11 -10 -9 -8 -8 -8 -9 -10 -10 -9 -8 -7 -7 -6 -4 -3 -2 -2 -1 -2 -4 -6 -7 -7 -8 -11 -12 -12 -10 -10 -11 -12 -12 -13 -12 -9 -6 -3 -4 -6 -9 -11 -13 -13 -9 -5 -3 -4 -7 -10 -13 -14 -13 -7 -3 -5 -7 -7 -3 -0 1 1 -1 -3 -4 -6 -8 -10 -11 -7 -0 6 9 8 2 -7 -14 -18 -15 -10 -7 -8 -9 -8 -8 -11 -13 -15 -16 -13 -8 -5 -4 -4 -5 -6 -6 -6 -5 -3 -2 -3 -4 -6 -8 -10 -13 -16 -20 -20 -23 -21 -9 -3 -3 -3 -5 -7 -9 -10 -11 -13 -13 -12 -10 -8 -7 -6 -7 -10 -13 -14 -13 -13 -14 -15 -15 -15 -16 -16 -16 -17 -18 -17 -17 -16 -16 -15 -14 -14 -15 -18 -20 -21 -21 -21 -21 -22 -21 -21 -21 -19 -17 -11 -11 -12 -15 -18 -18 -17 -19 -22 -21 -19 -19 -20 -20 -20 -20 -21 -21 -22 -23 -23 -21 -17 -14 -12 -9 -7 -6 -6 -11 -19 -23 -25 -25 -27 -30 -30 -29 -27 -28 -28 -29 -28 -27 -27 -27 -28 -28 -27 -26 -24 -23 -22 -22 -24 -26 -28 -28 -28 -28 -30 -31 -32 -32 -32 -31 -31 -31 -31 -31 -31 -31 -31 -30 -29 -29 -32 -36 -40 -43 -42 -39 -35 -32 -30 -28 -27 -27 -27 -28 -27 -27 -27 -28 -28 -27 -25 -22 -19 -20 -19 -19 -19 -18 -15 -16 -18 -20 -23 -23 -21 -19 -18 -19 -19 -19 -15 -8 -0 6 8 8 8 9 -10 -10 -11 -11 -11 -10 -9 -9 -10 -12 -15 -19 -23 -24 -21 -17 -13 -11 -9 -8 -8 -10 -13 -15 -13 -11 -11 -13 -13 -10 -8 -7 -7 -7 -8 -8 -9 -10 -12 -14 -14 -12 -11 -10 -8 -7 -8 -9 -8 -7 -5 -3 -2 -1 -1 -2 -2 -3 -4 -5 -6 -7 -7 -7 -7 -7 -8 -9 -10 -11 -11 -11 -11 -9 -8 -7 -6 -6 -6 -7 -8 -9 -11 -11 -11 -10 -8 -5 -3 -2 -2 -3 -3 -5 -7 -11 -16 -21 -22 -17 -12 -8 -8 -10 -12 -11 -9 -8 -8 -6 -3 -2 -1 -2 -2 -1 -1 -1 -3 -5 -6 -6 -7 -8 -10 -11 -12 -11 -11 -9 -8 -8 -10 -13 -13 -11 -9 -8 -7 -6 -5 -5 -5 -4 -3 -3 -3 -4 -5 -7 -8 -9 -9 -9 -9 -10 -11 -12 -14 -15 -14 -12 -9 -6 -5 -5 -7 -11 -14 -12 -9 -5 -3 -3 -4 -7 -11 -13 -11 -7 -6 -8 -11 -12 -9 -5 -1 1 -0 -1 -2 -2 -5 -8 -8 -5 1 6 10 6 -1 -10 -17 -20 -15 -10 -7 -5 -4 -4 -7 -11 -15 -18 -16 -11 -6 -4 -4 -4 -5 -7 -8 -8 -5 -2 -0 -0 -2 -4 -7 -10 -14 -20 -23 -28 -29 -22 -10 -4 -2 -3 -4 -6 -9 -11 -12 -13 -12 -11 -10 -9 -7 -9 -12 -15 -16 -16 -16 -16 -17 -17 -17 -17 -17 -17 -18 -18 -18 -18 -17 -16 -16 -15 -14 -14 -16 -20 -22 -23 -22 -22 -22 -21 -21 -21 -21 -19 -14 -14 -16 -19 -19 -19 -20 -23 -25 -24 -21 -20 -20 -21 -20 -20 -21 -23 -24 -24 -24 -24 -22 -21 -19 -15 -12 -10 -8 -11 -16 -23 -26 -27 -28 -29 -31 -31 -30 -29 -28 -26 -25 -24 -24 -25 -27 -28 -29 -28 -24 -21 -19 -20 -21 -24 -27 -29 -29 -28 -28 -30 -32 -34 -33 -31 -30 -29 -29 -29 -31 -33 -34 -34 -33 -31 -31 -33 -37 -42 -42 -40 -37 -34 -31 -28 -28 -29 -31 -32 -31 -30 -29 -29 -29 -30 -30 -29 -26 -22 -20 -19 -19 -19 -17 -17 -18 -19 -22 -23 -23 -20 -17 -19 -19 -18 -16 -11 -3 4 7 7 6 5 -9 -10 -10 -11 -10 -9 -9 -9 -11 -12 -14 -17 -20 -21 -18 -15 -12 -11 -12 -12 -12 -12 -13 -14 -14 -13 -11 -10 -10 -8 -7 -6 -7 -7 -7 -7 -7 -7 -8 -10 -11 -12 -13 -12 -9 -7 -6 -8 -8 -7 -6 -4 -3 -2 -2 -3 -3 -4 -5 -6 -7 -8 -8 -7 -7 -7 -7 -8 -9 -10 -11 -11 -11 -10 -9 -7 -6 -6 -6 -7 -7 -8 -9 -10 -11 -11 -10 -8 -4 -2 -1 -1 -1 -2 -5 -8 -12 -16 -20 -18 -15 -11 -8 -8 -10 -11 -10 -8 -8 -7 -5 -3 -2 -2 -3 -3 -2 -1 -1 -2 -4 -4 -5 -5 -8 -11 -13 -14 -15 -12 -9 -7 -8 -12 -14 -13 -12 -10 -9 -8 -7 -6 -6 -5 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -7 -7 -8 -10 -12 -14 -15 -14 -13 -10 -8 -7 -6 -9 -13 -13 -11 -8 -5 -3 -2 -3 -6 -10 -11 -10 -8 -9 -12 -17 -18 -14 -8 -3 -1 -2 -1 -0 0 -2 -4 -4 -2 2 7 7 3 -5 -13 -19 -19 -16 -11 -5 -1 1 -2 -7 -12 -18 -18 -14 -8 -4 -4 -3 -4 -6 -9 -11 -9 -5 -0 2 1 -0 -3 -7 -12 -19 -28 -36 -39 -32 -18 -9 -5 -4 -4 -5 -7 -10 -13 -14 -13 -12 -11 -11 -9 -8 -10 -12 -15 -16 -15 -15 -16 -17 -18 -18 -18 -17 -18 -19 -19 -18 -17 -16 -16 -16 -15 -14 -15 -18 -20 -22 -21 -19 -19 -18 -18 -20 -22 -21 -18 -18 -19 -20 -20 -20 -21 -23 -26 -26 -21 -20 -20 -21 -21 -22 -22 -23 -24 -25 -25 -25 -25 -24 -22 -21 -20 -17 -15 -18 -21 -24 -26 -26 -27 -29 -30 -30 -29 -28 -26 -25 -24 -23 -25 -25 -26 -28 -31 -32 -27 -22 -19 -20 -21 -24 -27 -29 -29 -29 -27 -29 -32 -34 -34 -32 -31 -30 -30 -29 -31 -33 -35 -37 -36 -34 -31 -31 -33 -38 -40 -40 -39 -36 -32 -30 -30 -32 -34 -35 -35 -34 -33 -31 -28 -28 -29 -30 -30 -26 -23 -21 -19 -19 -17 -17 -18 -19 -21 -23 -23 -22 -21 -21 -20 -19 -17 -13 -5 2 7 8 6 2 -10 -10 -8 -8 -8 -8 -8 -9 -11 -11 -13 -15 -17 -18 -16 -14 -12 -12 -13 -13 -12 -12 -11 -12 -12 -11 -10 -8 -7 -7 -7 -7 -8 -8 -7 -6 -6 -6 -5 -6 -7 -9 -11 -11 -8 -6 -5 -6 -7 -7 -6 -4 -3 -3 -2 -3 -4 -5 -5 -6 -7 -7 -7 -6 -6 -7 -7 -8 -9 -10 -10 -10 -10 -10 -9 -8 -6 -6 -6 -6 -7 -8 -8 -9 -10 -10 -10 -10 -7 -4 -2 -0 0 0 -2 -6 -9 -14 -17 -18 -16 -13 -9 -6 -8 -9 -9 -7 -6 -7 -8 -7 -5 -4 -5 -5 -4 -2 -1 -1 -2 -3 -3 -3 -6 -9 -13 -16 -18 -15 -11 -7 -7 -9 -12 -14 -14 -13 -12 -9 -8 -7 -7 -5 -4 -4 -5 -6 -6 -6 -6 -4 -4 -4 -5 -5 -5 -7 -10 -13 -15 -15 -14 -12 -11 -10 -9 -8 -9 -11 -11 -10 -8 -5 -2 -1 -2 -5 -9 -11 -12 -11 -13 -17 -20 -19 -15 -8 -4 -4 -4 -2 1 2 1 -0 -1 -2 1 4 4 0 -7 -15 -20 -21 -18 -12 -4 3 4 -0 -7 -14 -17 -15 -11 -6 -4 -3 -3 -5 -8 -11 -11 -8 -3 1 2 2 1 -2 -7 -15 -26 -36 -40 -33 -21 -13 -9 -7 -5 -5 -7 -10 -12 -12 -11 -10 -11 -12 -12 -10 -8 -7 -10 -13 -12 -11 -12 -15 -18 -19 -19 -18 -18 -18 -20 -19 -18 -17 -16 -17 -17 -16 -15 -14 -15 -18 -18 -15 -13 -13 -14 -18 -22 -23 -22 -21 -21 -21 -21 -21 -21 -23 -25 -24 -22 -21 -21 -21 -22 -23 -23 -24 -25 -27 -27 -26 -26 -25 -24 -23 -23 -22 -20 -20 -21 -23 -24 -25 -28 -29 -28 -27 -26 -26 -25 -24 -24 -24 -26 -27 -27 -29 -32 -31 -26 -22 -19 -20 -22 -25 -28 -29 -27 -29 -28 -29 -31 -33 -34 -33 -32 -31 -32 -30 -32 -34 -36 -38 -37 -35 -33 -30 -30 -34 -36 -37 -37 -38 -35 -34 -34 -34 -35 -36 -37 -37 -36 -33 -29 -28 -29 -33 -33 -31 -28 -25 -22 -20 -18 -18 -18 -18 -21 -23 -24 -24 -23 -24 -23 -22 -19 -13 -6 1 6 8 7 2 -8 -7 -6 -6 -6 -7 -8 -9 -10 -11 -12 -14 -15 -16 -16 -15 -14 -13 -13 -13 -12 -11 -11 -11 -10 -9 -8 -7 -6 -6 -7 -8 -9 -9 -8 -7 -6 -6 -5 -4 -4 -5 -7 -8 -6 -5 -5 -5 -6 -6 -6 -5 -4 -4 -3 -4 -5 -6 -7 -6 -6 -7 -7 -5 -4 -5 -6 -7 -9 -10 -10 -10 -9 -8 -8 -7 -6 -6 -6 -6 -7 -7 -8 -8 -8 -9 -10 -11 -11 -8 -5 -2 1 3 2 -1 -6 -11 -15 -17 -17 -15 -12 -7 -6 -7 -7 -5 -4 -5 -7 -9 -8 -6 -7 -6 -5 -4 -2 -1 -1 -2 -4 -4 -5 -8 -12 -16 -19 -18 -14 -10 -7 -7 -9 -12 -14 -15 -14 -10 -8 -7 -7 -5 -3 -3 -5 -7 -8 -8 -8 -6 -3 -3 -3 -2 -3 -4 -7 -11 -14 -16 -15 -13 -12 -12 -11 -10 -8 -9 -9 -10 -10 -9 -6 -2 1 0 -4 -9 -14 -16 -17 -17 -18 -18 -17 -12 -6 -6 -8 -8 -4 1 3 4 3 -1 -3 -1 2 3 -0 -8 -15 -20 -22 -21 -14 -3 4 5 0 -7 -12 -14 -13 -10 -8 -6 -4 -3 -4 -8 -11 -11 -8 -4 -1 1 2 2 -1 -7 -16 -25 -30 -27 -19 -15 -12 -10 -8 -7 -7 -8 -10 -11 -8 -7 -9 -12 -13 -12 -8 -6 -7 -10 -11 -9 -8 -10 -16 -20 -21 -20 -17 -16 -20 -20 -19 -19 -18 -17 -17 -17 -16 -15 -13 -14 -15 -15 -13 -14 -16 -19 -23 -23 -23 -22 -22 -21 -21 -21 -22 -23 -24 -23 -22 -22 -22 -22 -21 -22 -24 -25 -27 -27 -26 -26 -26 -25 -24 -24 -24 -23 -23 -21 -22 -22 -22 -24 -25 -26 -25 -24 -24 -25 -26 -26 -25 -26 -28 -29 -30 -30 -30 -28 -23 -20 -19 -20 -23 -26 -26 -24 -22 -29 -31 -30 -29 -30 -33 -34 -34 -33 -33 -32 -33 -34 -35 -37 -37 -36 -33 -31 -29 -30 -29 -29 -32 -38 -38 -37 -36 -37 -37 -36 -37 -38 -37 -35 -32 -31 -32 -36 -36 -35 -33 -30 -27 -24 -21 -19 -19 -19 -21 -23 -24 -25 -25 -25 -25 -24 -20 -13 -8 -1 4 8 9 5 -7 -7 -6 -6 -6 -7 -7 -8 -10 -11 -12 -13 -14 -15 -15 -15 -15 -14 -13 -12 -12 -11 -11 -10 -9 -8 -6 -6 -6 -6 -7 -8 -9 -10 -10 -9 -8 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -5 -5 -5 -4 -5 -5 -6 -7 -7 -7 -7 -7 -7 -6 -3 -3 -4 -5 -7 -8 -9 -10 -9 -8 -8 -7 -7 -7 -7 -8 -8 -7 -6 -7 -7 -8 -8 -9 -10 -11 -11 -10 -9 -5 0 3 2 -1 -6 -12 -15 -16 -16 -13 -8 -6 -6 -6 -5 -4 -4 -4 -6 -7 -9 -8 -7 -6 -5 -3 -2 -1 -3 -5 -7 -8 -8 -10 -14 -18 -18 -16 -13 -10 -8 -7 -9 -12 -14 -13 -10 -8 -6 -6 -4 -2 -2 -3 -5 -7 -10 -10 -9 -6 -4 -3 -1 -1 -0 -3 -7 -12 -15 -15 -12 -12 -12 -13 -12 -10 -8 -7 -8 -9 -10 -9 -5 -1 2 1 -4 -11 -17 -22 -21 -19 -17 -16 -15 -8 -5 -8 -11 -11 -6 -1 4 6 4 -2 -4 -2 1 3 -1 -8 -14 -20 -25 -23 -14 -4 4 5 0 -5 -10 -13 -13 -12 -9 -6 -2 -1 -4 -7 -9 -9 -9 -8 -5 -2 0 1 -1 -6 -12 -16 -16 -13 -13 -14 -12 -11 -10 -9 -8 -7 -6 -6 -6 -6 -7 -10 -11 -12 -13 -12 -12 -12 -10 -8 -7 -12 -18 -21 -20 -18 -16 -20 -21 -20 -20 -19 -18 -18 -18 -18 -18 -18 -16 -14 -14 -14 -17 -20 -22 -23 -24 -24 -23 -23 -23 -22 -22 -23 -23 -23 -22 -22 -23 -23 -23 -21 -20 -21 -23 -25 -25 -24 -23 -23 -23 -23 -23 -24 -24 -23 -23 -22 -22 -22 -22 -22 -22 -23 -23 -23 -27 -30 -30 -29 -28 -29 -30 -31 -31 -29 -25 -21 -19 -19 -20 -23 -25 -23 -18 -20 -28 -32 -31 -27 -29 -33 -35 -36 -35 -34 -33 -33 -34 -35 -37 -37 -36 -34 -32 -30 -28 -23 -21 -26 -36 -39 -38 -38 -39 -38 -36 -36 -37 -38 -36 -34 -34 -35 -38 -38 -38 -36 -33 -30 -27 -23 -20 -19 -20 -22 -24 -25 -27 -25 -24 -25 -24 -19 -14 -11 -5 2 7 10 7 -7 -7 -7 -6 -6 -7 -7 -8 -9 -11 -12 -12 -13 -13 -14 -14 -14 -13 -12 -12 -12 -12 -11 -10 -9 -8 -6 -5 -6 -7 -7 -8 -8 -10 -11 -12 -10 -8 -8 -9 -9 -7 -6 -6 -6 -5 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -6 -7 -6 -6 -6 -6 -4 -3 -2 -3 -4 -5 -7 -8 -9 -9 -8 -7 -7 -7 -8 -9 -10 -9 -7 -6 -5 -5 -6 -7 -7 -8 -10 -10 -11 -11 -10 -7 -3 0 1 -1 -5 -10 -13 -14 -13 -11 -8 -7 -6 -5 -3 -1 -1 -2 -5 -8 -8 -7 -6 -4 -3 -3 -3 -4 -6 -8 -10 -10 -10 -12 -15 -17 -17 -17 -15 -11 -8 -7 -9 -12 -13 -10 -7 -5 -5 -4 -3 -2 -2 -3 -5 -8 -11 -12 -11 -8 -5 -3 -1 1 2 -2 -7 -11 -13 -12 -10 -11 -12 -14 -12 -9 -7 -6 -7 -9 -10 -8 -5 -0 3 0 -6 -15 -22 -23 -21 -20 -18 -17 -11 -6 -5 -9 -14 -13 -9 -1 5 8 2 -3 -4 -1 3 2 -1 -7 -12 -20 -25 -23 -15 -5 3 4 2 -4 -10 -15 -15 -11 -7 -4 -2 -2 -3 -5 -7 -10 -11 -11 -10 -8 -5 -4 -3 -2 -3 -5 -7 -10 -13 -14 -13 -12 -11 -9 -7 -5 -7 -8 -7 -6 -7 -8 -10 -12 -15 -15 -14 -13 -11 -10 -14 -18 -19 -20 -20 -19 -21 -21 -21 -21 -20 -20 -19 -19 -19 -20 -19 -16 -14 -14 -15 -16 -18 -22 -24 -24 -25 -24 -24 -24 -24 -23 -23 -23 -21 -22 -22 -23 -24 -24 -22 -21 -20 -20 -22 -23 -23 -23 -22 -21 -22 -22 -23 -23 -23 -23 -22 -21 -21 -21 -20 -21 -22 -23 -25 -29 -31 -32 -33 -31 -30 -30 -30 -30 -27 -23 -20 -19 -20 -21 -23 -25 -24 -20 -21 -28 -31 -30 -26 -29 -32 -35 -36 -35 -33 -32 -33 -34 -35 -36 -37 -37 -36 -35 -32 -29 -23 -19 -23 -33 -38 -39 -40 -40 -39 -37 -36 -37 -38 -37 -36 -36 -37 -39 -39 -39 -38 -36 -33 -29 -24 -21 -20 -22 -23 -24 -26 -28 -24 -22 -24 -23 -18 -16 -14 -10 -3 4 9 8 -7 -7 -7 -6 -6 -7 -7 -8 -9 -10 -11 -11 -11 -11 -12 -12 -11 -11 -11 -11 -12 -12 -11 -11 -11 -10 -8 -7 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -13 -12 -10 -7 -7 -8 -7 -6 -4 -3 -2 -2 -2 -2 -3 -5 -5 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -4 -6 -8 -8 -8 -8 -7 -7 -7 -9 -10 -11 -10 -9 -7 -5 -4 -5 -5 -6 -7 -8 -9 -10 -11 -12 -12 -9 -6 -3 -2 -3 -6 -8 -10 -11 -10 -9 -9 -8 -6 -3 -0 1 1 -1 -4 -6 -6 -6 -4 -3 -4 -4 -5 -7 -8 -9 -9 -10 -12 -15 -17 -19 -20 -20 -15 -11 -8 -8 -9 -12 -11 -7 -4 -4 -4 -3 -3 -3 -2 -3 -5 -9 -12 -13 -12 -9 -6 -3 -0 3 2 -1 -6 -10 -10 -9 -9 -11 -13 -13 -11 -8 -7 -6 -7 -8 -9 -8 -5 0 2 -2 -10 -18 -22 -22 -22 -22 -22 -17 -10 -5 -5 -10 -14 -13 -7 0 6 4 1 -1 0 4 5 4 1 -4 -12 -18 -21 -21 -17 -6 2 4 1 -5 -12 -14 -12 -8 -6 -5 -4 -3 -3 -5 -7 -9 -11 -13 -13 -11 -9 -6 -2 1 1 -2 -5 -10 -15 -15 -13 -13 -11 -8 -7 -8 -9 -10 -9 -8 -7 -8 -11 -15 -16 -15 -14 -14 -14 -15 -16 -16 -17 -22 -22 -22 -22 -23 -23 -22 -21 -20 -20 -20 -20 -18 -16 -15 -16 -19 -20 -21 -22 -23 -25 -25 -25 -25 -25 -25 -24 -24 -24 -22 -23 -23 -24 -24 -24 -23 -21 -20 -20 -20 -22 -23 -23 -22 -21 -21 -21 -22 -23 -23 -22 -22 -21 -20 -20 -20 -20 -22 -24 -26 -27 -26 -27 -32 -33 -32 -31 -29 -27 -24 -21 -20 -19 -20 -21 -23 -26 -26 -24 -25 -28 -30 -30 -28 -29 -33 -35 -36 -33 -32 -31 -32 -33 -33 -35 -36 -36 -35 -36 -34 -31 -25 -21 -24 -31 -37 -40 -41 -41 -39 -38 -38 -38 -38 -38 -38 -39 -39 -40 -41 -41 -40 -38 -35 -31 -26 -22 -22 -24 -24 -26 -27 -27 -22 -20 -21 -22 -18 -18 -17 -14 -9 -2 5 7 -8 -8 -7 -7 -7 -7 -8 -8 -10 -11 -12 -11 -10 -9 -8 -8 -9 -11 -11 -11 -10 -10 -9 -8 -9 -10 -10 -10 -10 -11 -10 -8 -7 -7 -8 -10 -11 -12 -10 -8 -6 -6 -6 -7 -7 -6 -5 -3 -1 -2 -2 -2 -2 -4 -5 -5 -5 -5 -5 -5 -5 -4 -3 -4 -4 -3 -3 -4 -6 -6 -7 -7 -7 -7 -8 -9 -9 -10 -11 -10 -9 -8 -6 -5 -5 -4 -5 -5 -6 -6 -7 -9 -11 -12 -13 -12 -10 -7 -5 -5 -6 -7 -8 -7 -7 -7 -8 -8 -6 -3 -1 -0 1 0 -2 -4 -5 -3 -2 -3 -4 -6 -8 -9 -8 -9 -10 -12 -15 -17 -20 -21 -20 -15 -12 -10 -9 -8 -11 -12 -9 -4 -1 -1 -2 -3 -4 -4 -3 -3 -5 -8 -12 -13 -12 -10 -8 -7 -3 2 3 1 -4 -7 -7 -7 -8 -11 -13 -12 -10 -8 -6 -5 -6 -7 -8 -7 -4 -1 -0 -4 -12 -18 -20 -23 -25 -26 -23 -16 -8 -3 -5 -10 -12 -10 -5 0 2 2 2 1 3 7 7 5 0 -5 -9 -15 -19 -21 -16 -7 -1 2 -0 -6 -10 -10 -8 -7 -7 -7 -6 -5 -4 -5 -7 -9 -11 -13 -12 -11 -9 -8 -7 -4 -2 -3 -6 -12 -16 -16 -14 -11 -8 -6 -7 -8 -10 -12 -11 -10 -9 -10 -14 -16 -14 -13 -13 -15 -16 -15 -16 -17 -22 -24 -25 -25 -25 -26 -24 -22 -21 -21 -22 -21 -20 -19 -19 -20 -23 -23 -23 -22 -23 -24 -25 -26 -26 -25 -25 -25 -26 -25 -25 -25 -25 -25 -25 -24 -23 -22 -22 -21 -21 -21 -22 -22 -23 -22 -21 -21 -21 -22 -22 -21 -21 -21 -20 -20 -20 -21 -23 -25 -26 -26 -26 -27 -32 -33 -33 -32 -29 -25 -21 -20 -19 -19 -20 -22 -24 -26 -27 -26 -27 -27 -28 -28 -28 -30 -34 -37 -35 -32 -32 -31 -30 -31 -31 -32 -33 -34 -34 -36 -36 -33 -30 -27 -28 -32 -36 -39 -41 -41 -40 -40 -40 -39 -38 -39 -39 -40 -41 -41 -42 -42 -41 -40 -37 -33 -28 -25 -24 -25 -26 -27 -26 -23 -21 -19 -19 -19 -18 -18 -18 -17 -14 -8 -0 4 -8 -8 -8 -8 -8 -8 -8 -9 -11 -12 -12 -11 -9 -8 -7 -8 -10 -11 -12 -11 -10 -9 -9 -9 -10 -10 -10 -10 -11 -12 -11 -10 -8 -6 -4 -4 -4 -5 -5 -4 -2 -2 -4 -5 -5 -5 -3 -3 -1 -1 -1 -2 -2 -4 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -6 -6 -7 -9 -10 -11 -11 -11 -10 -9 -8 -6 -5 -5 -4 -4 -3 -4 -5 -5 -6 -8 -10 -13 -15 -15 -13 -10 -8 -7 -6 -6 -5 -4 -5 -6 -7 -8 -7 -6 -4 -2 1 1 -1 -3 -3 -1 -1 -3 -6 -8 -10 -10 -10 -10 -12 -15 -16 -18 -18 -16 -12 -11 -10 -9 -9 -11 -13 -11 -6 -1 1 1 -0 -3 -4 -4 -3 -3 -4 -7 -10 -11 -11 -10 -11 -10 -5 1 5 3 -2 -5 -6 -6 -8 -10 -12 -11 -9 -8 -6 -4 -4 -5 -6 -7 -5 -2 -2 -6 -13 -18 -22 -25 -28 -28 -23 -15 -5 -2 -5 -7 -8 -7 -5 -2 1 2 1 2 5 7 7 3 -1 -5 -8 -11 -15 -17 -15 -10 -4 0 -1 -4 -6 -6 -7 -8 -9 -8 -7 -6 -5 -6 -7 -9 -10 -10 -9 -9 -10 -11 -11 -9 -7 -6 -9 -15 -17 -16 -13 -9 -7 -7 -7 -9 -11 -12 -12 -11 -10 -12 -14 -13 -11 -12 -15 -16 -16 -18 -20 -23 -24 -25 -25 -25 -27 -27 -25 -23 -22 -23 -23 -23 -24 -24 -23 -24 -25 -24 -23 -23 -24 -24 -25 -26 -26 -24 -25 -27 -28 -28 -28 -27 -27 -26 -24 -23 -23 -23 -23 -21 -20 -20 -22 -22 -22 -22 -22 -23 -22 -21 -22 -22 -22 -21 -19 -19 -22 -25 -25 -25 -27 -30 -31 -33 -32 -33 -32 -29 -24 -21 -19 -19 -19 -20 -21 -23 -25 -27 -25 -25 -25 -25 -24 -25 -28 -33 -36 -35 -34 -33 -31 -28 -29 -30 -30 -31 -31 -33 -35 -36 -35 -33 -29 -29 -31 -34 -36 -39 -39 -41 -42 -42 -41 -40 -40 -41 -42 -42 -42 -43 -43 -42 -42 -41 -37 -32 -28 -26 -26 -27 -27 -27 -23 -21 -19 -18 -18 -18 -18 -18 -18 -17 -14 -7 -1 -8 -9 -9 -9 -8 -9 -10 -11 -12 -11 -10 -9 -8 -8 -9 -10 -11 -11 -11 -10 -9 -9 -9 -11 -12 -12 -10 -8 -8 -8 -7 -5 -4 -2 -1 -1 -0 -1 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -2 -3 -5 -5 -5 -5 -6 -5 -4 -3 -3 -3 -3 -4 -4 -4 -3 -3 -4 -4 -5 -7 -9 -11 -12 -12 -12 -11 -9 -8 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -5 -7 -10 -15 -18 -18 -15 -12 -9 -8 -7 -6 -4 -4 -4 -4 -5 -7 -7 -7 -6 -3 -1 0 -1 -2 -0 1 -1 -4 -8 -11 -12 -12 -13 -13 -16 -17 -17 -15 -13 -9 -7 -7 -8 -9 -11 -13 -13 -10 -5 -0 2 3 1 -2 -3 -3 -3 -3 -4 -7 -9 -10 -10 -12 -13 -12 -8 -1 4 2 -0 -2 -4 -5 -8 -9 -10 -10 -9 -8 -6 -4 -2 -3 -6 -7 -5 -3 -4 -9 -14 -19 -23 -28 -31 -29 -21 -11 -4 -2 -1 -2 -4 -6 -5 -2 0 0 0 2 5 6 5 3 0 -2 -5 -9 -13 -17 -17 -13 -6 -1 -1 -2 -3 -5 -8 -9 -10 -9 -8 -7 -7 -7 -7 -7 -6 -6 -7 -10 -12 -13 -13 -10 -8 -8 -12 -14 -14 -12 -10 -9 -8 -7 -7 -6 -6 -9 -11 -12 -12 -11 -10 -11 -13 -14 -16 -17 -19 -20 -20 -21 -22 -23 -23 -26 -27 -26 -24 -23 -23 -23 -24 -26 -27 -26 -26 -26 -26 -25 -24 -23 -23 -25 -27 -26 -25 -26 -28 -30 -30 -29 -28 -28 -27 -24 -23 -22 -22 -23 -22 -20 -20 -20 -22 -22 -23 -23 -23 -21 -21 -21 -22 -22 -20 -19 -19 -21 -23 -24 -22 -28 -33 -35 -33 -33 -33 -32 -28 -23 -21 -20 -20 -19 -19 -20 -21 -23 -24 -23 -23 -24 -23 -21 -22 -25 -28 -32 -34 -34 -33 -31 -28 -28 -30 -30 -30 -30 -32 -34 -34 -34 -33 -31 -28 -28 -30 -33 -36 -38 -40 -42 -43 -44 -44 -43 -43 -43 -42 -43 -44 -45 -43 -42 -42 -41 -37 -33 -30 -28 -28 -28 -28 -27 -24 -21 -19 -19 -18 -17 -18 -18 -19 -17 -13 -8 -8 -8 -9 -10 -9 -10 -10 -11 -11 -10 -9 -9 -9 -9 -10 -11 -11 -10 -10 -9 -8 -9 -11 -14 -16 -15 -12 -8 -6 -6 -5 -4 -3 -3 -4 -3 -2 -1 -3 -4 -5 -6 -6 -4 -2 -3 -3 -2 -1 -0 -0 -1 -1 -2 -3 -5 -5 -6 -7 -7 -6 -4 -3 -3 -2 -2 -2 -1 -0 -0 -1 -1 -2 -4 -8 -10 -12 -13 -13 -13 -11 -9 -7 -5 -4 -5 -5 -4 -4 -4 -3 -3 -3 -4 -7 -11 -17 -21 -19 -14 -11 -10 -10 -9 -7 -5 -3 -1 -1 -2 -4 -6 -8 -8 -6 -3 -1 -1 0 2 1 -1 -5 -9 -13 -14 -15 -16 -19 -20 -19 -16 -12 -7 -4 -4 -5 -7 -10 -12 -13 -12 -9 -5 -0 3 4 2 -0 -2 -3 -3 -3 -4 -5 -7 -8 -10 -13 -15 -14 -10 -3 1 2 1 -0 -2 -4 -7 -8 -9 -8 -8 -8 -7 -5 -2 -3 -5 -7 -6 -4 -5 -10 -15 -21 -26 -30 -30 -26 -18 -8 -3 1 1 -0 -4 -5 -4 -2 -1 -1 -0 1 3 4 4 3 1 -2 -6 -9 -15 -19 -20 -15 -8 -3 -1 -1 -4 -6 -8 -9 -10 -10 -10 -9 -9 -9 -8 -5 -5 -6 -9 -11 -12 -12 -12 -11 -10 -11 -12 -12 -11 -10 -11 -10 -9 -7 -5 -4 -6 -10 -13 -14 -11 -9 -11 -15 -14 -15 -17 -18 -18 -19 -19 -20 -21 -23 -25 -25 -25 -24 -24 -24 -24 -25 -26 -26 -26 -25 -25 -26 -26 -25 -24 -23 -24 -26 -27 -27 -28 -29 -30 -31 -30 -28 -27 -26 -24 -23 -22 -22 -22 -23 -22 -21 -20 -21 -22 -23 -23 -22 -21 -21 -21 -22 -21 -20 -19 -20 -20 -22 -24 -24 -28 -32 -33 -32 -33 -34 -33 -29 -24 -23 -22 -22 -21 -20 -20 -20 -20 -20 -21 -23 -24 -23 -20 -21 -22 -25 -28 -30 -30 -29 -28 -27 -27 -29 -30 -30 -30 -32 -33 -33 -33 -32 -32 -27 -25 -25 -29 -32 -36 -39 -41 -43 -46 -47 -47 -47 -44 -37 -36 -40 -45 -48 -45 -43 -41 -39 -37 -35 -32 -30 -29 -29 -30 -28 -24 -21 -21 -18 -16 -17 -18 -18 -18 -16 -10 -8 -8 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -10 -10 -9 -9 -8 -8 -8 -9 -11 -14 -18 -17 -14 -11 -10 -10 -8 -7 -8 -8 -9 -8 -6 -4 -4 -5 -6 -8 -9 -7 -3 -2 -2 -2 -1 -0 0 -0 -1 -1 -2 -4 -5 -6 -7 -7 -6 -5 -5 -4 -3 -2 -2 -1 1 1 1 1 -0 -2 -5 -8 -11 -13 -15 -15 -14 -12 -9 -6 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -6 -11 -18 -21 -18 -15 -14 -13 -12 -9 -6 -3 -1 2 2 1 -1 -5 -8 -9 -7 -4 -2 -1 1 2 2 -1 -6 -10 -14 -16 -18 -21 -23 -21 -18 -14 -9 -5 -2 -2 -5 -8 -9 -10 -11 -11 -9 -5 -0 3 4 3 0 -2 -3 -3 -3 -3 -5 -6 -6 -9 -14 -16 -16 -11 -5 -1 1 1 0 -1 -4 -6 -7 -7 -6 -7 -8 -8 -5 -2 -2 -4 -8 -9 -8 -7 -10 -17 -23 -28 -29 -27 -22 -13 -6 -0 3 3 -0 -3 -4 -3 -2 -2 -2 -2 -2 -0 2 3 2 -0 -3 -6 -11 -16 -20 -20 -15 -10 -6 -3 -2 -5 -7 -9 -10 -11 -10 -10 -10 -11 -12 -11 -8 -7 -8 -9 -10 -11 -11 -12 -12 -12 -12 -12 -11 -11 -12 -12 -11 -9 -6 -5 -7 -12 -15 -16 -13 -10 -11 -14 -14 -14 -16 -18 -18 -19 -20 -20 -21 -23 -24 -24 -24 -24 -25 -25 -25 -25 -24 -24 -24 -24 -24 -24 -26 -27 -26 -24 -23 -24 -26 -27 -27 -27 -28 -30 -29 -27 -25 -24 -23 -23 -22 -22 -22 -22 -23 -23 -21 -20 -21 -22 -22 -21 -20 -20 -21 -21 -20 -20 -20 -20 -21 -22 -26 -28 -30 -31 -30 -30 -32 -34 -35 -32 -28 -26 -24 -24 -23 -22 -22 -21 -21 -21 -22 -24 -25 -23 -19 -20 -21 -23 -25 -26 -25 -25 -25 -26 -28 -30 -31 -31 -32 -33 -34 -34 -34 -32 -31 -28 -24 -21 -24 -29 -34 -38 -40 -44 -46 -48 -50 -50 -44 -26 -20 -24 -33 -40 -40 -39 -38 -37 -37 -37 -36 -34 -31 -30 -31 -31 -29 -26 -24 -19 -16 -16 -17 -17 -18 -8 5 -8 -8 -9 -10 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -11 -13 -15 -15 -14 -14 -14 -14 -13 -10 -9 -8 -9 -10 -10 -9 -7 -7 -7 -8 -8 -6 -3 -2 -2 -2 -1 -0 0 0 0 -0 -1 -2 -3 -4 -5 -6 -5 -5 -5 -5 -4 -3 -2 -2 -0 1 1 1 1 0 -2 -4 -8 -11 -14 -16 -16 -14 -12 -9 -6 -4 -3 -3 -4 -4 -4 -4 -3 -3 -2 -3 -7 -13 -18 -20 -19 -18 -16 -14 -11 -9 -6 -3 1 3 4 3 1 -2 -5 -6 -6 -4 -3 -2 1 3 3 -1 -6 -11 -15 -18 -21 -22 -21 -18 -15 -13 -10 -7 -4 -3 -5 -7 -7 -7 -8 -10 -8 -4 -0 2 3 2 0 -2 -3 -3 -4 -4 -4 -4 -6 -10 -15 -18 -16 -11 -7 -3 -0 1 -0 -2 -4 -6 -5 -4 -4 -6 -8 -7 -3 -1 -1 -5 -10 -11 -10 -8 -10 -15 -20 -24 -24 -23 -17 -9 -2 1 2 2 0 -1 -2 -3 -4 -4 -4 -4 -4 -0 1 2 1 -0 -4 -8 -13 -18 -21 -20 -17 -13 -8 -5 -5 -6 -8 -10 -11 -11 -10 -9 -10 -12 -12 -11 -9 -7 -7 -8 -9 -11 -12 -13 -14 -15 -14 -12 -11 -13 -13 -12 -11 -8 -6 -6 -9 -13 -16 -16 -15 -14 -14 -14 -14 -15 -17 -18 -18 -19 -20 -22 -24 -24 -23 -23 -24 -25 -26 -26 -25 -24 -23 -23 -24 -25 -25 -26 -27 -26 -26 -25 -24 -25 -26 -26 -25 -26 -27 -28 -27 -26 -24 -23 -22 -22 -21 -21 -22 -23 -24 -24 -21 -21 -21 -22 -21 -21 -20 -20 -20 -20 -20 -21 -21 -22 -24 -26 -28 -30 -31 -30 -30 -31 -33 -35 -35 -32 -29 -27 -26 -25 -24 -24 -23 -23 -23 -24 -25 -25 -22 -19 -19 -20 -22 -23 -24 -24 -23 -24 -27 -30 -30 -29 -29 -30 -33 -33 -35 -35 -32 -31 -31 -27 -20 -18 -24 -30 -34 -38 -42 -46 -48 -50 -49 -40 -18 -6 -6 -16 -26 -32 -35 -35 -35 -36 -35 -35 -34 -33 -31 -31 -31 -32 -30 -26 -22 -18 -15 -15 -16 -17 -14 -7 -8 -8 -9 -11 -12 -11 -9 -8 -8 -9 -8 -8 -9 -9 -9 -8 -8 -8 -8 -8 -9 -10 -11 -12 -12 -12 -12 -11 -11 -10 -9 -7 -6 -6 -8 -11 -14 -15 -12 -9 -7 -7 -7 -4 -3 -3 -3 -2 -2 -1 -0 0 1 1 0 -1 -2 -3 -4 -5 -5 -4 -4 -4 -3 -2 -2 -1 -1 0 1 1 0 -1 -2 -3 -4 -7 -11 -13 -14 -14 -13 -10 -8 -6 -4 -3 -3 -3 -4 -5 -4 -4 -4 -4 -5 -9 -15 -19 -21 -20 -19 -17 -14 -11 -8 -6 -3 0 2 4 5 4 2 -0 -1 -1 -2 -3 -3 -1 1 2 -1 -5 -10 -15 -16 -15 -14 -12 -10 -11 -12 -12 -10 -8 -8 -7 -5 -4 -4 -7 -8 -6 -2 -1 1 2 1 -0 -3 -4 -5 -6 -6 -4 -4 -6 -10 -15 -16 -14 -10 -7 -3 -1 -0 -2 -4 -5 -4 -2 -1 -2 -5 -7 -6 -3 -1 -3 -9 -13 -13 -11 -8 -7 -11 -15 -19 -21 -17 -10 -4 1 1 1 1 2 1 -1 -3 -4 -4 -4 -4 -3 -1 0 1 0 -1 -4 -8 -13 -18 -21 -21 -19 -14 -9 -8 -8 -9 -10 -11 -10 -9 -9 -9 -11 -12 -12 -10 -8 -7 -7 -8 -10 -13 -14 -16 -17 -17 -15 -13 -14 -13 -13 -12 -11 -9 -7 -7 -9 -14 -18 -18 -15 -13 -13 -14 -14 -15 -16 -17 -18 -19 -21 -24 -24 -23 -23 -24 -26 -26 -27 -26 -25 -23 -22 -24 -25 -26 -27 -27 -28 -27 -27 -25 -23 -23 -24 -24 -25 -25 -26 -27 -27 -25 -24 -23 -22 -21 -21 -22 -22 -23 -24 -23 -21 -21 -21 -22 -21 -20 -19 -20 -21 -21 -22 -23 -24 -27 -27 -27 -28 -30 -32 -32 -32 -32 -34 -34 -34 -32 -30 -28 -27 -26 -25 -26 -25 -23 -22 -22 -22 -20 -19 -19 -20 -21 -22 -24 -24 -24 -24 -27 -29 -28 -27 -26 -26 -29 -30 -32 -33 -33 -31 -32 -31 -24 -15 -17 -23 -30 -36 -42 -46 -48 -49 -49 -44 -24 -6 2 -6 -18 -27 -33 -34 -34 -35 -35 -33 -32 -33 -31 -29 -28 -30 -29 -27 -24 -21 -17 -15 -14 -15 -15 -13 -8 -8 -10 -11 -12 -10 -8 -8 -9 -9 -9 -9 -8 -8 -7 -8 -8 -9 -9 -9 -10 -11 -12 -12 -11 -11 -10 -9 -7 -6 -7 -7 -7 -6 -7 -10 -12 -13 -11 -9 -8 -6 -5 -4 -4 -4 -5 -4 -4 -3 -2 -1 -0 0 0 -1 -1 -2 -3 -4 -4 -3 -3 -3 -2 -2 -1 -1 -1 -0 -0 -0 -1 -1 -2 -2 -3 -5 -7 -9 -11 -11 -11 -10 -9 -7 -6 -4 -3 -3 -4 -4 -4 -4 -5 -5 -5 -6 -11 -15 -19 -21 -21 -20 -17 -13 -9 -7 -5 -2 -1 1 2 4 5 5 6 6 4 0 -4 -6 -5 -3 -1 -2 -5 -11 -13 -13 -11 -8 -6 -6 -8 -9 -10 -11 -11 -10 -9 -7 -5 -6 -6 -5 -2 -2 -1 0 1 -1 -2 -4 -6 -8 -9 -8 -5 -4 -5 -9 -13 -13 -11 -9 -6 -3 -2 -2 -3 -5 -4 -2 0 1 -1 -4 -6 -5 -4 -3 -7 -12 -16 -17 -13 -6 -5 -7 -12 -16 -16 -12 -6 -1 0 -0 -0 1 3 3 0 -2 -2 -3 -4 -5 -4 -2 -1 -1 0 1 -1 -6 -12 -17 -20 -20 -18 -14 -11 -11 -11 -12 -11 -11 -10 -10 -10 -10 -10 -11 -11 -9 -8 -6 -6 -8 -11 -14 -17 -19 -20 -18 -16 -15 -14 -13 -12 -12 -12 -10 -8 -8 -11 -15 -17 -15 -12 -13 -13 -14 -15 -15 -15 -16 -17 -19 -21 -21 -21 -21 -23 -26 -27 -27 -27 -27 -25 -23 -24 -25 -24 -24 -26 -26 -24 -22 -21 -20 -21 -23 -24 -24 -24 -25 -25 -26 -26 -25 -24 -22 -22 -21 -22 -22 -23 -24 -23 -22 -21 -21 -21 -22 -21 -20 -20 -21 -22 -23 -25 -26 -29 -28 -28 -29 -30 -32 -34 -33 -32 -31 -32 -33 -34 -33 -32 -29 -27 -27 -27 -27 -23 -21 -21 -20 -20 -21 -20 -20 -21 -21 -23 -24 -25 -26 -28 -28 -27 -26 -25 -24 -26 -28 -30 -31 -32 -32 -31 -31 -32 -18 -12 -15 -25 -35 -41 -45 -47 -48 -49 -47 -33 -12 5 1 -12 -24 -31 -32 -33 -35 -35 -33 -31 -30 -30 -28 -26 -25 -24 -23 -24 -24 -21 -17 -14 -14 -14 -12 -8 -9 -9 -10 -9 -8 -8 -8 -9 -8 -9 -8 -8 -8 -8 -8 -9 -9 -10 -10 -11 -12 -12 -12 -11 -10 -9 -8 -7 -6 -8 -9 -9 -8 -7 -8 -8 -8 -8 -7 -6 -5 -4 -4 -5 -5 -6 -6 -6 -5 -4 -3 -2 -2 -1 -1 -2 -2 -2 -2 -3 -3 -2 -2 -1 -1 -1 -0 0 0 -0 -1 -1 -2 -2 -2 -3 -4 -6 -7 -7 -8 -9 -9 -9 -8 -7 -6 -4 -3 -3 -3 -3 -3 -4 -4 -4 -5 -8 -12 -16 -19 -21 -20 -18 -15 -11 -9 -7 -4 -3 -2 -2 -1 1 4 8 11 10 7 1 -5 -10 -9 -6 -4 -3 -7 -10 -10 -10 -10 -9 -5 -3 -3 -6 -10 -11 -12 -11 -9 -7 -7 -7 -5 -2 -1 -1 -0 0 0 -1 -4 -6 -8 -11 -13 -12 -8 -4 -2 -6 -8 -9 -8 -8 -6 -4 -2 -2 -4 -4 -3 -0 2 3 1 -3 -5 -6 -5 -7 -11 -17 -21 -19 -10 -4 -3 -6 -10 -13 -12 -8 -2 0 -1 -1 -0 2 4 3 2 1 1 -1 -3 -4 -2 -1 0 2 3 3 -0 -5 -10 -14 -17 -18 -16 -15 -14 -14 -14 -14 -13 -12 -11 -10 -10 -10 -10 -11 -11 -10 -8 -7 -6 -9 -14 -17 -21 -23 -21 -19 -18 -16 -13 -11 -12 -13 -14 -13 -10 -11 -13 -15 -14 -12 -12 -13 -14 -15 -15 -14 -15 -16 -17 -19 -20 -20 -21 -24 -27 -27 -27 -27 -29 -28 -26 -24 -23 -21 -21 -24 -26 -24 -21 -20 -19 -20 -22 -24 -25 -25 -24 -24 -25 -26 -26 -25 -23 -22 -21 -21 -22 -23 -23 -23 -22 -22 -22 -22 -23 -23 -22 -20 -21 -22 -24 -25 -27 -30 -30 -30 -31 -31 -32 -33 -33 -32 -30 -30 -31 -32 -33 -33 -31 -29 -28 -28 -27 -23 -21 -21 -20 -21 -22 -21 -21 -22 -22 -23 -23 -24 -27 -29 -28 -27 -26 -25 -24 -24 -26 -28 -30 -30 -30 -29 -28 -33 -28 -16 -12 -20 -32 -39 -43 -46 -48 -49 -49 -42 -26 1 3 -8 -20 -27 -30 -32 -33 -34 -33 -30 -28 -27 -26 -24 -23 -22 -22 -23 -24 -26 -21 -16 -15 -15 -11 -8 -9 -9 -9 -8 -8 -8 -9 -9 -8 -8 -9 -8 -8 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -9 -9 -9 -9 -8 -8 -9 -10 -10 -9 -8 -7 -6 -5 -5 -5 -4 -3 -3 -4 -4 -5 -6 -7 -7 -6 -5 -5 -4 -3 -3 -3 -2 -2 -1 -1 -2 -2 -2 -1 -1 -1 -0 0 1 1 0 -0 -1 -2 -3 -4 -4 -5 -6 -6 -6 -6 -7 -8 -8 -8 -6 -6 -6 -5 -4 -3 -3 -2 -2 -2 -2 -3 -7 -9 -12 -15 -17 -18 -18 -16 -13 -11 -9 -6 -4 -3 -4 -4 -4 -2 2 7 11 12 8 1 -7 -11 -10 -7 -5 -5 -7 -9 -10 -12 -13 -10 -4 -1 -0 -5 -8 -11 -12 -11 -8 -8 -7 -6 -4 -2 -2 -1 1 1 -1 -3 -6 -9 -11 -15 -17 -16 -11 -5 -2 -3 -4 -4 -5 -6 -5 -4 -3 -3 -4 -3 -2 -1 2 4 2 -2 -6 -7 -8 -11 -17 -22 -24 -16 -9 -4 -3 -5 -9 -11 -9 -4 -1 -2 -2 -2 -0 2 3 4 4 4 3 0 -1 -1 -0 -1 -2 -1 1 0 -4 -8 -11 -14 -17 -17 -17 -16 -16 -16 -16 -16 -14 -12 -11 -12 -11 -11 -10 -11 -11 -10 -9 -8 -9 -12 -16 -20 -23 -23 -21 -21 -20 -16 -12 -11 -13 -16 -18 -15 -13 -13 -15 -14 -13 -13 -13 -14 -15 -15 -15 -14 -15 -16 -18 -19 -21 -22 -25 -26 -24 -23 -25 -30 -30 -28 -26 -23 -20 -19 -22 -25 -25 -23 -24 -23 -22 -23 -24 -26 -26 -25 -24 -24 -26 -26 -26 -23 -22 -22 -21 -21 -22 -24 -23 -23 -23 -25 -25 -26 -24 -21 -19 -21 -22 -24 -26 -28 -31 -32 -33 -34 -33 -33 -33 -33 -32 -32 -31 -30 -28 -28 -30 -30 -30 -30 -28 -25 -23 -22 -22 -22 -22 -22 -22 -21 -22 -25 -25 -25 -25 -28 -31 -31 -29 -27 -26 -25 -24 -24 -26 -28 -28 -26 -24 -24 -26 -29 -24 -17 -14 -25 -33 -40 -45 -48 -49 -49 -47 -39 -17 -3 -7 -15 -22 -26 -29 -31 -31 -31 -29 -26 -25 -24 -23 -22 -22 -24 -26 -27 -26 -24 -20 -17 -16 -12 -8 -8 -9 -9 -8 -8 -8 -8 -8 -8 -9 -9 -8 -8 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -10 -10 -10 -11 -11 -10 -8 -7 -5 -4 -4 -3 -2 -2 -2 -3 -4 -5 -6 -8 -8 -7 -7 -6 -6 -5 -5 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 2 2 1 0 -2 -4 -5 -6 -7 -8 -7 -6 -5 -6 -8 -8 -7 -6 -4 -5 -6 -6 -6 -5 -4 -2 0 1 0 -3 -6 -8 -10 -12 -14 -16 -16 -15 -12 -10 -8 -5 -3 -2 -4 -6 -7 -6 -2 4 9 10 7 1 -5 -8 -7 -5 -5 -6 -7 -9 -11 -14 -14 -11 -6 -1 -0 -3 -7 -11 -11 -9 -7 -7 -6 -5 -4 -3 -2 -0 1 -0 -3 -6 -9 -11 -14 -17 -19 -18 -13 -7 -3 -1 -0 -1 -3 -4 -4 -4 -3 -3 -3 -3 -3 0 5 5 1 -4 -7 -10 -12 -16 -20 -24 -20 -13 -8 -4 -4 -6 -8 -9 -5 -3 -2 -3 -3 -2 -2 0 3 5 7 8 7 5 3 1 -2 -4 -4 -2 0 -1 -3 -7 -10 -12 -14 -15 -16 -17 -16 -17 -17 -16 -15 -13 -13 -13 -12 -11 -10 -11 -11 -11 -10 -9 -11 -14 -18 -22 -23 -23 -23 -23 -22 -17 -13 -13 -16 -21 -18 -15 -15 -16 -15 -14 -14 -13 -14 -14 -15 -14 -14 -14 -15 -16 -17 -19 -22 -24 -23 -21 -20 -23 -27 -28 -28 -27 -24 -22 -20 -22 -25 -26 -27 -29 -28 -26 -23 -24 -27 -27 -26 -24 -24 -25 -26 -26 -23 -23 -22 -21 -21 -22 -24 -24 -23 -23 -25 -26 -26 -24 -21 -20 -21 -23 -25 -27 -29 -33 -35 -35 -35 -35 -35 -34 -33 -32 -33 -32 -30 -28 -27 -28 -29 -30 -29 -27 -24 -22 -21 -22 -23 -23 -23 -22 -22 -24 -26 -27 -27 -27 -28 -31 -32 -32 -30 -28 -27 -25 -24 -24 -26 -27 -25 -21 -21 -20 -20 -23 -26 -16 -17 -26 -36 -43 -48 -49 -49 -49 -47 -37 -19 -12 -12 -16 -21 -25 -27 -28 -27 -25 -24 -24 -24 -23 -23 -24 -25 -27 -27 -26 -25 -24 -22 -19 -15 -8 -8 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -10 -10 -9 -9 -9 -10 -10 -11 -11 -10 -10 -10 -10 -10 -10 -10 -8 -7 -6 -5 -4 -2 -2 -2 -2 -3 -4 -5 -7 -8 -9 -8 -9 -9 -9 -8 -6 -5 -4 -3 -2 -2 -1 -1 -1 -1 -0 -0 -0 -0 -0 1 2 2 1 -1 -3 -4 -5 -6 -7 -8 -7 -6 -5 -7 -9 -9 -6 -4 -3 -6 -8 -10 -10 -9 -6 -2 2 4 3 -1 -3 -5 -7 -10 -12 -15 -15 -13 -11 -9 -7 -5 -2 -2 -4 -6 -8 -8 -5 -0 3 5 4 2 -0 -1 -2 -3 -5 -6 -7 -7 -10 -14 -16 -14 -8 -1 -1 -4 -9 -12 -10 -7 -6 -5 -5 -4 -4 -4 -2 -1 -1 -2 -5 -8 -11 -12 -14 -17 -20 -19 -15 -9 -4 -1 1 0 -2 -4 -5 -5 -4 -4 -3 -3 -0 2 3 2 -2 -7 -11 -13 -14 -17 -20 -19 -15 -10 -7 -6 -6 -7 -7 -5 -3 -3 -3 -3 -4 -5 -4 -1 4 8 11 11 10 7 2 -3 -6 -7 -6 -3 -2 -2 -4 -5 -7 -8 -10 -12 -15 -15 -15 -17 -18 -18 -16 -15 -14 -13 -12 -11 -11 -12 -12 -11 -10 -11 -14 -17 -19 -21 -23 -25 -26 -26 -23 -18 -15 -15 -19 -18 -15 -14 -16 -17 -16 -16 -15 -14 -13 -14 -14 -14 -14 -14 -15 -16 -18 -20 -22 -22 -21 -20 -21 -24 -27 -27 -26 -25 -24 -21 -22 -24 -26 -29 -30 -29 -26 -23 -23 -26 -28 -27 -25 -24 -25 -25 -25 -24 -23 -22 -21 -21 -21 -23 -24 -23 -22 -23 -25 -25 -23 -22 -21 -22 -25 -29 -30 -30 -34 -37 -37 -36 -36 -37 -36 -34 -32 -32 -32 -31 -29 -28 -28 -28 -28 -27 -25 -23 -21 -20 -21 -22 -24 -24 -25 -24 -25 -26 -27 -27 -28 -28 -29 -31 -33 -33 -31 -29 -28 -25 -22 -24 -25 -24 -20 -19 -18 -16 -17 -20 -25 -22 -22 -28 -38 -45 -47 -48 -49 -49 -47 -35 -23 -14 -12 -16 -20 -23 -25 -25 -23 -23 -24 -26 -26 -26 -26 -26 -26 -26 -26 -26 -26 -25 -23 -20 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -9 -12 -14 -14 -12 -11 -9 -8 -8 -8 -8 -7 -6 -6 -6 -5 -2 -1 -2 -3 -3 -4 -5 -8 -9 -9 -9 -12 -14 -15 -14 -10 -7 -5 -4 -3 -3 -2 -1 -0 0 0 0 -0 -1 -1 -1 0 1 1 -0 -1 -3 -3 -4 -5 -6 -7 -6 -4 -3 -5 -7 -7 -5 -4 -5 -8 -10 -12 -14 -13 -10 -4 1 5 6 4 2 -2 -5 -8 -11 -13 -13 -10 -10 -10 -9 -5 -2 -0 -0 -2 -5 -7 -6 -4 -2 -2 -0 2 3 3 1 -2 -5 -5 -4 -4 -8 -13 -17 -16 -7 -2 -3 -8 -13 -13 -10 -6 -4 -3 -3 -4 -4 -4 -3 -2 -2 -4 -7 -10 -11 -12 -14 -17 -19 -18 -16 -12 -6 -1 0 -1 -3 -4 -5 -6 -5 -4 -2 0 1 1 0 -1 -5 -11 -14 -14 -13 -14 -16 -15 -12 -9 -7 -7 -7 -6 -4 -3 -2 -2 -3 -4 -6 -7 -5 -1 5 9 11 10 7 3 -1 -5 -7 -8 -7 -6 -5 -5 -4 -2 -1 -2 -6 -11 -13 -14 -16 -19 -20 -20 -18 -16 -14 -13 -12 -13 -13 -13 -11 -10 -12 -15 -17 -18 -19 -21 -23 -26 -28 -27 -22 -18 -16 -18 -17 -14 -12 -13 -16 -17 -18 -18 -15 -13 -13 -13 -14 -14 -15 -16 -16 -17 -17 -19 -20 -20 -20 -20 -21 -24 -26 -27 -26 -24 -21 -21 -23 -25 -29 -27 -24 -23 -21 -22 -24 -26 -27 -25 -24 -25 -25 -24 -23 -23 -22 -22 -21 -21 -22 -23 -22 -21 -20 -22 -23 -22 -21 -21 -22 -26 -30 -31 -33 -36 -37 -36 -36 -36 -37 -36 -35 -32 -31 -30 -30 -30 -29 -28 -27 -26 -24 -23 -21 -20 -19 -20 -21 -23 -25 -27 -26 -25 -25 -26 -27 -28 -28 -29 -31 -33 -33 -32 -31 -30 -27 -23 -23 -24 -23 -18 -18 -17 -15 -14 -15 -22 -24 -25 -25 -29 -37 -43 -46 -47 -47 -46 -42 -33 -21 -12 -12 -15 -19 -23 -25 -25 -25 -27 -29 -29 -29 -28 -27 -27 -26 -26 -27 -28 -28 -26 -25 -8 -9 -9 -9 -9 -9 -9 -8 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -11 -14 -16 -16 -15 -10 -6 -5 -4 -5 -4 -3 -3 -4 -4 -2 -1 -1 -3 -4 -4 -5 -8 -10 -10 -9 -11 -14 -18 -19 -16 -12 -7 -4 -3 -3 -2 -1 -0 1 1 1 1 1 -0 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -6 -5 -3 -2 -2 -5 -7 -6 -5 -5 -7 -9 -11 -14 -15 -15 -11 -6 1 6 8 8 5 1 -1 -4 -7 -9 -9 -9 -10 -11 -10 -5 -0 2 2 0 -3 -5 -6 -5 -6 -7 -6 -2 3 6 4 -0 -4 -3 -0 -0 -5 -11 -15 -11 -5 -3 -6 -13 -17 -15 -10 -5 -3 -2 -2 -2 -3 -3 -4 -3 -4 -5 -8 -10 -12 -12 -13 -15 -18 -19 -17 -13 -7 -3 -1 -2 -3 -5 -7 -7 -6 -2 1 2 1 -1 -3 -6 -11 -15 -16 -13 -10 -11 -12 -12 -11 -9 -8 -8 -8 -5 -2 -1 -1 -2 -3 -5 -7 -8 -7 -3 4 7 8 6 4 1 -2 -6 -8 -8 -8 -9 -9 -7 -2 2 3 0 -5 -8 -11 -13 -16 -19 -20 -20 -18 -17 -15 -14 -15 -15 -14 -10 -9 -11 -15 -18 -18 -18 -19 -21 -24 -27 -27 -24 -21 -18 -19 -17 -14 -13 -13 -15 -17 -18 -18 -17 -16 -14 -13 -13 -15 -16 -17 -17 -17 -15 -16 -17 -17 -18 -18 -19 -22 -24 -26 -26 -23 -21 -21 -23 -26 -32 -29 -23 -20 -20 -20 -22 -24 -27 -26 -25 -24 -24 -23 -23 -23 -23 -22 -21 -21 -21 -21 -21 -20 -20 -21 -21 -21 -21 -21 -23 -25 -29 -31 -35 -37 -37 -34 -34 -35 -36 -35 -34 -31 -30 -29 -29 -29 -30 -29 -27 -25 -23 -23 -22 -20 -20 -20 -21 -22 -25 -29 -28 -25 -24 -25 -26 -27 -27 -29 -31 -32 -32 -32 -32 -31 -29 -25 -23 -23 -21 -17 -16 -15 -15 -14 -13 -20 -22 -23 -25 -26 -29 -34 -39 -41 -42 -41 -39 -35 -27 -17 -11 -12 -17 -24 -29 -30 -30 -30 -29 -29 -29 -29 -28 -27 -26 -26 -27 -29 -30 -30 -29 -8 -9 -9 -9 -9 -9 -8 -8 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -7 -9 -13 -16 -17 -16 -12 -7 -5 -4 -4 -3 -2 -3 -3 -2 -1 -1 -2 -3 -3 -3 -4 -7 -9 -10 -10 -10 -12 -14 -16 -15 -14 -11 -7 -5 -4 -3 -2 -2 -1 2 2 2 2 1 -0 -1 -1 -2 -2 -3 -3 -3 -5 -6 -7 -6 -4 -3 -2 -1 -2 -4 -6 -5 -4 -5 -7 -10 -12 -15 -17 -16 -12 -5 1 5 8 8 5 4 2 -1 -3 -5 -7 -9 -11 -11 -7 -2 1 2 2 0 -2 -4 -5 -7 -10 -12 -10 -6 2 7 6 1 -2 -1 2 3 -1 -9 -12 -9 -6 -5 -9 -15 -16 -14 -10 -6 -3 -1 -1 -1 -2 -4 -4 -5 -5 -7 -10 -12 -12 -13 -14 -15 -17 -18 -17 -13 -7 -3 -2 -3 -4 -6 -7 -7 -5 -1 2 2 -0 -4 -8 -13 -17 -18 -15 -10 -9 -10 -11 -12 -12 -11 -10 -8 -5 -2 -0 0 -1 -3 -5 -7 -9 -10 -10 -5 0 4 5 4 3 -0 -3 -5 -7 -9 -11 -11 -10 -5 -1 2 2 0 -3 -5 -8 -12 -17 -19 -20 -19 -18 -16 -16 -16 -15 -14 -10 -8 -10 -14 -17 -18 -18 -19 -21 -23 -26 -27 -25 -23 -21 -19 -17 -15 -13 -13 -15 -16 -17 -18 -17 -18 -17 -16 -15 -15 -16 -17 -17 -16 -15 -14 -14 -14 -15 -16 -18 -20 -23 -24 -25 -23 -22 -22 -22 -26 -34 -33 -26 -19 -19 -19 -20 -23 -25 -26 -26 -25 -23 -23 -22 -22 -23 -23 -22 -22 -22 -21 -20 -20 -19 -19 -19 -20 -20 -21 -22 -25 -27 -30 -35 -37 -37 -35 -33 -33 -33 -33 -33 -31 -30 -28 -28 -28 -29 -29 -28 -25 -22 -23 -23 -23 -23 -21 -21 -23 -26 -29 -28 -26 -24 -24 -25 -26 -27 -29 -30 -30 -30 -31 -32 -32 -30 -27 -24 -23 -22 -19 -15 -13 -13 -13 -14 -19 -20 -20 -22 -24 -24 -26 -30 -33 -35 -35 -33 -31 -28 -21 -14 -12 -15 -24 -29 -31 -32 -31 -29 -28 -28 -28 -28 -27 -26 -26 -27 -29 -30 -30 -30 -8 -9 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -8 -10 -12 -13 -13 -11 -9 -8 -7 -6 -5 -5 -5 -4 -3 -2 -1 -2 -2 -3 -4 -5 -7 -9 -11 -11 -11 -11 -12 -14 -15 -14 -12 -10 -7 -5 -4 -3 -2 -1 1 2 3 3 3 2 0 -1 -2 -3 -4 -3 -4 -5 -7 -8 -7 -6 -4 -2 -1 -0 -1 -4 -3 -3 -4 -6 -9 -10 -12 -15 -17 -16 -11 -7 -2 3 6 6 5 4 2 1 -1 -2 -4 -6 -7 -5 -2 0 1 1 0 -0 -1 -3 -6 -9 -12 -13 -12 -6 0 4 4 0 -3 -0 3 4 1 -5 -7 -6 -5 -7 -13 -15 -14 -12 -10 -6 -3 -2 -1 -2 -3 -3 -3 -4 -6 -8 -10 -12 -13 -14 -14 -15 -17 -19 -17 -11 -6 -4 -3 -3 -3 -5 -7 -7 -4 0 3 2 -2 -9 -16 -21 -22 -18 -12 -9 -8 -9 -11 -14 -14 -13 -9 -5 -2 -1 -0 -1 -3 -5 -6 -8 -9 -9 -8 -5 -2 0 1 1 -0 -2 -3 -5 -8 -10 -12 -12 -10 -7 -3 0 2 1 -0 -2 -6 -12 -16 -17 -18 -18 -17 -17 -16 -16 -15 -12 -9 -9 -11 -15 -17 -18 -19 -21 -23 -26 -26 -26 -24 -22 -19 -16 -14 -14 -13 -14 -15 -16 -17 -18 -18 -18 -19 -18 -17 -16 -15 -16 -16 -16 -15 -13 -12 -13 -15 -17 -19 -21 -22 -23 -23 -24 -24 -21 -24 -31 -32 -26 -20 -18 -18 -19 -21 -23 -26 -27 -25 -23 -23 -22 -22 -22 -23 -24 -24 -24 -23 -21 -20 -20 -19 -18 -18 -19 -20 -21 -24 -27 -30 -34 -37 -38 -36 -33 -32 -32 -32 -33 -32 -30 -28 -27 -27 -29 -29 -28 -26 -22 -23 -25 -26 -26 -23 -21 -23 -26 -29 -28 -25 -23 -23 -24 -25 -27 -29 -30 -27 -27 -29 -30 -31 -32 -30 -27 -24 -23 -22 -17 -13 -12 -12 -15 -18 -19 -19 -19 -22 -22 -22 -23 -25 -27 -28 -27 -26 -23 -21 -18 -16 -16 -21 -26 -29 -31 -31 -30 -28 -28 -28 -27 -26 -26 -27 -28 -29 -30 -30 -29 -8 -9 -10 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -8 -8 -7 -7 -7 -8 -9 -10 -11 -9 -8 -7 -6 -7 -9 -9 -8 -6 -5 -3 -1 -1 -2 -3 -4 -5 -7 -9 -11 -13 -13 -12 -13 -14 -16 -15 -13 -11 -8 -6 -4 -3 -3 -1 0 1 2 2 2 3 1 -0 -1 -3 -4 -4 -5 -6 -7 -7 -8 -8 -6 -3 -0 1 1 -1 -1 -1 -3 -6 -8 -10 -10 -12 -14 -16 -15 -13 -9 -5 -0 3 3 2 1 1 0 0 -0 -1 -1 -1 1 2 1 -1 -1 -1 0 -0 -3 -6 -9 -11 -12 -11 -8 -4 -1 -1 -4 -3 -1 3 4 1 -1 -1 -2 -5 -9 -11 -12 -12 -10 -8 -6 -5 -4 -3 -2 -1 -0 0 -1 -4 -7 -10 -13 -14 -14 -14 -16 -18 -18 -15 -11 -8 -6 -4 -3 -3 -4 -6 -6 -3 1 3 1 -8 -18 -25 -26 -22 -15 -10 -8 -8 -9 -14 -16 -16 -11 -5 -2 -1 -1 -2 -4 -5 -5 -6 -6 -6 -6 -5 -4 -3 -2 -1 -1 -1 -3 -5 -8 -11 -12 -13 -12 -10 -8 -4 -1 -0 1 2 0 -5 -10 -12 -14 -16 -18 -18 -17 -16 -16 -15 -12 -10 -9 -11 -14 -18 -20 -21 -22 -24 -25 -25 -23 -22 -19 -16 -14 -14 -15 -15 -15 -17 -18 -18 -17 -17 -18 -18 -18 -15 -14 -15 -16 -17 -16 -15 -13 -12 -14 -16 -17 -19 -20 -22 -23 -25 -25 -22 -22 -29 -30 -26 -21 -19 -19 -19 -20 -22 -24 -25 -24 -21 -22 -21 -21 -22 -23 -25 -26 -26 -25 -22 -21 -20 -19 -18 -18 -19 -19 -20 -23 -27 -32 -36 -38 -38 -36 -33 -32 -31 -31 -31 -31 -31 -30 -28 -26 -27 -28 -28 -27 -22 -23 -25 -27 -26 -24 -22 -23 -25 -27 -25 -24 -23 -23 -23 -25 -27 -29 -29 -26 -25 -27 -29 -30 -32 -31 -29 -26 -24 -23 -19 -15 -14 -15 -18 -19 -19 -20 -19 -21 -22 -22 -20 -20 -21 -21 -22 -21 -19 -21 -24 -24 -20 -20 -23 -27 -30 -31 -30 -29 -28 -27 -27 -27 -27 -28 -29 -29 -29 -30 -30 -9 -9 -10 -9 -8 -8 -8 -8 -8 -8 -7 -8 -8 -8 -8 -9 -9 -8 -8 -9 -8 -8 -7 -6 -6 -7 -7 -8 -7 -6 -4 -4 -6 -9 -12 -11 -9 -7 -5 -3 -0 -0 -1 -2 -3 -5 -7 -9 -11 -14 -15 -14 -14 -15 -17 -16 -14 -11 -8 -6 -5 -4 -3 -2 -1 0 -0 -0 -0 1 2 1 0 -1 -2 -4 -5 -6 -6 -6 -8 -8 -8 -5 -1 1 2 1 0 -0 -2 -5 -9 -11 -10 -9 -10 -14 -15 -14 -13 -10 -7 -3 -1 -0 -2 -3 -3 -2 -1 1 3 4 4 4 2 -1 -3 -2 -0 1 1 -2 -4 -6 -7 -8 -11 -11 -9 -6 -6 -7 -6 -3 0 1 2 2 2 -1 -5 -7 -9 -10 -9 -7 -6 -5 -5 -4 -3 -2 -0 1 1 -1 -4 -7 -10 -11 -12 -13 -15 -16 -18 -17 -14 -11 -9 -8 -5 -3 -2 -3 -6 -6 -3 1 2 -6 -18 -27 -29 -24 -16 -11 -8 -7 -7 -11 -15 -17 -14 -6 -2 -1 -3 -4 -7 -7 -7 -5 -4 -3 -3 -3 -4 -4 -4 -3 -3 -3 -4 -6 -9 -13 -15 -15 -12 -10 -9 -8 -8 -6 -3 -0 1 -1 -4 -7 -9 -12 -16 -17 -17 -17 -17 -16 -13 -10 -8 -9 -12 -15 -18 -20 -22 -24 -25 -25 -24 -23 -20 -17 -16 -17 -17 -15 -16 -17 -19 -19 -17 -16 -16 -18 -18 -17 -16 -15 -15 -17 -18 -17 -16 -14 -13 -15 -17 -19 -21 -22 -24 -26 -27 -23 -22 -27 -30 -27 -23 -21 -19 -19 -20 -21 -23 -24 -23 -20 -20 -21 -21 -21 -23 -25 -26 -27 -26 -24 -22 -20 -19 -18 -18 -18 -19 -20 -22 -26 -32 -37 -38 -37 -34 -33 -33 -32 -31 -30 -30 -31 -30 -28 -26 -26 -27 -27 -27 -23 -22 -23 -24 -24 -24 -24 -24 -24 -24 -23 -23 -23 -23 -24 -25 -26 -28 -29 -28 -26 -27 -28 -29 -30 -31 -30 -28 -27 -23 -20 -17 -17 -18 -19 -20 -21 -22 -21 -21 -23 -24 -22 -19 -19 -19 -19 -20 -20 -22 -25 -26 -23 -21 -22 -25 -29 -31 -31 -30 -29 -27 -27 -28 -29 -29 -30 -29 -30 -30 -30 -10 -10 -10 -9 -8 -7 -8 -8 -8 -8 -7 -7 -8 -8 -9 -9 -9 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -5 -4 -2 -1 -2 -6 -9 -11 -9 -7 -5 -4 -2 -0 -0 -1 -1 -2 -3 -7 -9 -10 -12 -15 -16 -16 -17 -16 -14 -12 -10 -7 -5 -4 -3 -2 -2 -2 -1 -2 -3 -4 -3 -1 0 0 -1 -1 -2 -4 -5 -5 -5 -6 -7 -8 -8 -3 1 2 2 2 1 0 -3 -8 -13 -13 -10 -8 -9 -12 -13 -14 -13 -12 -10 -7 -4 -3 -4 -5 -5 -4 -2 2 5 7 6 4 -0 -4 -4 -3 1 2 1 0 -1 -1 -3 -8 -11 -12 -10 -9 -10 -10 -9 -6 -4 -2 0 2 1 -2 -4 -5 -6 -6 -6 -5 -5 -4 -4 -4 -3 -2 -1 1 1 -1 -3 -6 -7 -8 -11 -14 -16 -16 -16 -14 -13 -12 -11 -9 -6 -3 -2 -3 -5 -6 -4 -0 -5 -16 -25 -28 -23 -15 -9 -7 -7 -6 -8 -12 -16 -16 -9 -3 -2 -3 -5 -9 -10 -9 -6 -4 -2 -2 -1 -1 -1 -2 -3 -4 -5 -5 -7 -10 -14 -17 -17 -13 -10 -8 -8 -11 -12 -10 -7 -3 -1 -2 -3 -4 -7 -12 -15 -17 -17 -17 -17 -14 -11 -9 -8 -10 -13 -16 -19 -22 -23 -24 -24 -25 -24 -22 -19 -17 -17 -16 -15 -15 -16 -19 -20 -18 -16 -15 -17 -18 -18 -17 -15 -15 -17 -19 -20 -19 -18 -16 -16 -16 -19 -22 -24 -25 -27 -29 -27 -23 -26 -29 -29 -25 -23 -21 -20 -20 -20 -21 -22 -23 -21 -20 -20 -20 -21 -22 -24 -26 -26 -26 -25 -23 -21 -19 -18 -18 -19 -21 -22 -23 -26 -32 -35 -36 -35 -34 -34 -34 -33 -31 -28 -28 -29 -29 -27 -27 -27 -27 -26 -25 -22 -22 -22 -23 -24 -26 -26 -26 -25 -23 -23 -22 -23 -24 -24 -24 -24 -26 -30 -30 -29 -28 -29 -30 -30 -31 -31 -30 -29 -24 -21 -19 -19 -19 -20 -20 -22 -23 -23 -22 -24 -25 -26 -23 -21 -20 -20 -20 -21 -23 -25 -26 -27 -24 -23 -24 -28 -30 -31 -30 -29 -27 -27 -28 -28 -29 -29 -29 -30 -30 -30 -10 -10 -9 -8 -8 -7 -8 -8 -8 -7 -7 -7 -8 -8 -9 -9 -8 -8 -7 -7 -7 -6 -6 -6 -5 -5 -4 -3 -1 -0 0 -1 -4 -7 -8 -6 -4 -3 -2 -2 -1 -1 -0 -1 -2 -3 -6 -8 -9 -8 -11 -16 -21 -23 -19 -13 -9 -7 -5 -4 -3 -2 -1 -1 -1 -1 -2 -3 -5 -6 -5 -5 -4 -3 -2 -3 -4 -4 -4 -5 -4 -5 -6 -8 -6 -2 2 5 5 5 4 1 -4 -10 -14 -15 -12 -7 -7 -10 -13 -14 -14 -15 -12 -8 -4 -3 -4 -5 -5 -5 -2 2 5 6 5 2 -1 -4 -4 -2 -0 1 1 1 0 -2 -4 -8 -10 -10 -9 -11 -13 -13 -12 -10 -9 -6 -3 -1 -3 -3 -3 -3 -3 -4 -4 -5 -4 -3 -3 -3 -3 -2 -1 0 0 -1 -2 -2 -4 -7 -11 -15 -16 -15 -14 -13 -12 -13 -12 -10 -6 -2 -1 -4 -7 -8 -6 -8 -15 -22 -25 -20 -12 -7 -5 -6 -6 -5 -8 -12 -15 -12 -6 -3 -2 -5 -9 -11 -10 -7 -5 -4 -3 -2 -0 1 0 -1 -3 -6 -7 -9 -12 -16 -19 -18 -15 -11 -8 -7 -10 -13 -13 -10 -6 -3 -1 -0 -0 -2 -6 -12 -15 -16 -16 -16 -15 -12 -10 -9 -10 -12 -15 -17 -19 -20 -22 -23 -24 -24 -21 -19 -17 -16 -15 -14 -14 -15 -17 -19 -19 -17 -14 -15 -17 -18 -17 -16 -15 -18 -19 -19 -19 -19 -19 -18 -17 -19 -22 -25 -26 -27 -31 -31 -24 -24 -28 -30 -27 -25 -23 -21 -20 -19 -19 -20 -20 -20 -20 -20 -20 -21 -22 -24 -25 -25 -25 -24 -22 -21 -19 -18 -18 -20 -22 -24 -24 -27 -30 -33 -34 -34 -33 -33 -33 -33 -31 -27 -25 -25 -26 -26 -28 -28 -27 -26 -25 -23 -22 -22 -24 -27 -28 -28 -27 -26 -25 -23 -22 -23 -24 -23 -22 -23 -25 -30 -31 -29 -28 -28 -29 -30 -30 -31 -29 -28 -24 -22 -21 -21 -21 -21 -21 -22 -24 -25 -26 -26 -27 -27 -27 -25 -24 -23 -22 -21 -23 -24 -25 -27 -25 -24 -23 -26 -28 -29 -30 -29 -27 -27 -27 -27 -27 -29 -30 -30 -30 -30 -10 -10 -9 -8 -8 -7 -7 -7 -7 -7 -6 -7 -7 -8 -8 -8 -8 -7 -7 -6 -7 -7 -7 -6 -5 -4 -3 -2 -2 -1 -1 -1 -2 -3 -3 -2 -2 -2 -3 -3 -4 -3 -2 -1 -3 -4 -6 -7 -8 -8 -11 -14 -17 -18 -17 -12 -7 -4 -3 -3 -2 -2 -1 -0 -1 -2 -2 -3 -4 -5 -7 -8 -9 -7 -6 -5 -5 -4 -3 -4 -4 -4 -4 -7 -8 -6 -1 4 6 7 7 6 3 -3 -10 -15 -16 -13 -8 -8 -10 -12 -13 -15 -15 -12 -9 -6 -4 -4 -4 -4 -3 -1 2 3 4 4 2 -1 -4 -4 -3 -2 -1 -1 -0 -1 -3 -5 -7 -8 -9 -10 -12 -13 -13 -12 -12 -11 -9 -8 -9 -9 -7 -2 1 -0 -3 -5 -5 -3 -3 -3 -3 -3 -2 -0 1 1 1 1 -0 -3 -7 -11 -14 -15 -13 -12 -12 -12 -12 -12 -10 -6 -3 -3 -6 -9 -10 -10 -15 -21 -25 -21 -12 -5 -2 -2 -5 -5 -5 -6 -9 -11 -11 -8 -4 -3 -8 -10 -9 -7 -6 -6 -6 -4 -2 0 1 1 -1 -4 -7 -10 -14 -18 -20 -20 -16 -12 -9 -8 -10 -12 -12 -10 -5 -0 1 1 1 0 -2 -6 -11 -14 -15 -15 -14 -13 -11 -10 -11 -13 -15 -16 -17 -17 -18 -20 -21 -22 -21 -20 -18 -17 -15 -14 -14 -13 -15 -18 -19 -18 -16 -14 -16 -18 -18 -17 -17 -18 -18 -19 -18 -17 -18 -19 -18 -19 -23 -26 -27 -28 -31 -30 -23 -22 -26 -31 -27 -25 -24 -22 -21 -21 -19 -17 -17 -18 -19 -20 -20 -20 -21 -22 -23 -24 -23 -23 -21 -20 -19 -18 -19 -21 -23 -25 -25 -26 -28 -31 -32 -32 -31 -31 -31 -31 -30 -25 -23 -22 -23 -25 -28 -29 -28 -25 -25 -24 -22 -22 -25 -28 -29 -28 -27 -27 -26 -24 -22 -22 -22 -22 -22 -23 -25 -30 -30 -29 -28 -29 -29 -30 -31 -31 -28 -25 -23 -22 -22 -22 -22 -21 -21 -22 -24 -27 -28 -28 -28 -28 -28 -27 -25 -25 -23 -21 -21 -23 -23 -25 -25 -24 -24 -25 -26 -27 -28 -28 -27 -27 -27 -27 -26 -28 -30 -30 -30 -29 -10 -9 -8 -8 -8 -7 -7 -7 -6 -6 -6 -7 -8 -8 -7 -7 -7 -7 -6 -6 -6 -7 -7 -6 -4 -3 -3 -4 -4 -5 -3 -2 -2 -1 -2 -2 -2 -3 -4 -4 -4 -4 -3 -2 -2 -2 -4 -7 -10 -13 -16 -17 -16 -14 -12 -8 -5 -3 -3 -3 -3 -2 -1 -0 -1 -2 -3 -3 -4 -3 -5 -7 -10 -11 -10 -8 -7 -5 -2 -2 -3 -3 -3 -5 -7 -7 -4 0 4 7 8 9 9 5 -2 -9 -15 -17 -13 -9 -8 -9 -10 -13 -15 -15 -13 -9 -7 -5 -5 -5 -6 -4 -1 1 3 4 4 2 -1 -3 -3 -2 -2 -2 -2 -1 -2 -4 -6 -8 -9 -9 -9 -9 -10 -10 -11 -11 -12 -12 -14 -17 -16 -10 0 3 1 -4 -6 -6 -4 -2 -2 -2 -1 -0 1 2 3 4 3 1 -1 -6 -11 -13 -13 -11 -10 -11 -12 -13 -13 -10 -7 -5 -5 -8 -12 -13 -16 -20 -25 -24 -17 -8 -1 2 -1 -3 -3 -2 -3 -9 -14 -13 -8 -3 -5 -7 -8 -6 -6 -7 -8 -7 -5 -3 -1 -0 -1 -2 -5 -9 -13 -17 -20 -20 -18 -14 -11 -10 -13 -14 -13 -10 -5 1 5 5 3 -0 -0 -1 -5 -10 -13 -14 -14 -13 -11 -12 -12 -13 -14 -16 -16 -15 -15 -16 -17 -19 -20 -20 -20 -18 -17 -15 -14 -14 -15 -18 -19 -19 -18 -16 -15 -16 -18 -19 -18 -18 -19 -19 -18 -16 -17 -18 -19 -20 -23 -25 -27 -29 -33 -27 -21 -21 -26 -31 -26 -24 -23 -23 -23 -23 -21 -18 -16 -17 -19 -20 -20 -19 -20 -21 -22 -22 -21 -20 -20 -19 -19 -19 -19 -22 -25 -26 -25 -24 -26 -29 -30 -30 -29 -29 -29 -27 -26 -24 -23 -22 -22 -26 -28 -28 -27 -24 -24 -23 -21 -22 -26 -28 -29 -28 -27 -26 -25 -23 -22 -23 -21 -22 -23 -24 -25 -29 -29 -29 -28 -29 -30 -30 -30 -29 -26 -23 -23 -23 -22 -22 -22 -22 -21 -22 -23 -26 -27 -27 -26 -25 -25 -25 -25 -26 -23 -20 -20 -21 -22 -23 -24 -24 -24 -24 -25 -26 -27 -27 -27 -27 -27 -26 -26 -28 -30 -30 -29 -28 -9 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -8 -8 -7 -6 -6 -6 -6 -6 -6 -7 -6 -6 -5 -3 -4 -4 -4 -5 -5 -3 -1 -0 -1 -2 -2 -3 -3 -4 -4 -4 -3 -3 -3 -3 -2 -4 -6 -10 -14 -17 -18 -17 -13 -9 -6 -4 -3 -3 -3 -3 -2 -1 -1 -1 -1 -2 -3 -4 -4 -4 -5 -8 -11 -12 -10 -8 -5 -2 -2 -3 -3 -3 -4 -7 -9 -8 -4 0 4 7 9 12 11 8 0 -8 -15 -15 -11 -8 -7 -8 -10 -13 -14 -14 -12 -9 -7 -6 -6 -8 -7 -5 -2 0 2 3 4 2 -0 -1 -1 -2 -3 -4 -3 -3 -3 -5 -7 -9 -9 -8 -7 -7 -7 -8 -9 -10 -11 -15 -20 -23 -20 -10 -1 2 1 -4 -7 -6 -4 -3 -3 -2 -1 1 3 4 4 5 5 3 -0 -5 -9 -11 -10 -8 -9 -10 -12 -13 -14 -12 -8 -6 -6 -11 -14 -17 -20 -24 -26 -22 -14 -5 3 4 2 1 0 -0 -5 -11 -14 -13 -7 -5 -6 -6 -6 -6 -6 -7 -7 -7 -6 -5 -4 -2 -1 -3 -6 -10 -13 -16 -18 -18 -16 -14 -14 -17 -17 -16 -14 -10 -2 5 7 5 1 0 1 0 -3 -8 -10 -11 -11 -11 -11 -12 -12 -12 -14 -15 -14 -13 -13 -14 -16 -18 -19 -20 -18 -18 -16 -15 -14 -16 -18 -19 -19 -19 -18 -17 -17 -17 -18 -20 -20 -19 -19 -18 -17 -17 -18 -20 -22 -24 -24 -26 -29 -33 -25 -20 -19 -23 -28 -25 -23 -22 -24 -24 -24 -23 -21 -18 -18 -19 -19 -20 -20 -20 -21 -21 -21 -19 -19 -18 -18 -17 -18 -19 -22 -25 -26 -25 -24 -25 -27 -28 -28 -28 -27 -26 -23 -22 -22 -23 -23 -23 -25 -26 -26 -25 -22 -22 -22 -21 -22 -26 -27 -27 -26 -26 -26 -25 -24 -24 -25 -23 -23 -24 -25 -24 -27 -27 -27 -27 -28 -30 -30 -28 -26 -25 -23 -23 -23 -22 -22 -22 -22 -21 -22 -23 -24 -25 -26 -26 -25 -25 -24 -25 -25 -22 -20 -19 -19 -21 -22 -22 -22 -23 -24 -24 -25 -26 -28 -28 -28 -27 -26 -26 -28 -29 -29 -28 -28 -7 -6 -6 -7 -7 -6 -6 -5 -6 -7 -8 -8 -7 -6 -5 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -4 -4 -4 -3 -3 -1 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -2 -2 -3 -5 -4 -5 -6 -8 -12 -16 -18 -17 -14 -10 -6 -4 -3 -3 -3 -3 -2 -1 -1 0 1 0 -2 -4 -5 -6 -6 -6 -9 -11 -9 -7 -5 -3 -3 -4 -4 -3 -3 -8 -11 -11 -8 -4 -1 3 7 10 13 13 9 2 -7 -12 -12 -9 -7 -7 -8 -10 -12 -13 -13 -10 -8 -7 -7 -9 -9 -7 -5 -3 -1 1 2 3 2 1 1 1 -1 -3 -5 -6 -6 -5 -6 -9 -10 -9 -7 -6 -6 -5 -5 -7 -9 -13 -18 -23 -25 -21 -12 -4 1 1 -3 -6 -6 -6 -6 -7 -7 -5 -1 3 4 6 7 7 7 2 -3 -5 -6 -5 -6 -8 -9 -11 -14 -14 -12 -9 -6 -8 -13 -17 -20 -23 -26 -27 -23 -14 -2 5 6 5 4 2 -2 -7 -12 -14 -12 -10 -8 -6 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -5 -7 -8 -11 -15 -18 -19 -19 -19 -20 -20 -20 -19 -17 -10 -2 4 4 1 -0 1 2 2 -2 -5 -8 -10 -11 -11 -10 -9 -9 -11 -13 -13 -13 -12 -12 -14 -16 -18 -19 -18 -18 -18 -17 -17 -18 -20 -20 -20 -19 -17 -17 -18 -19 -18 -19 -19 -19 -19 -19 -18 -18 -19 -21 -23 -24 -24 -25 -28 -32 -25 -20 -18 -21 -25 -26 -24 -23 -23 -22 -23 -23 -23 -20 -19 -19 -19 -19 -20 -21 -21 -22 -21 -18 -18 -18 -17 -18 -18 -18 -20 -24 -25 -26 -25 -25 -25 -25 -26 -26 -25 -23 -20 -19 -20 -21 -23 -24 -23 -22 -22 -22 -22 -23 -24 -24 -23 -25 -26 -25 -25 -25 -25 -25 -25 -25 -26 -23 -23 -23 -23 -24 -25 -26 -25 -26 -27 -28 -28 -26 -24 -24 -23 -23 -23 -23 -24 -23 -22 -22 -23 -24 -23 -24 -26 -27 -26 -25 -25 -24 -25 -23 -22 -21 -19 -20 -20 -21 -21 -22 -24 -25 -24 -24 -27 -28 -28 -27 -25 -26 -27 -28 -28 -27 -27 -7 -7 -6 -7 -6 -5 -4 -5 -6 -8 -8 -7 -6 -5 -6 -6 -7 -7 -7 -6 -6 -4 -3 -2 -3 -3 -3 -3 -2 -2 -1 -1 -2 -3 -3 -3 -4 -4 -4 -4 -4 -3 -2 -4 -6 -6 -6 -7 -8 -12 -16 -17 -16 -14 -11 -9 -6 -4 -3 -3 -2 -2 -1 -0 1 2 1 0 -1 -3 -6 -7 -5 -5 -7 -7 -6 -5 -3 -3 -4 -3 -2 -3 -8 -12 -13 -12 -9 -6 -2 2 7 11 13 13 10 3 -3 -7 -8 -8 -8 -8 -8 -9 -10 -11 -9 -7 -6 -7 -9 -10 -9 -6 -4 -3 -3 -1 0 2 3 4 5 3 -0 -6 -8 -8 -5 -4 -7 -9 -10 -8 -7 -6 -5 -3 -3 -5 -10 -15 -20 -24 -25 -22 -14 -6 -0 1 -1 -4 -5 -6 -9 -12 -12 -8 -2 1 2 4 5 7 6 4 2 0 -1 -3 -5 -6 -8 -10 -13 -13 -11 -8 -8 -12 -16 -20 -22 -26 -30 -30 -23 -11 0 7 9 8 4 1 -4 -8 -11 -13 -13 -11 -8 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -4 -5 -5 -6 -6 -10 -15 -19 -21 -22 -22 -22 -22 -21 -21 -17 -9 -3 -1 -3 -3 -3 -1 -0 -2 -2 -4 -7 -11 -13 -12 -10 -8 -7 -9 -12 -13 -12 -11 -12 -15 -17 -17 -18 -19 -19 -20 -19 -21 -22 -22 -21 -18 -15 -16 -18 -19 -19 -17 -16 -18 -21 -22 -20 -20 -21 -24 -23 -22 -23 -25 -28 -30 -26 -22 -19 -19 -21 -23 -24 -24 -23 -22 -22 -22 -22 -22 -20 -19 -19 -19 -20 -21 -22 -22 -21 -18 -18 -17 -17 -18 -18 -19 -20 -23 -24 -25 -24 -23 -23 -24 -24 -23 -21 -20 -18 -18 -18 -19 -22 -23 -21 -19 -19 -20 -21 -24 -27 -27 -26 -24 -24 -23 -23 -23 -24 -25 -25 -25 -25 -23 -23 -23 -23 -24 -26 -26 -26 -25 -26 -27 -26 -25 -24 -24 -23 -22 -22 -23 -23 -23 -22 -22 -23 -24 -24 -24 -26 -27 -27 -26 -24 -23 -25 -25 -25 -23 -20 -19 -20 -20 -20 -22 -25 -25 -24 -23 -26 -28 -28 -27 -26 -26 -27 -28 -28 -26 -26 -7 -7 -7 -6 -6 -4 -4 -6 -7 -8 -7 -5 -5 -5 -6 -7 -7 -8 -8 -7 -5 -3 -2 -1 -1 -1 -1 -2 -3 -2 -2 -2 -2 -3 -4 -4 -3 -3 -3 -4 -3 -3 -3 -3 -6 -7 -7 -7 -10 -13 -16 -17 -15 -13 -11 -11 -9 -6 -2 -2 -2 -1 -1 -1 1 1 1 1 2 1 -2 -4 -4 -4 -5 -5 -5 -4 -1 -0 -1 -1 -0 -2 -8 -12 -15 -15 -13 -11 -8 -4 1 7 10 12 12 10 6 2 -2 -5 -8 -8 -8 -7 -7 -8 -7 -5 -5 -5 -8 -10 -9 -8 -6 -4 -4 -5 -5 -3 0 5 7 7 4 -3 -7 -7 -4 -0 -3 -7 -9 -9 -7 -8 -6 -4 -2 -3 -8 -13 -17 -21 -24 -25 -22 -17 -10 -3 -0 -0 -2 -4 -8 -13 -15 -14 -10 -5 -2 -0 1 1 2 3 5 6 5 3 0 -2 -3 -5 -9 -13 -14 -13 -10 -11 -14 -19 -24 -28 -32 -34 -31 -20 -6 4 10 11 7 2 -1 -5 -8 -12 -14 -13 -10 -6 -5 -6 -7 -8 -8 -6 -5 -3 -3 -2 -3 -4 -6 -6 -6 -8 -12 -15 -18 -20 -21 -21 -21 -21 -21 -19 -14 -10 -7 -7 -7 -8 -9 -9 -9 -7 -5 -4 -7 -12 -15 -15 -12 -8 -8 -9 -10 -11 -10 -11 -13 -15 -16 -17 -19 -20 -21 -21 -23 -24 -24 -23 -18 -14 -14 -16 -18 -19 -19 -17 -18 -21 -22 -21 -20 -22 -25 -24 -22 -22 -24 -25 -27 -27 -25 -22 -19 -19 -20 -21 -22 -23 -22 -21 -21 -22 -22 -22 -21 -19 -18 -19 -20 -21 -22 -21 -19 -18 -18 -17 -18 -18 -19 -20 -21 -22 -23 -23 -23 -24 -24 -22 -20 -17 -16 -17 -17 -17 -18 -19 -21 -20 -18 -18 -19 -20 -22 -25 -27 -26 -23 -22 -21 -22 -22 -24 -25 -25 -25 -24 -23 -23 -24 -23 -24 -26 -27 -27 -26 -26 -26 -26 -25 -25 -24 -23 -22 -22 -22 -23 -23 -23 -22 -23 -23 -24 -24 -27 -27 -27 -26 -24 -23 -25 -25 -25 -24 -20 -19 -19 -21 -20 -22 -24 -25 -24 -24 -25 -26 -26 -27 -26 -26 -26 -27 -28 -27 -26 -8 -7 -7 -6 -5 -5 -6 -7 -7 -6 -5 -5 -6 -6 -7 -8 -8 -8 -7 -6 -4 -2 -1 -1 -1 -1 -1 -3 -4 -3 -3 -3 -3 -3 -4 -4 -3 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -8 -11 -15 -18 -18 -15 -10 -8 -9 -10 -7 -3 -1 -1 -0 0 -1 -1 -1 -1 -0 2 3 2 1 -2 -4 -4 -3 -3 -2 -0 3 4 4 4 2 -5 -13 -19 -21 -18 -16 -15 -12 -7 -1 5 10 13 13 10 8 6 2 -4 -7 -8 -7 -6 -5 -4 -3 -2 -3 -6 -8 -9 -9 -8 -6 -5 -6 -8 -9 -7 -1 4 8 8 3 -3 -4 -2 2 3 -1 -6 -8 -7 -8 -8 -7 -4 -3 -6 -11 -15 -18 -21 -22 -23 -22 -20 -13 -6 -2 -0 -1 -4 -9 -14 -17 -15 -12 -7 -4 -3 -4 -3 -1 2 6 7 6 4 3 2 0 -4 -10 -14 -15 -12 -11 -13 -17 -26 -33 -37 -38 -36 -27 -12 -1 7 10 7 3 0 -2 -5 -8 -11 -12 -10 -6 -4 -5 -7 -9 -10 -8 -6 -4 -3 -1 -1 -3 -5 -7 -9 -11 -13 -14 -13 -14 -17 -19 -20 -21 -20 -18 -16 -12 -10 -10 -10 -11 -14 -16 -18 -17 -12 -5 -5 -10 -15 -17 -17 -14 -11 -9 -8 -9 -8 -8 -10 -12 -13 -16 -19 -21 -21 -21 -23 -24 -24 -23 -19 -15 -13 -14 -16 -18 -18 -19 -19 -21 -22 -21 -21 -22 -25 -25 -23 -21 -19 -20 -23 -27 -28 -25 -21 -19 -19 -19 -20 -22 -22 -21 -21 -23 -23 -22 -22 -21 -20 -19 -20 -21 -22 -21 -20 -19 -18 -18 -17 -18 -19 -20 -21 -22 -21 -21 -22 -24 -24 -21 -18 -16 -15 -16 -16 -17 -17 -18 -19 -19 -18 -17 -18 -19 -21 -23 -24 -24 -22 -21 -21 -21 -22 -23 -25 -26 -26 -25 -24 -24 -25 -25 -25 -26 -27 -26 -26 -26 -26 -25 -25 -25 -24 -24 -23 -22 -23 -23 -24 -23 -22 -22 -22 -23 -24 -27 -26 -26 -26 -24 -23 -24 -25 -26 -25 -22 -20 -20 -21 -21 -22 -23 -24 -25 -24 -23 -23 -25 -27 -27 -27 -26 -27 -28 -27 -26 -7 -7 -6 -5 -6 -7 -8 -7 -6 -5 -5 -6 -7 -8 -8 -8 -7 -6 -5 -3 -1 -0 -1 -1 -2 -2 -2 -4 -4 -4 -4 -3 -3 -4 -4 -4 -3 -2 -1 -1 -2 -3 -2 -2 -3 -5 -6 -8 -11 -15 -17 -17 -14 -9 -6 -7 -7 -6 -4 -2 -2 -0 -0 -1 -1 -2 -2 -1 1 2 2 1 0 -1 -2 -2 -1 -1 1 3 4 6 7 7 1 -8 -17 -23 -22 -23 -22 -21 -16 -8 -2 3 7 11 12 12 11 9 5 0 -4 -6 -7 -5 -3 -1 -1 -0 -2 -4 -6 -9 -10 -9 -7 -7 -8 -10 -13 -12 -6 0 5 5 3 1 -0 2 5 5 -0 -6 -7 -7 -9 -9 -8 -4 -6 -10 -15 -18 -18 -18 -20 -22 -24 -22 -16 -9 -4 -2 -2 -5 -10 -14 -16 -14 -11 -7 -5 -5 -6 -6 -4 -0 3 4 5 4 4 3 -1 -5 -10 -13 -13 -13 -14 -18 -26 -35 -40 -41 -40 -34 -20 -8 0 5 4 3 1 -1 -4 -6 -8 -9 -9 -6 -3 -3 -5 -7 -8 -8 -7 -6 -4 -1 -1 -2 -4 -7 -11 -14 -16 -15 -12 -10 -13 -17 -20 -21 -20 -18 -15 -13 -11 -10 -10 -10 -12 -15 -21 -23 -20 -13 -7 -8 -12 -17 -20 -19 -16 -12 -10 -10 -8 -6 -7 -9 -11 -13 -16 -19 -20 -21 -23 -23 -24 -23 -21 -18 -15 -14 -14 -16 -18 -20 -21 -21 -21 -22 -22 -23 -23 -23 -21 -19 -18 -19 -22 -26 -27 -25 -21 -20 -19 -19 -19 -20 -21 -21 -21 -22 -23 -23 -23 -24 -21 -21 -21 -22 -23 -22 -20 -19 -19 -19 -17 -18 -19 -20 -21 -22 -20 -20 -22 -25 -24 -21 -18 -17 -17 -18 -17 -17 -17 -18 -18 -18 -18 -17 -17 -18 -20 -22 -22 -22 -21 -21 -21 -22 -22 -23 -25 -27 -27 -27 -26 -25 -25 -26 -26 -27 -27 -27 -27 -27 -26 -25 -26 -25 -25 -25 -25 -23 -23 -24 -24 -22 -22 -21 -22 -23 -24 -25 -26 -26 -26 -24 -24 -24 -25 -26 -26 -24 -22 -20 -19 -21 -22 -23 -23 -24 -23 -22 -22 -24 -27 -29 -28 -27 -26 -27 -26 -26 -6 -6 -6 -6 -7 -8 -8 -6 -6 -5 -6 -8 -8 -8 -8 -7 -5 -3 -2 -1 -0 -0 -1 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -3 -2 -1 -1 -2 -2 -2 -2 -4 -5 -7 -10 -12 -15 -16 -14 -12 -10 -8 -8 -7 -6 -5 -4 -3 -1 -0 -0 -0 -0 -0 0 1 1 1 0 -1 -2 -3 -2 -1 -0 1 1 2 4 7 8 6 1 -7 -16 -21 -25 -27 -27 -22 -14 -7 -3 -0 4 7 9 11 12 12 7 3 -1 -5 -5 -2 0 2 2 2 1 -1 -4 -7 -10 -11 -10 -8 -7 -11 -15 -16 -14 -9 -4 1 2 2 1 4 6 3 -2 -6 -5 -7 -9 -9 -7 -7 -11 -17 -21 -20 -17 -17 -18 -22 -24 -21 -16 -11 -6 -4 -3 -5 -9 -13 -13 -12 -10 -7 -5 -6 -7 -8 -6 -3 0 2 3 3 4 3 -0 -4 -8 -12 -14 -16 -18 -25 -35 -42 -46 -47 -41 -26 -13 -4 -0 0 -1 -3 -4 -5 -5 -7 -9 -10 -8 -3 -1 -2 -4 -5 -5 -6 -6 -4 -1 -0 -2 -4 -7 -11 -15 -17 -16 -13 -10 -13 -16 -20 -21 -20 -17 -15 -13 -13 -12 -11 -10 -11 -13 -18 -23 -24 -22 -15 -11 -11 -15 -18 -20 -19 -17 -14 -13 -10 -7 -5 -7 -10 -12 -14 -16 -19 -21 -22 -23 -22 -23 -22 -20 -17 -15 -14 -17 -19 -20 -21 -21 -20 -21 -22 -23 -21 -20 -18 -18 -19 -21 -21 -22 -23 -22 -20 -19 -19 -19 -19 -19 -21 -21 -21 -21 -22 -23 -24 -25 -23 -22 -22 -23 -23 -23 -22 -22 -21 -21 -18 -19 -19 -20 -22 -23 -20 -18 -20 -25 -25 -22 -19 -17 -20 -21 -20 -18 -17 -18 -18 -18 -17 -17 -16 -17 -19 -21 -21 -21 -21 -21 -21 -22 -22 -23 -26 -28 -28 -28 -28 -26 -25 -26 -27 -27 -27 -27 -27 -27 -27 -27 -27 -26 -26 -26 -26 -24 -23 -24 -24 -22 -22 -22 -22 -24 -25 -24 -25 -26 -25 -24 -24 -25 -25 -26 -26 -25 -24 -22 -20 -21 -21 -22 -24 -25 -24 -23 -24 -25 -27 -29 -29 -28 -27 -26 -25 -26 -6 -6 -6 -7 -8 -8 -7 -5 -5 -6 -8 -9 -9 -7 -6 -4 -1 -0 -0 -0 -1 -1 -3 -4 -5 -5 -4 -4 -4 -4 -5 -6 -6 -6 -6 -5 -4 -3 -2 -2 -2 -2 -2 -3 -4 -6 -9 -12 -14 -16 -16 -13 -10 -8 -9 -9 -8 -7 -6 -5 -4 -2 -1 -0 0 1 1 2 2 2 1 1 -0 -2 -3 -2 -1 -0 1 1 1 2 4 7 7 5 1 -6 -12 -19 -25 -28 -26 -17 -11 -8 -7 -5 -3 -0 4 8 12 11 8 4 -1 -4 -2 0 2 3 4 5 5 3 0 -5 -10 -13 -12 -8 -7 -11 -16 -21 -21 -14 -7 -2 -0 -0 2 4 4 0 -4 -5 -5 -5 -8 -10 -8 -10 -16 -24 -24 -19 -15 -14 -17 -21 -21 -19 -15 -12 -9 -7 -7 -7 -10 -11 -12 -11 -9 -6 -5 -7 -8 -9 -7 -4 -1 0 1 3 5 5 2 -2 -8 -13 -16 -19 -23 -32 -39 -45 -47 -41 -28 -17 -8 -4 -3 -5 -7 -8 -8 -7 -8 -11 -14 -13 -7 -2 -1 -2 -3 -2 -2 -3 -3 -1 -0 -2 -4 -6 -10 -14 -16 -15 -13 -12 -14 -16 -19 -21 -20 -18 -14 -11 -10 -10 -9 -10 -11 -13 -17 -22 -26 -26 -20 -15 -13 -14 -16 -19 -20 -19 -16 -15 -14 -10 -6 -5 -8 -11 -13 -15 -17 -20 -22 -23 -23 -21 -21 -20 -18 -17 -15 -17 -19 -20 -20 -20 -20 -20 -21 -22 -21 -19 -17 -18 -20 -21 -21 -21 -21 -21 -19 -18 -18 -18 -19 -19 -20 -21 -22 -21 -21 -22 -23 -25 -24 -23 -24 -24 -24 -23 -25 -27 -26 -24 -20 -19 -20 -22 -24 -25 -22 -17 -17 -23 -24 -22 -19 -18 -20 -20 -19 -18 -17 -18 -18 -17 -17 -17 -16 -17 -19 -21 -20 -21 -20 -20 -21 -22 -23 -24 -26 -28 -28 -28 -29 -28 -25 -26 -27 -27 -28 -28 -28 -27 -27 -27 -27 -26 -26 -26 -26 -24 -24 -24 -23 -22 -22 -22 -23 -25 -25 -24 -25 -26 -25 -25 -25 -25 -24 -25 -26 -26 -25 -23 -21 -21 -21 -21 -23 -24 -23 -23 -25 -25 -26 -28 -29 -28 -27 -26 -25 -25 -6 -5 -6 -8 -8 -8 -6 -5 -6 -8 -9 -9 -7 -4 -2 -1 0 -0 -0 -0 -1 -3 -4 -5 -5 -5 -4 -4 -5 -5 -6 -6 -7 -6 -6 -5 -4 -3 -2 -2 -3 -3 -4 -4 -5 -7 -10 -13 -15 -16 -15 -12 -9 -7 -9 -9 -9 -7 -6 -5 -4 -3 -2 -1 -1 0 1 2 3 3 3 2 1 0 -1 -1 -1 -0 1 0 0 1 2 5 6 6 5 2 -4 -11 -18 -23 -23 -18 -15 -12 -11 -11 -11 -10 -7 -2 4 8 9 7 3 -2 -1 1 2 2 3 5 7 9 9 4 -4 -10 -13 -11 -6 -7 -12 -19 -24 -20 -13 -7 -4 -3 -1 1 3 2 -1 -3 -3 -4 -7 -10 -9 -11 -16 -25 -28 -23 -17 -13 -12 -15 -16 -17 -15 -12 -12 -12 -12 -11 -11 -11 -10 -10 -9 -8 -6 -6 -6 -7 -7 -7 -6 -4 -3 1 5 8 8 4 -2 -8 -14 -18 -21 -26 -31 -37 -41 -37 -29 -19 -11 -6 -4 -5 -7 -10 -10 -10 -11 -14 -19 -20 -15 -10 -6 -5 -4 -1 1 2 0 0 -0 -1 -3 -5 -8 -11 -13 -12 -11 -12 -14 -17 -20 -21 -20 -18 -15 -11 -8 -7 -7 -9 -11 -14 -17 -22 -27 -28 -22 -18 -17 -17 -17 -18 -19 -18 -16 -14 -15 -13 -10 -7 -8 -10 -12 -14 -15 -18 -20 -22 -22 -21 -19 -18 -18 -18 -17 -17 -18 -20 -21 -20 -20 -20 -21 -23 -22 -20 -18 -19 -22 -22 -22 -22 -23 -22 -20 -18 -17 -17 -19 -19 -19 -20 -22 -21 -21 -20 -21 -24 -24 -24 -24 -25 -25 -24 -27 -29 -28 -23 -19 -18 -20 -23 -25 -26 -23 -18 -15 -19 -21 -21 -19 -19 -19 -18 -17 -17 -16 -17 -17 -17 -17 -17 -16 -17 -19 -20 -20 -20 -20 -20 -21 -22 -23 -24 -26 -27 -27 -28 -28 -28 -26 -26 -26 -28 -29 -28 -27 -27 -27 -26 -25 -25 -25 -26 -26 -24 -24 -24 -23 -22 -22 -22 -23 -24 -25 -24 -25 -26 -25 -26 -26 -26 -25 -25 -26 -27 -26 -25 -23 -22 -20 -20 -22 -23 -22 -21 -21 -22 -23 -26 -28 -28 -28 -26 -25 -24 -5 -5 -7 -8 -9 -8 -7 -6 -7 -8 -7 -6 -3 -2 -1 -1 0 0 -0 -1 -3 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -6 -8 -10 -13 -15 -15 -14 -12 -10 -9 -9 -9 -9 -8 -7 -5 -4 -3 -3 -2 -1 -1 0 1 2 3 3 4 3 3 2 1 0 0 0 0 0 0 1 3 4 5 6 5 1 -5 -10 -14 -15 -15 -15 -14 -13 -13 -15 -16 -15 -12 -7 0 5 6 4 -0 -1 1 2 2 1 3 6 11 14 14 7 -2 -9 -11 -8 -7 -9 -14 -19 -18 -14 -10 -7 -6 -4 -2 1 4 3 -0 -2 -4 -6 -9 -9 -12 -16 -25 -29 -27 -21 -15 -11 -12 -12 -13 -13 -13 -12 -13 -13 -13 -14 -14 -13 -11 -9 -8 -7 -5 -3 -3 -5 -7 -8 -7 -6 -3 3 8 12 10 5 -2 -9 -15 -18 -18 -21 -26 -32 -32 -28 -21 -14 -9 -5 -5 -6 -8 -10 -11 -13 -17 -21 -22 -19 -16 -12 -10 -8 -5 -2 -0 -0 0 1 1 -0 -2 -5 -7 -9 -8 -8 -9 -12 -16 -20 -21 -20 -19 -16 -13 -10 -8 -6 -6 -6 -10 -15 -21 -25 -24 -20 -17 -17 -18 -19 -19 -19 -18 -14 -12 -13 -14 -13 -11 -10 -10 -12 -13 -14 -16 -18 -20 -21 -21 -19 -17 -17 -17 -17 -17 -17 -18 -20 -21 -22 -22 -22 -23 -24 -22 -21 -21 -23 -23 -23 -23 -24 -23 -22 -20 -18 -18 -18 -18 -19 -20 -22 -22 -21 -20 -20 -23 -23 -23 -24 -25 -26 -25 -27 -29 -28 -24 -20 -19 -19 -22 -25 -27 -25 -20 -15 -16 -17 -18 -18 -20 -18 -16 -15 -15 -15 -16 -16 -17 -17 -17 -17 -18 -19 -19 -19 -20 -20 -20 -20 -21 -23 -24 -26 -27 -27 -27 -28 -27 -26 -25 -26 -27 -29 -27 -26 -26 -26 -25 -24 -24 -24 -25 -25 -24 -24 -24 -24 -23 -22 -22 -22 -23 -25 -24 -25 -26 -25 -26 -27 -27 -26 -25 -25 -25 -26 -25 -25 -23 -21 -19 -21 -22 -21 -21 -20 -20 -22 -25 -27 -28 -28 -27 -26 -24 -5 -6 -8 -8 -9 -8 -8 -8 -7 -6 -4 -3 -2 -2 -2 -1 -0 -0 -1 -2 -4 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -4 -4 -4 -4 -3 -3 -4 -4 -5 -5 -5 -6 -7 -8 -9 -11 -13 -14 -14 -12 -11 -11 -11 -10 -8 -8 -8 -7 -5 -3 -3 -3 -2 -1 -1 -0 0 1 2 3 3 4 4 4 3 2 2 2 2 1 1 1 3 4 5 6 6 2 -2 -5 -7 -8 -8 -11 -12 -12 -12 -14 -16 -17 -17 -15 -8 -2 2 3 0 -1 -1 1 2 1 0 2 7 13 17 16 9 1 -6 -8 -7 -7 -8 -10 -11 -10 -8 -6 -6 -6 -4 -1 3 4 2 -1 -4 -5 -7 -9 -12 -17 -23 -28 -28 -24 -18 -13 -11 -10 -10 -10 -11 -12 -12 -13 -14 -15 -17 -18 -16 -12 -9 -7 -5 -4 -2 -5 -7 -9 -9 -8 -6 0 7 14 16 12 5 -2 -11 -14 -13 -13 -16 -22 -27 -27 -24 -18 -12 -8 -6 -6 -7 -8 -11 -14 -18 -22 -22 -20 -18 -15 -13 -11 -10 -7 -5 -2 -0 1 1 1 1 0 -2 -4 -5 -4 -5 -8 -13 -17 -19 -20 -19 -19 -18 -16 -13 -9 -5 -3 -6 -11 -17 -21 -20 -17 -16 -17 -19 -20 -20 -20 -19 -16 -13 -13 -13 -13 -14 -13 -12 -12 -12 -12 -14 -16 -18 -20 -20 -18 -17 -16 -16 -16 -17 -16 -16 -18 -20 -22 -22 -22 -23 -24 -24 -25 -24 -23 -23 -24 -24 -25 -25 -25 -24 -22 -21 -19 -19 -19 -20 -21 -22 -23 -22 -22 -22 -22 -22 -23 -24 -25 -25 -27 -29 -28 -25 -24 -22 -20 -21 -25 -27 -26 -22 -17 -15 -16 -17 -18 -18 -17 -16 -16 -15 -15 -16 -16 -17 -17 -17 -18 -19 -19 -18 -18 -19 -20 -20 -20 -21 -22 -24 -25 -26 -27 -27 -27 -26 -27 -27 -27 -26 -28 -27 -26 -26 -26 -24 -24 -23 -23 -23 -24 -24 -24 -24 -24 -24 -23 -22 -22 -22 -25 -25 -24 -25 -25 -25 -26 -26 -26 -25 -25 -25 -25 -26 -27 -25 -22 -20 -20 -20 -21 -21 -21 -20 -23 -25 -26 -27 -29 -29 -27 -26 -6 -7 -8 -8 -9 -9 -9 -7 -5 -4 -3 -3 -3 -3 -2 -1 -0 -1 -2 -4 -5 -5 -5 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -7 -7 -8 -9 -11 -12 -14 -15 -14 -13 -12 -12 -13 -11 -8 -7 -7 -7 -5 -4 -3 -3 -3 -2 -1 -1 -1 -0 0 1 2 3 5 5 5 4 3 3 2 1 1 1 2 3 4 5 5 2 -1 -3 -3 -2 -2 -3 -5 -6 -7 -10 -12 -14 -16 -17 -14 -9 -5 -1 -1 -3 -4 -3 -0 1 -1 -1 0 5 12 17 16 11 3 -3 -6 -5 -3 -2 -4 -4 -4 -3 -4 -5 -6 -4 -2 1 1 -0 -2 -4 -6 -8 -11 -16 -22 -27 -28 -25 -21 -16 -13 -10 -9 -8 -8 -9 -11 -13 -14 -16 -19 -21 -21 -16 -11 -8 -6 -4 -3 -3 -5 -7 -9 -9 -9 -5 2 11 17 19 17 11 0 -9 -13 -13 -13 -14 -21 -26 -26 -22 -15 -11 -9 -8 -7 -7 -10 -15 -19 -21 -21 -19 -18 -16 -14 -13 -11 -10 -9 -6 -5 -5 -5 -4 -1 1 1 -1 -2 -2 -1 -2 -5 -11 -15 -18 -19 -20 -22 -22 -20 -15 -10 -6 -5 -8 -12 -16 -17 -15 -15 -15 -17 -20 -21 -20 -19 -18 -15 -14 -13 -13 -14 -15 -15 -13 -11 -10 -11 -14 -17 -18 -19 -18 -16 -16 -16 -15 -16 -15 -15 -17 -19 -20 -21 -22 -23 -23 -24 -25 -25 -23 -23 -23 -25 -26 -26 -27 -27 -26 -25 -21 -20 -21 -21 -21 -23 -26 -26 -24 -23 -22 -22 -22 -23 -23 -25 -27 -29 -28 -29 -29 -27 -22 -20 -23 -26 -26 -23 -19 -17 -17 -18 -19 -19 -19 -19 -18 -17 -17 -17 -17 -17 -18 -19 -20 -21 -19 -17 -17 -18 -19 -20 -20 -21 -22 -22 -24 -26 -27 -28 -26 -26 -28 -28 -28 -25 -27 -28 -28 -27 -26 -25 -25 -24 -22 -22 -23 -23 -23 -24 -24 -23 -22 -22 -22 -23 -25 -25 -24 -25 -24 -24 -25 -25 -26 -25 -25 -26 -26 -27 -27 -25 -23 -20 -19 -20 -21 -22 -22 -21 -23 -25 -25 -26 -29 -30 -28 -28 -7 -8 -7 -8 -9 -9 -8 -6 -4 -3 -2 -3 -3 -3 -2 -1 -1 -2 -3 -5 -5 -5 -6 -6 -7 -7 -7 -5 -4 -3 -3 -2 -2 -3 -3 -4 -4 -5 -6 -7 -7 -8 -9 -10 -11 -12 -13 -14 -16 -20 -22 -19 -16 -14 -11 -9 -7 -7 -6 -6 -5 -4 -4 -3 -2 -1 -1 -1 -0 -0 1 2 3 4 6 6 6 5 4 3 2 1 1 2 2 2 2 1 -1 -2 -2 -1 -0 -1 -1 0 1 0 -3 -7 -9 -11 -12 -14 -14 -13 -11 -7 -3 -3 -4 -4 -1 0 -1 -2 -1 3 10 15 15 11 4 -0 -1 1 3 3 2 2 1 -0 -2 -4 -5 -7 -5 -2 -0 -0 -2 -5 -7 -10 -14 -19 -25 -27 -25 -22 -18 -15 -12 -9 -7 -6 -7 -8 -11 -13 -16 -20 -23 -24 -21 -15 -11 -8 -6 -3 -2 -1 -3 -6 -9 -10 -9 -4 4 13 19 21 18 12 3 -4 -8 -10 -10 -15 -22 -26 -24 -20 -16 -12 -10 -10 -10 -11 -14 -16 -18 -18 -17 -16 -15 -14 -12 -11 -10 -10 -10 -11 -12 -12 -11 -7 -4 -1 -0 0 0 1 1 -0 -4 -8 -12 -15 -18 -21 -24 -24 -22 -18 -13 -9 -7 -8 -11 -14 -14 -13 -14 -16 -20 -21 -20 -18 -18 -16 -15 -14 -14 -15 -16 -16 -15 -11 -9 -10 -11 -14 -17 -18 -17 -17 -17 -16 -15 -15 -16 -16 -16 -17 -18 -20 -22 -23 -23 -23 -24 -24 -22 -21 -22 -24 -26 -27 -28 -28 -28 -27 -23 -22 -22 -23 -23 -26 -29 -29 -25 -23 -22 -21 -22 -22 -23 -25 -26 -28 -28 -33 -33 -30 -23 -21 -21 -23 -24 -23 -21 -19 -19 -20 -22 -21 -21 -22 -21 -20 -20 -20 -20 -20 -20 -21 -22 -22 -20 -18 -17 -18 -19 -20 -20 -21 -21 -21 -22 -24 -27 -28 -27 -27 -28 -28 -28 -26 -27 -27 -27 -27 -26 -25 -24 -24 -22 -22 -23 -23 -23 -23 -24 -23 -22 -22 -22 -23 -24 -24 -24 -24 -23 -24 -24 -25 -26 -26 -25 -25 -25 -26 -26 -25 -24 -21 -20 -20 -21 -22 -22 -22 -24 -25 -24 -26 -28 -29 -29 -29 -8 -7 -7 -8 -8 -8 -6 -5 -3 -2 -2 -3 -3 -3 -2 -2 -2 -3 -4 -4 -5 -6 -6 -6 -7 -7 -6 -5 -4 -3 -3 -2 -3 -3 -3 -4 -4 -5 -6 -6 -7 -9 -11 -11 -11 -9 -8 -10 -16 -26 -34 -30 -24 -19 -15 -12 -9 -6 -5 -5 -5 -4 -4 -3 -2 -2 -2 -1 -1 -0 0 1 3 5 6 7 7 6 6 5 4 2 1 2 2 1 -1 -4 -6 -6 -4 -3 -2 -2 -2 -1 0 2 1 -3 -6 -7 -8 -11 -14 -18 -19 -16 -8 -3 -2 -5 -4 -1 -0 -1 -1 0 3 7 10 10 7 4 2 3 4 5 6 7 6 5 2 0 -2 -5 -8 -7 -4 -2 -2 -4 -6 -8 -11 -16 -22 -26 -26 -23 -19 -16 -13 -10 -8 -6 -6 -6 -7 -9 -13 -18 -23 -26 -24 -19 -14 -11 -8 -5 -2 1 1 -1 -5 -8 -10 -8 -4 6 14 20 23 21 12 5 -2 -8 -11 -12 -14 -16 -19 -21 -18 -16 -15 -16 -15 -13 -12 -12 -14 -16 -15 -14 -14 -13 -11 -10 -9 -10 -12 -14 -18 -19 -19 -15 -11 -8 -7 -6 -4 -2 -0 1 0 -2 -6 -10 -14 -18 -21 -22 -23 -22 -20 -15 -10 -7 -8 -11 -11 -12 -12 -15 -19 -20 -19 -19 -17 -17 -16 -15 -14 -15 -15 -16 -15 -14 -13 -12 -13 -15 -18 -18 -18 -17 -18 -18 -17 -17 -17 -17 -17 -17 -17 -19 -21 -23 -23 -24 -24 -24 -23 -22 -23 -24 -25 -26 -27 -29 -29 -28 -25 -23 -22 -24 -25 -29 -31 -30 -26 -23 -21 -20 -21 -23 -23 -23 -24 -25 -30 -35 -35 -30 -24 -22 -21 -20 -20 -22 -22 -21 -20 -21 -22 -21 -21 -23 -23 -22 -22 -21 -22 -22 -22 -22 -23 -22 -22 -19 -18 -18 -19 -19 -20 -20 -21 -22 -21 -23 -26 -28 -28 -28 -28 -29 -28 -27 -28 -27 -25 -25 -26 -26 -25 -24 -23 -23 -23 -23 -23 -23 -24 -24 -23 -23 -23 -23 -23 -23 -24 -24 -23 -23 -23 -25 -26 -26 -25 -24 -24 -25 -26 -26 -25 -21 -19 -19 -19 -21 -21 -22 -24 -24 -24 -25 -27 -28 -29 -30 -8 -8 -8 -8 -7 -6 -5 -4 -3 -3 -2 -3 -2 -2 -3 -3 -3 -3 -4 -4 -4 -5 -6 -6 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -5 -5 -6 -8 -10 -11 -10 -9 -6 -6 -8 -14 -24 -37 -39 -33 -24 -18 -14 -10 -7 -5 -5 -5 -4 -4 -3 -2 -2 -2 -2 -1 -1 -0 1 3 5 6 6 7 7 7 6 5 4 2 2 2 1 -2 -6 -10 -9 -8 -6 -5 -4 -4 -3 -3 -1 0 -1 -3 -5 -7 -11 -14 -18 -22 -22 -13 -4 1 -0 -4 -2 0 1 1 -0 -1 0 3 5 4 3 2 2 4 4 6 8 9 8 4 2 -0 -2 -6 -9 -9 -7 -5 -5 -5 -7 -8 -12 -18 -23 -26 -25 -22 -18 -14 -11 -9 -8 -8 -6 -4 -3 -7 -13 -20 -24 -24 -20 -17 -14 -11 -8 -4 -1 2 3 -0 -5 -9 -11 -9 -3 5 14 21 24 18 11 3 -6 -13 -13 -11 -11 -13 -16 -17 -18 -19 -23 -23 -19 -14 -10 -11 -12 -11 -10 -10 -10 -9 -9 -8 -9 -12 -17 -22 -25 -26 -21 -17 -15 -15 -16 -14 -10 -6 -3 -0 -0 -1 -4 -8 -12 -16 -19 -22 -23 -21 -16 -12 -9 -8 -9 -10 -10 -11 -14 -17 -19 -20 -19 -17 -16 -16 -16 -15 -14 -14 -14 -15 -15 -14 -14 -14 -14 -15 -15 -16 -17 -18 -18 -18 -19 -19 -18 -19 -18 -18 -19 -21 -22 -23 -24 -24 -24 -23 -24 -24 -24 -24 -26 -28 -29 -30 -29 -26 -24 -23 -24 -27 -31 -32 -29 -26 -23 -21 -21 -21 -22 -23 -22 -23 -26 -30 -34 -34 -30 -27 -25 -21 -18 -17 -20 -22 -22 -21 -21 -20 -20 -21 -23 -24 -23 -22 -21 -22 -21 -22 -22 -22 -22 -22 -21 -19 -18 -19 -19 -19 -20 -21 -22 -21 -22 -24 -26 -28 -28 -29 -30 -29 -29 -29 -28 -25 -24 -25 -25 -25 -25 -24 -23 -24 -24 -23 -23 -23 -24 -24 -24 -24 -23 -23 -23 -23 -23 -23 -23 -23 -23 -25 -25 -25 -24 -24 -25 -26 -26 -25 -21 -19 -18 -18 -20 -20 -22 -23 -24 -24 -25 -26 -27 -29 -29 -8 -8 -8 -7 -6 -5 -5 -4 -4 -3 -3 -3 -2 -2 -2 -3 -3 -3 -3 -3 -4 -5 -5 -5 -4 -4 -3 -3 -3 -4 -4 -3 -3 -3 -4 -4 -4 -5 -6 -7 -8 -9 -9 -8 -7 -6 -6 -7 -10 -16 -27 -35 -33 -25 -16 -12 -10 -8 -5 -5 -5 -5 -4 -3 -2 -2 -2 -2 -2 -1 -0 1 2 4 5 6 6 6 6 7 6 5 3 2 2 1 -1 -4 -9 -10 -9 -8 -7 -5 -4 -4 -5 -5 -3 -3 -3 -5 -8 -12 -15 -18 -21 -21 -16 -7 0 4 0 -0 1 3 3 2 -1 -1 -1 1 1 1 1 1 3 3 4 6 8 8 6 3 -0 -2 -5 -9 -11 -11 -8 -5 -5 -6 -7 -10 -14 -19 -23 -25 -23 -19 -16 -13 -11 -10 -11 -10 -8 -4 -3 -6 -12 -17 -20 -19 -18 -16 -13 -10 -7 -4 1 5 4 -0 -5 -10 -12 -10 -4 4 13 18 16 13 7 -1 -10 -13 -12 -10 -9 -10 -13 -16 -20 -25 -29 -26 -20 -15 -12 -11 -9 -7 -5 -6 -6 -6 -7 -8 -12 -19 -25 -28 -29 -24 -20 -19 -21 -22 -20 -16 -10 -6 -4 -2 -2 -2 -4 -7 -12 -17 -21 -22 -20 -17 -13 -10 -9 -9 -9 -9 -10 -13 -17 -19 -20 -20 -17 -16 -15 -16 -15 -13 -12 -13 -14 -14 -15 -15 -15 -13 -13 -14 -15 -17 -19 -19 -18 -19 -20 -21 -21 -20 -19 -19 -20 -21 -23 -24 -24 -25 -24 -25 -26 -25 -25 -26 -28 -29 -29 -30 -28 -26 -26 -28 -29 -31 -32 -28 -24 -23 -23 -23 -23 -22 -23 -24 -24 -26 -30 -32 -34 -34 -31 -28 -23 -18 -15 -17 -20 -22 -23 -22 -21 -20 -21 -24 -24 -23 -22 -22 -23 -21 -20 -20 -21 -22 -22 -22 -20 -19 -18 -19 -19 -20 -20 -21 -21 -21 -22 -23 -27 -28 -29 -30 -29 -29 -30 -28 -25 -24 -25 -24 -24 -25 -24 -24 -25 -25 -23 -23 -23 -23 -24 -24 -24 -24 -23 -23 -23 -23 -24 -24 -23 -23 -23 -24 -25 -24 -25 -26 -27 -27 -25 -23 -20 -18 -18 -20 -21 -22 -23 -23 -24 -24 -25 -26 -27 -27 -9 -9 -8 -7 -6 -5 -5 -5 -5 -4 -4 -3 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -5 -4 -3 -3 -3 -3 -3 -4 -4 -4 -3 -4 -4 -4 -5 -5 -6 -7 -8 -7 -6 -6 -6 -7 -6 -6 -6 -7 -12 -20 -22 -18 -11 -10 -9 -7 -5 -4 -5 -5 -4 -4 -3 -3 -3 -2 -2 -1 -1 1 2 3 4 5 5 6 6 6 6 6 4 2 0 -0 -1 -3 -6 -8 -9 -8 -7 -6 -4 -4 -5 -7 -7 -6 -6 -7 -10 -13 -16 -18 -19 -20 -18 -13 -6 1 2 2 3 4 4 3 1 -0 -1 0 0 0 1 2 3 4 4 5 7 8 7 4 0 -4 -7 -10 -12 -13 -10 -6 -5 -6 -7 -8 -11 -15 -18 -21 -21 -19 -17 -15 -14 -14 -14 -14 -14 -12 -10 -7 -7 -9 -13 -16 -17 -16 -14 -11 -9 -7 -3 3 7 5 0 -6 -12 -14 -11 -5 0 4 8 9 8 4 -4 -10 -12 -12 -10 -9 -10 -13 -17 -21 -26 -25 -22 -19 -17 -15 -12 -8 -6 -5 -5 -5 -4 -6 -12 -19 -25 -28 -27 -23 -20 -20 -21 -21 -20 -16 -11 -7 -6 -6 -5 -4 -2 -3 -7 -13 -17 -19 -19 -17 -15 -12 -10 -9 -9 -10 -11 -14 -17 -18 -19 -19 -17 -16 -16 -17 -15 -14 -12 -12 -13 -14 -16 -16 -15 -13 -13 -13 -15 -16 -18 -18 -17 -18 -20 -21 -22 -21 -21 -20 -20 -20 -22 -24 -24 -25 -26 -27 -27 -26 -27 -28 -29 -29 -29 -30 -29 -28 -29 -32 -32 -31 -29 -25 -23 -24 -25 -26 -24 -23 -24 -25 -25 -26 -30 -32 -33 -34 -33 -30 -25 -19 -15 -15 -18 -21 -23 -24 -24 -23 -22 -23 -24 -22 -22 -23 -24 -21 -20 -20 -21 -21 -22 -23 -22 -20 -19 -18 -19 -19 -20 -21 -22 -22 -22 -22 -27 -29 -29 -28 -26 -27 -28 -28 -26 -25 -25 -24 -24 -25 -25 -25 -25 -24 -23 -23 -22 -23 -24 -24 -24 -23 -23 -24 -24 -24 -24 -24 -24 -23 -24 -24 -25 -24 -25 -26 -27 -27 -26 -25 -23 -21 -20 -20 -22 -23 -23 -23 -24 -24 -24 -25 -25 -25 -9 -9 -7 -6 -6 -6 -6 -6 -5 -5 -4 -2 -2 -3 -4 -4 -4 -3 -3 -3 -4 -4 -3 -2 -2 -2 -3 -3 -3 -4 -4 -4 -3 -4 -4 -4 -5 -6 -7 -7 -7 -5 -4 -4 -6 -7 -8 -7 -6 -5 -6 -10 -12 -10 -8 -9 -8 -6 -4 -3 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 0 1 2 2 3 4 4 5 6 7 7 6 2 -1 -2 -2 -2 -5 -7 -8 -7 -6 -5 -3 -3 -4 -7 -10 -10 -10 -11 -11 -13 -15 -17 -20 -22 -22 -19 -14 -6 -1 1 3 4 4 2 1 -0 -0 1 1 2 3 3 4 5 5 5 6 8 8 6 2 -3 -8 -12 -14 -15 -13 -9 -7 -7 -8 -9 -10 -11 -13 -16 -18 -18 -17 -16 -16 -16 -16 -16 -16 -16 -15 -12 -9 -7 -10 -13 -15 -15 -14 -11 -9 -9 -7 -2 4 7 5 -1 -8 -12 -14 -12 -10 -7 -3 2 5 6 1 -5 -10 -13 -13 -11 -10 -11 -14 -16 -20 -21 -20 -19 -18 -16 -13 -10 -7 -6 -5 -5 -4 -5 -11 -18 -24 -28 -28 -24 -21 -19 -19 -18 -17 -14 -11 -6 -6 -7 -8 -7 -4 -2 -5 -9 -13 -14 -15 -15 -15 -14 -13 -10 -9 -8 -10 -14 -17 -18 -18 -18 -18 -17 -17 -18 -17 -16 -14 -13 -13 -15 -16 -16 -15 -13 -12 -13 -14 -15 -18 -18 -18 -19 -20 -22 -22 -23 -24 -23 -20 -20 -22 -24 -24 -24 -27 -28 -29 -26 -27 -28 -29 -30 -30 -30 -30 -29 -30 -33 -32 -31 -29 -28 -26 -26 -27 -30 -27 -24 -24 -25 -26 -27 -30 -31 -31 -33 -33 -30 -26 -21 -16 -15 -16 -19 -22 -25 -27 -25 -23 -23 -23 -22 -22 -23 -23 -21 -19 -19 -21 -21 -24 -25 -25 -23 -21 -20 -19 -20 -21 -23 -24 -24 -22 -22 -25 -28 -29 -27 -24 -25 -27 -27 -26 -26 -25 -24 -24 -24 -25 -25 -25 -24 -24 -23 -23 -23 -23 -23 -23 -23 -24 -25 -24 -23 -23 -24 -24 -24 -24 -24 -24 -24 -25 -26 -27 -27 -27 -27 -25 -24 -22 -21 -22 -23 -24 -24 -24 -24 -24 -24 -23 -24 -9 -8 -7 -6 -6 -7 -7 -7 -6 -5 -3 -3 -3 -3 -4 -4 -4 -3 -3 -4 -4 -3 -2 -1 -1 -2 -3 -4 -4 -5 -4 -3 -3 -3 -4 -4 -5 -6 -7 -7 -6 -5 -5 -6 -6 -8 -9 -10 -10 -10 -10 -12 -12 -11 -10 -9 -8 -6 -4 -3 -3 -3 -4 -4 -4 -4 -4 -3 -2 -1 -0 -0 -0 -0 0 1 1 2 3 5 6 7 7 4 1 -1 -3 -4 -7 -9 -8 -7 -5 -4 -3 -2 -4 -8 -10 -12 -12 -12 -12 -11 -11 -14 -18 -22 -23 -22 -19 -13 -6 -2 0 1 1 0 -1 -2 -2 -0 2 3 4 5 5 6 6 6 6 8 9 9 6 1 -6 -11 -16 -18 -17 -12 -10 -10 -11 -11 -10 -9 -9 -10 -14 -16 -16 -15 -15 -15 -15 -16 -17 -17 -17 -15 -12 -9 -9 -11 -13 -14 -13 -9 -8 -9 -9 -7 -1 4 5 2 -2 -6 -10 -12 -12 -11 -10 -7 -3 0 1 -2 -6 -11 -13 -12 -12 -12 -12 -12 -15 -16 -16 -16 -16 -15 -13 -10 -7 -6 -6 -5 -6 -7 -11 -17 -23 -28 -30 -28 -24 -21 -18 -17 -17 -17 -14 -8 -5 -5 -6 -7 -7 -5 -5 -7 -8 -9 -10 -12 -14 -16 -17 -14 -11 -8 -8 -12 -15 -17 -17 -16 -17 -18 -19 -20 -20 -18 -16 -14 -13 -14 -16 -17 -15 -12 -12 -12 -14 -15 -17 -19 -19 -18 -19 -21 -22 -24 -27 -27 -23 -21 -22 -25 -25 -24 -25 -27 -28 -26 -26 -26 -27 -29 -29 -30 -30 -30 -31 -33 -32 -30 -28 -31 -31 -28 -27 -30 -27 -25 -25 -26 -27 -27 -29 -30 -30 -32 -33 -32 -28 -23 -17 -15 -15 -16 -19 -24 -26 -25 -24 -22 -22 -23 -23 -23 -22 -21 -21 -20 -21 -22 -24 -26 -27 -26 -24 -22 -20 -20 -22 -24 -26 -26 -24 -22 -24 -26 -27 -26 -24 -25 -26 -26 -24 -25 -24 -24 -25 -24 -24 -24 -25 -25 -25 -24 -23 -23 -23 -23 -23 -23 -24 -24 -24 -23 -22 -23 -24 -23 -23 -24 -24 -25 -25 -25 -26 -27 -27 -27 -27 -26 -24 -23 -23 -24 -25 -24 -23 -23 -23 -23 -22 -22 -9 -8 -7 -7 -7 -8 -8 -7 -5 -4 -3 -3 -3 -4 -4 -4 -4 -3 -4 -4 -4 -2 -1 -0 -0 -1 -3 -5 -6 -6 -6 -4 -3 -3 -3 -4 -5 -6 -7 -6 -6 -7 -8 -9 -9 -10 -11 -12 -13 -13 -12 -13 -14 -14 -14 -11 -8 -5 -4 -4 -3 -3 -3 -4 -4 -3 -3 -3 -2 -1 -0 0 -0 -1 -1 -1 -2 -1 0 3 5 6 7 6 3 1 -2 -5 -9 -12 -11 -9 -5 -2 -1 -2 -5 -9 -11 -11 -11 -11 -10 -10 -10 -13 -18 -24 -26 -25 -21 -15 -9 -6 -3 -1 -0 -1 -2 -4 -4 -3 -0 3 5 5 5 6 6 7 7 8 9 10 10 7 1 -6 -13 -18 -19 -16 -14 -14 -14 -13 -11 -9 -7 -7 -10 -13 -14 -13 -12 -12 -13 -15 -17 -19 -20 -19 -16 -12 -10 -11 -12 -12 -11 -8 -7 -8 -9 -8 -4 -1 1 2 1 -3 -8 -10 -11 -11 -11 -9 -7 -7 -7 -7 -8 -10 -12 -12 -12 -13 -13 -11 -12 -13 -13 -13 -14 -14 -12 -10 -8 -6 -6 -6 -6 -9 -13 -17 -21 -26 -30 -30 -28 -24 -19 -18 -20 -21 -21 -15 -10 -8 -6 -6 -7 -8 -8 -7 -6 -6 -7 -9 -12 -16 -19 -18 -14 -10 -8 -10 -14 -16 -16 -15 -16 -17 -19 -20 -20 -19 -18 -15 -12 -13 -15 -17 -17 -13 -11 -12 -14 -15 -17 -18 -18 -18 -18 -20 -22 -25 -27 -28 -25 -23 -22 -23 -23 -23 -24 -24 -25 -25 -23 -23 -24 -26 -27 -29 -29 -29 -30 -32 -30 -28 -26 -30 -30 -29 -27 -27 -27 -26 -27 -29 -30 -27 -27 -28 -29 -32 -34 -33 -30 -24 -19 -15 -13 -13 -18 -22 -23 -23 -23 -23 -22 -23 -23 -22 -21 -22 -22 -21 -21 -22 -24 -26 -27 -27 -26 -24 -22 -20 -22 -24 -25 -25 -25 -23 -23 -24 -26 -25 -23 -24 -26 -25 -24 -24 -23 -24 -25 -24 -23 -23 -24 -25 -26 -25 -24 -23 -23 -23 -24 -24 -24 -24 -23 -23 -22 -22 -23 -23 -23 -23 -24 -25 -24 -24 -26 -27 -28 -28 -27 -26 -26 -25 -24 -24 -26 -25 -23 -23 -24 -24 -22 -21 -9 -8 -8 -8 -8 -8 -8 -7 -5 -3 -2 -3 -3 -4 -4 -5 -5 -4 -3 -3 -3 -2 -1 -0 -0 -1 -3 -5 -6 -6 -6 -6 -4 -3 -3 -4 -5 -6 -6 -5 -6 -8 -10 -11 -11 -10 -10 -10 -9 -10 -11 -14 -16 -16 -16 -12 -9 -7 -6 -4 -3 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 -0 -1 -1 -2 -2 -3 -2 -1 2 4 5 5 3 2 -0 -3 -8 -12 -14 -13 -10 -4 -2 -2 -6 -9 -11 -12 -11 -11 -10 -10 -10 -12 -15 -19 -23 -25 -23 -18 -11 -7 -5 -4 -4 -3 -3 -4 -4 -3 -2 0 3 5 6 6 6 6 6 7 9 11 11 11 8 2 -5 -12 -17 -18 -18 -18 -17 -15 -13 -11 -8 -6 -8 -10 -11 -11 -9 -8 -10 -13 -17 -20 -22 -23 -21 -16 -12 -11 -11 -11 -10 -7 -6 -6 -8 -8 -5 -4 -2 -1 -1 -3 -6 -8 -8 -8 -9 -9 -8 -8 -9 -11 -13 -13 -12 -11 -12 -14 -15 -13 -12 -12 -13 -14 -14 -14 -13 -12 -9 -7 -6 -6 -6 -10 -15 -18 -20 -23 -27 -29 -27 -23 -19 -18 -21 -24 -24 -21 -15 -12 -10 -8 -7 -9 -10 -10 -8 -7 -8 -8 -10 -14 -20 -20 -18 -13 -9 -10 -13 -15 -16 -15 -15 -16 -18 -20 -20 -19 -19 -18 -14 -13 -15 -18 -19 -16 -13 -12 -14 -16 -17 -17 -17 -17 -17 -18 -22 -24 -26 -26 -24 -23 -22 -22 -22 -23 -22 -22 -22 -21 -20 -20 -21 -22 -24 -26 -28 -28 -29 -30 -28 -25 -24 -27 -27 -27 -27 -26 -26 -26 -27 -28 -29 -27 -27 -27 -28 -30 -32 -32 -30 -26 -21 -17 -13 -11 -15 -20 -21 -19 -19 -22 -22 -23 -23 -22 -23 -23 -23 -22 -21 -22 -23 -25 -26 -27 -27 -25 -23 -22 -23 -23 -23 -23 -24 -24 -23 -23 -26 -25 -23 -24 -25 -26 -25 -25 -24 -25 -24 -24 -23 -23 -23 -23 -25 -25 -24 -24 -24 -24 -24 -24 -24 -24 -24 -23 -23 -23 -24 -23 -23 -23 -24 -24 -24 -24 -25 -27 -28 -28 -27 -26 -27 -26 -25 -24 -27 -26 -24 -23 -25 -24 -23 -21 -9 -8 -8 -9 -9 -9 -8 -6 -4 -3 -3 -3 -4 -4 -5 -5 -4 -3 -3 -2 -2 -2 -2 -1 -1 -2 -4 -5 -5 -4 -4 -5 -4 -3 -3 -4 -4 -5 -5 -6 -7 -8 -9 -9 -9 -9 -9 -8 -8 -9 -10 -12 -14 -15 -15 -14 -13 -11 -9 -5 -4 -3 -2 -1 -1 -1 -0 0 0 -1 -2 -2 -2 -2 -1 -1 -2 -3 -3 -2 -1 -0 1 2 1 0 -0 -1 -3 -8 -13 -16 -15 -9 -4 -3 -5 -8 -9 -11 -11 -12 -10 -10 -11 -12 -12 -14 -18 -21 -21 -18 -13 -8 -5 -4 -4 -5 -5 -5 -3 -3 -3 -3 -0 3 5 6 6 6 6 6 7 9 12 13 13 10 5 -1 -8 -14 -17 -19 -18 -15 -14 -13 -12 -8 -7 -8 -9 -9 -7 -6 -7 -9 -12 -18 -23 -26 -24 -19 -14 -12 -11 -11 -10 -7 -5 -5 -6 -7 -6 -5 -5 -4 -5 -5 -6 -7 -7 -7 -7 -8 -8 -8 -8 -10 -12 -13 -13 -13 -13 -14 -15 -14 -13 -13 -13 -13 -13 -14 -15 -15 -12 -10 -8 -7 -7 -10 -16 -19 -21 -22 -23 -24 -23 -20 -17 -18 -21 -25 -26 -24 -18 -14 -11 -11 -10 -10 -11 -12 -11 -11 -10 -9 -9 -13 -18 -21 -20 -16 -11 -12 -13 -15 -15 -15 -14 -15 -17 -19 -18 -19 -20 -20 -16 -15 -16 -19 -20 -19 -16 -14 -14 -15 -16 -16 -17 -18 -18 -18 -21 -23 -25 -25 -23 -21 -21 -21 -22 -21 -21 -21 -20 -18 -17 -18 -19 -20 -22 -24 -25 -25 -27 -27 -25 -24 -25 -25 -25 -25 -27 -26 -26 -26 -26 -27 -26 -26 -26 -27 -28 -28 -28 -28 -28 -27 -24 -20 -15 -11 -12 -17 -19 -19 -17 -20 -22 -23 -23 -22 -24 -24 -24 -23 -22 -22 -23 -24 -24 -26 -27 -26 -24 -23 -24 -23 -22 -21 -23 -23 -22 -23 -25 -24 -23 -24 -26 -26 -25 -25 -25 -25 -24 -24 -24 -24 -23 -22 -23 -23 -24 -24 -24 -24 -24 -25 -25 -25 -24 -23 -23 -24 -24 -24 -23 -23 -24 -24 -24 -24 -25 -27 -27 -27 -26 -25 -27 -27 -26 -24 -26 -26 -25 -24 -25 -25 -23 -22 -9 -9 -9 -9 -9 -9 -8 -6 -4 -4 -3 -3 -4 -5 -5 -4 -3 -3 -2 -1 -1 -2 -3 -2 -2 -3 -5 -5 -5 -5 -5 -5 -3 -3 -3 -4 -5 -5 -5 -6 -6 -6 -7 -7 -7 -8 -8 -7 -7 -7 -7 -8 -10 -12 -14 -15 -16 -15 -12 -7 -5 -4 -3 -1 -1 -1 -0 -0 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -1 -0 -2 -8 -13 -15 -11 -7 -6 -6 -6 -7 -9 -11 -12 -12 -11 -11 -12 -12 -12 -14 -16 -18 -18 -14 -10 -6 -4 -4 -5 -5 -4 -3 -2 -3 -4 -3 -1 2 4 5 5 5 4 4 6 9 11 12 11 9 5 1 -5 -10 -13 -14 -13 -14 -15 -16 -15 -12 -9 -6 -4 -3 -1 -2 -5 -8 -13 -19 -22 -23 -20 -18 -15 -12 -10 -10 -8 -5 -3 -3 -5 -6 -6 -6 -6 -7 -7 -7 -7 -8 -8 -7 -7 -8 -7 -7 -7 -8 -8 -9 -11 -12 -13 -14 -15 -15 -15 -14 -14 -15 -16 -16 -16 -15 -14 -12 -11 -9 -11 -15 -19 -21 -21 -21 -20 -18 -17 -16 -18 -21 -24 -27 -27 -21 -15 -12 -13 -13 -12 -11 -11 -11 -11 -11 -11 -10 -12 -16 -18 -18 -16 -13 -13 -13 -14 -15 -15 -14 -14 -16 -17 -17 -17 -19 -20 -17 -15 -16 -19 -19 -19 -17 -16 -14 -14 -16 -17 -18 -20 -19 -19 -20 -22 -24 -24 -22 -20 -20 -21 -21 -20 -20 -21 -21 -19 -18 -19 -21 -21 -24 -25 -26 -26 -24 -24 -23 -24 -25 -24 -23 -23 -25 -26 -26 -27 -26 -26 -25 -24 -25 -26 -27 -27 -26 -26 -26 -28 -27 -24 -19 -14 -11 -14 -18 -21 -19 -22 -24 -23 -22 -22 -24 -24 -24 -24 -22 -22 -22 -22 -23 -25 -25 -25 -25 -23 -23 -22 -22 -21 -23 -22 -22 -22 -22 -22 -23 -25 -26 -26 -26 -26 -25 -25 -23 -24 -24 -24 -22 -22 -21 -22 -23 -24 -24 -23 -23 -24 -26 -26 -25 -23 -23 -23 -24 -24 -23 -24 -24 -24 -23 -24 -25 -26 -26 -26 -25 -25 -27 -28 -27 -24 -25 -26 -25 -24 -24 -24 -24 -23 -9 -9 -9 -9 -9 -9 -7 -6 -5 -4 -4 -4 -4 -5 -5 -4 -3 -3 -3 -3 -2 -3 -4 -3 -3 -4 -4 -4 -5 -5 -5 -5 -4 -4 -5 -6 -7 -7 -7 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -9 -11 -13 -14 -15 -13 -9 -7 -6 -4 -2 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -1 -1 -2 -3 -6 -6 -5 -4 -3 -2 -1 -3 -7 -11 -10 -9 -9 -8 -7 -7 -8 -11 -13 -13 -12 -11 -11 -11 -10 -11 -13 -15 -16 -15 -11 -8 -6 -4 -4 -4 -3 -2 -2 -3 -4 -4 -3 -1 2 3 3 4 2 1 2 3 6 8 9 10 9 7 4 -1 -7 -11 -12 -13 -16 -19 -21 -19 -14 -9 -5 -3 1 2 1 -3 -5 -9 -13 -17 -20 -20 -17 -13 -10 -10 -8 -5 -2 -0 -2 -4 -5 -4 -4 -6 -7 -7 -8 -9 -9 -9 -8 -8 -7 -6 -6 -5 -4 -5 -8 -11 -13 -13 -15 -17 -18 -18 -16 -16 -17 -17 -17 -16 -15 -15 -15 -14 -15 -17 -19 -21 -21 -19 -18 -17 -17 -16 -18 -20 -23 -27 -27 -23 -18 -14 -14 -14 -13 -11 -10 -10 -11 -11 -11 -12 -13 -14 -15 -15 -15 -14 -14 -15 -15 -15 -15 -14 -14 -14 -14 -14 -15 -17 -18 -16 -15 -16 -17 -17 -18 -18 -17 -16 -15 -17 -19 -21 -21 -20 -20 -20 -20 -22 -23 -22 -20 -19 -20 -19 -20 -20 -22 -22 -21 -20 -20 -20 -22 -25 -27 -28 -26 -21 -20 -21 -22 -21 -21 -21 -22 -24 -25 -27 -27 -27 -26 -25 -24 -24 -24 -26 -27 -27 -27 -27 -29 -30 -28 -24 -18 -12 -12 -17 -23 -23 -25 -25 -25 -22 -22 -23 -24 -24 -23 -22 -21 -21 -21 -23 -24 -25 -25 -24 -23 -21 -21 -21 -23 -24 -24 -24 -23 -21 -22 -23 -25 -26 -26 -27 -26 -26 -25 -24 -24 -24 -23 -22 -21 -21 -22 -23 -24 -23 -22 -23 -24 -25 -25 -25 -24 -23 -23 -23 -23 -23 -23 -23 -23 -23 -24 -24 -25 -25 -24 -24 -24 -26 -28 -27 -25 -24 -24 -24 -23 -23 -23 -23 -22 -9 -9 -9 -9 -9 -8 -7 -6 -4 -4 -3 -4 -4 -5 -6 -5 -5 -4 -4 -5 -5 -5 -6 -6 -6 -6 -5 -4 -3 -2 -2 -2 -5 -7 -7 -6 -8 -9 -9 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -6 -7 -8 -10 -11 -12 -11 -9 -8 -7 -6 -3 -1 -1 -1 -3 -4 -3 -2 -2 -2 -3 -3 -3 -2 -2 -2 -2 -1 -2 -3 -5 -7 -6 -6 -5 -5 -3 -2 -3 -7 -9 -10 -10 -10 -10 -8 -9 -11 -13 -13 -12 -11 -10 -9 -9 -10 -12 -14 -15 -14 -12 -10 -8 -7 -5 -3 -2 -1 -1 -1 -2 -4 -4 -2 -1 1 2 2 1 -0 -2 -2 -1 1 4 6 8 10 8 4 -1 -6 -10 -12 -15 -19 -23 -22 -18 -14 -11 -9 -6 -2 0 0 -2 -3 -6 -11 -16 -20 -19 -15 -11 -9 -7 -3 1 3 1 -2 -2 -1 -1 -2 -4 -6 -8 -9 -10 -10 -10 -11 -10 -8 -7 -6 -4 -3 -6 -9 -11 -12 -14 -16 -19 -20 -19 -17 -17 -18 -18 -17 -16 -15 -15 -16 -17 -17 -19 -20 -21 -21 -21 -20 -19 -17 -18 -20 -23 -26 -26 -24 -21 -17 -15 -15 -13 -11 -10 -10 -11 -11 -11 -12 -13 -15 -15 -15 -15 -15 -15 -16 -17 -16 -15 -14 -13 -13 -11 -12 -15 -17 -17 -15 -14 -15 -16 -15 -16 -17 -18 -18 -17 -18 -20 -21 -21 -20 -20 -19 -19 -19 -21 -21 -20 -19 -18 -18 -19 -20 -21 -22 -22 -22 -21 -19 -21 -24 -27 -29 -27 -21 -19 -20 -20 -21 -21 -21 -21 -23 -24 -26 -27 -27 -26 -25 -25 -24 -24 -25 -27 -28 -29 -29 -31 -32 -32 -29 -24 -17 -12 -14 -22 -25 -26 -27 -26 -24 -22 -23 -23 -23 -23 -22 -21 -20 -21 -24 -25 -25 -24 -24 -23 -21 -20 -21 -24 -24 -25 -26 -24 -22 -22 -23 -24 -25 -26 -26 -26 -25 -25 -25 -25 -25 -24 -23 -21 -21 -22 -23 -23 -22 -21 -22 -23 -24 -24 -24 -25 -24 -24 -23 -23 -23 -22 -22 -22 -22 -22 -23 -23 -23 -22 -23 -23 -25 -27 -27 -25 -24 -23 -22 -21 -22 -22 -22 -22 -8 -8 -9 -10 -9 -8 -6 -5 -4 -3 -3 -4 -4 -5 -6 -6 -5 -4 -4 -4 -5 -6 -9 -9 -9 -8 -6 -4 -2 0 1 -2 -8 -11 -9 -7 -7 -9 -8 -7 -7 -6 -5 -5 -5 -6 -6 -5 -5 -6 -6 -5 -5 -6 -6 -8 -9 -9 -8 -7 -7 -7 -7 -5 -2 -1 -1 -3 -5 -5 -3 -2 -2 -2 -2 -2 -1 -1 -1 -2 -3 -3 -3 -3 -5 -8 -9 -8 -8 -7 -5 -4 -5 -8 -10 -11 -12 -13 -11 -11 -12 -12 -11 -11 -10 -9 -8 -7 -9 -12 -15 -16 -14 -11 -10 -11 -11 -8 -4 -0 1 2 2 0 -1 -2 -2 -2 -1 0 0 -0 -1 -3 -5 -7 -6 -4 -1 4 7 8 6 2 -2 -7 -11 -15 -18 -21 -19 -17 -15 -14 -16 -15 -12 -7 -3 -1 -1 -2 -6 -13 -18 -19 -17 -13 -10 -7 -4 -1 3 3 1 0 0 1 -1 -2 -4 -7 -10 -10 -10 -10 -12 -13 -12 -12 -11 -8 -5 -5 -6 -9 -11 -12 -15 -18 -20 -20 -18 -17 -17 -18 -17 -16 -14 -13 -14 -15 -17 -19 -21 -23 -24 -24 -23 -22 -21 -20 -20 -22 -25 -25 -23 -22 -20 -16 -15 -13 -12 -11 -11 -11 -11 -12 -12 -13 -14 -15 -16 -16 -16 -17 -17 -18 -17 -16 -15 -13 -11 -10 -12 -14 -16 -15 -14 -14 -14 -14 -14 -15 -17 -19 -19 -18 -18 -19 -20 -20 -21 -20 -19 -19 -19 -20 -20 -19 -18 -17 -17 -17 -18 -20 -21 -22 -22 -21 -19 -20 -22 -25 -27 -25 -21 -20 -21 -22 -23 -23 -22 -21 -22 -23 -24 -25 -25 -25 -26 -26 -27 -26 -24 -25 -27 -28 -30 -31 -32 -33 -33 -30 -23 -16 -13 -17 -23 -25 -27 -27 -25 -23 -22 -22 -22 -22 -23 -22 -21 -22 -23 -24 -24 -24 -25 -24 -22 -20 -21 -24 -24 -25 -26 -25 -23 -22 -22 -24 -25 -26 -26 -26 -25 -26 -26 -26 -25 -24 -24 -22 -21 -21 -22 -22 -21 -20 -20 -22 -23 -24 -24 -25 -25 -24 -24 -23 -23 -22 -22 -22 -22 -22 -22 -22 -21 -21 -22 -23 -24 -25 -26 -25 -24 -23 -22 -20 -22 -22 -22 -22 -8 -9 -9 -9 -8 -7 -5 -3 -3 -3 -4 -4 -4 -5 -6 -6 -6 -4 -3 -3 -4 -6 -10 -11 -10 -9 -7 -4 -1 1 0 -4 -10 -12 -11 -8 -7 -7 -6 -6 -7 -7 -5 -4 -5 -7 -9 -8 -6 -5 -5 -5 -5 -5 -6 -8 -9 -9 -8 -7 -6 -6 -5 -5 -5 -3 -2 -3 -3 -4 -4 -4 -4 -4 -4 -3 -2 -1 -0 -1 -1 -2 -2 0 -0 -4 -8 -12 -14 -13 -10 -7 -8 -11 -13 -14 -14 -16 -16 -14 -11 -9 -8 -8 -9 -8 -6 -5 -8 -12 -16 -18 -15 -11 -9 -11 -15 -13 -7 -1 2 4 4 3 2 1 0 -1 -1 -1 -1 -0 -1 -2 -5 -8 -11 -11 -9 -5 1 3 3 2 -1 -6 -10 -14 -16 -17 -16 -14 -13 -14 -17 -19 -18 -14 -9 -4 -1 -2 -5 -10 -15 -17 -17 -14 -11 -7 -4 -2 1 3 3 3 3 4 3 1 -1 -4 -7 -10 -11 -11 -13 -15 -16 -16 -15 -13 -9 -7 -6 -7 -9 -11 -13 -15 -18 -19 -18 -17 -17 -17 -16 -15 -13 -12 -11 -13 -16 -19 -23 -26 -27 -27 -27 -27 -24 -22 -20 -20 -21 -20 -18 -18 -19 -17 -14 -13 -13 -13 -12 -12 -12 -12 -13 -13 -14 -15 -16 -17 -17 -18 -18 -18 -17 -17 -16 -14 -12 -10 -11 -13 -14 -13 -13 -13 -13 -14 -15 -16 -17 -19 -19 -17 -17 -17 -19 -20 -20 -19 -19 -20 -20 -20 -20 -19 -18 -17 -16 -16 -17 -19 -20 -21 -22 -22 -20 -20 -22 -24 -26 -23 -21 -21 -21 -23 -23 -23 -23 -22 -21 -22 -23 -23 -24 -24 -26 -28 -30 -29 -25 -25 -25 -27 -28 -29 -31 -34 -35 -33 -29 -23 -16 -12 -19 -23 -26 -28 -27 -25 -23 -21 -21 -22 -22 -22 -21 -23 -23 -23 -23 -23 -24 -24 -23 -22 -21 -23 -24 -25 -25 -24 -23 -22 -22 -23 -24 -25 -26 -26 -25 -26 -26 -26 -25 -24 -25 -23 -21 -19 -20 -20 -20 -19 -19 -21 -23 -24 -24 -25 -26 -25 -24 -24 -22 -22 -22 -22 -22 -22 -22 -22 -21 -20 -21 -22 -23 -24 -25 -25 -25 -24 -23 -22 -22 -22 -21 -20 -8 -9 -9 -9 -7 -5 -3 -2 -2 -4 -4 -5 -5 -5 -5 -6 -6 -5 -4 -3 -4 -5 -8 -9 -9 -8 -7 -4 -1 -0 -2 -7 -9 -9 -9 -10 -10 -9 -6 -4 -4 -4 -2 -2 -3 -6 -10 -10 -8 -5 -4 -5 -5 -5 -5 -7 -9 -9 -8 -7 -6 -5 -5 -5 -5 -5 -5 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -3 -1 1 2 1 1 0 -2 -7 -13 -15 -13 -10 -11 -14 -17 -18 -19 -21 -22 -19 -14 -8 -3 -3 -4 -5 -6 -4 -7 -11 -15 -19 -17 -13 -11 -12 -17 -16 -12 -5 1 4 5 4 4 4 4 2 1 -1 -1 -0 0 -0 -3 -7 -11 -13 -13 -11 -6 -4 -2 -2 -3 -6 -9 -12 -13 -14 -14 -13 -13 -13 -15 -18 -19 -18 -14 -8 -4 -3 -5 -10 -14 -15 -15 -14 -12 -8 -6 -4 -2 1 4 5 7 9 8 5 3 -1 -6 -11 -14 -14 -14 -15 -16 -17 -18 -16 -12 -9 -7 -7 -7 -9 -10 -11 -13 -16 -17 -17 -17 -17 -16 -15 -14 -12 -11 -12 -15 -19 -24 -28 -31 -31 -30 -30 -29 -26 -21 -16 -13 -11 -10 -11 -14 -17 -16 -15 -15 -15 -14 -13 -13 -14 -16 -16 -15 -16 -17 -18 -18 -18 -18 -18 -17 -17 -16 -15 -12 -10 -10 -11 -12 -12 -14 -14 -15 -15 -16 -16 -16 -18 -18 -17 -16 -17 -18 -20 -19 -19 -19 -20 -20 -19 -19 -18 -18 -17 -16 -15 -16 -19 -20 -21 -21 -21 -20 -20 -22 -25 -24 -21 -20 -21 -22 -23 -23 -24 -24 -24 -21 -21 -22 -23 -25 -24 -26 -28 -30 -30 -27 -26 -26 -27 -26 -27 -30 -34 -36 -34 -32 -27 -20 -13 -18 -22 -25 -27 -28 -27 -25 -22 -21 -23 -23 -22 -22 -23 -24 -24 -24 -23 -24 -25 -25 -23 -22 -22 -23 -25 -25 -23 -23 -22 -22 -23 -22 -23 -25 -25 -24 -26 -26 -26 -25 -23 -24 -23 -21 -18 -18 -19 -19 -19 -19 -20 -22 -24 -24 -26 -26 -25 -24 -24 -23 -22 -22 -22 -21 -21 -22 -21 -20 -20 -20 -20 -21 -22 -24 -26 -26 -25 -23 -22 -22 -22 -21 -20 -8 -9 -9 -8 -6 -4 -2 -2 -3 -4 -4 -5 -5 -6 -6 -6 -6 -5 -4 -3 -3 -3 -5 -5 -6 -6 -6 -4 -1 -2 -5 -6 -6 -5 -7 -10 -11 -8 -5 -2 -1 -3 -3 -2 -3 -5 -7 -7 -6 -5 -5 -6 -7 -7 -6 -7 -8 -8 -7 -6 -5 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -8 -8 -8 -8 -9 -9 -10 -9 -6 -3 -1 -0 -1 -1 -2 -3 -7 -9 -9 -9 -11 -14 -18 -21 -23 -25 -27 -26 -23 -16 -7 -0 2 1 -3 -4 -6 -9 -14 -18 -17 -15 -13 -15 -18 -17 -15 -10 -3 2 4 4 4 4 4 3 3 2 1 1 1 1 -0 -3 -8 -10 -12 -11 -9 -7 -6 -6 -7 -8 -9 -10 -11 -11 -12 -13 -14 -13 -13 -15 -17 -18 -16 -11 -7 -4 -6 -11 -14 -15 -14 -13 -13 -9 -7 -5 -5 -2 1 5 8 11 11 9 6 2 -4 -11 -16 -17 -16 -15 -15 -16 -16 -15 -12 -10 -7 -6 -5 -6 -7 -9 -12 -14 -15 -16 -16 -17 -16 -16 -15 -15 -14 -14 -16 -21 -25 -30 -33 -33 -31 -30 -31 -29 -23 -14 -11 -11 -10 -8 -8 -14 -16 -16 -15 -15 -14 -14 -14 -15 -17 -18 -18 -17 -18 -18 -17 -17 -18 -19 -18 -17 -17 -15 -13 -11 -11 -12 -11 -12 -14 -15 -15 -15 -15 -15 -16 -17 -19 -20 -19 -19 -19 -20 -19 -18 -18 -19 -19 -19 -18 -18 -18 -18 -17 -16 -17 -19 -20 -21 -21 -21 -20 -20 -22 -24 -22 -21 -21 -21 -22 -23 -23 -24 -25 -24 -23 -22 -22 -23 -25 -25 -25 -26 -28 -30 -29 -29 -29 -31 -27 -27 -30 -34 -35 -34 -33 -29 -22 -16 -17 -20 -23 -25 -27 -28 -27 -25 -23 -23 -24 -24 -23 -23 -24 -24 -24 -24 -24 -25 -25 -25 -23 -22 -23 -24 -24 -22 -23 -23 -23 -22 -20 -21 -23 -24 -24 -25 -26 -26 -25 -23 -23 -22 -21 -18 -17 -17 -18 -18 -18 -20 -22 -24 -25 -26 -25 -24 -24 -23 -23 -22 -22 -22 -21 -21 -22 -21 -20 -20 -20 -20 -19 -21 -24 -26 -27 -26 -23 -23 -22 -22 -22 -20 -7 -8 -8 -7 -5 -3 -2 -2 -3 -3 -3 -4 -6 -9 -9 -7 -6 -4 -3 -3 -2 -2 -3 -3 -3 -3 -3 -2 -2 -3 -5 -6 -4 -5 -6 -7 -7 -4 -4 -4 -3 -3 -2 -2 -3 -5 -5 -4 -3 -4 -5 -7 -9 -10 -9 -7 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -8 -8 -9 -10 -11 -10 -8 -5 -3 -3 -5 -5 -5 -5 -5 -5 -5 -8 -12 -17 -22 -26 -28 -29 -30 -29 -25 -18 -5 3 5 2 -2 -4 -8 -12 -16 -16 -15 -16 -17 -18 -18 -16 -13 -7 -1 2 4 4 4 3 3 3 3 3 3 3 3 2 -0 -3 -6 -8 -9 -10 -9 -8 -7 -7 -8 -10 -10 -10 -10 -12 -13 -15 -15 -14 -14 -15 -16 -17 -14 -10 -8 -7 -10 -14 -15 -14 -13 -12 -10 -8 -6 -6 -5 -3 1 5 9 11 10 7 3 -3 -10 -15 -18 -18 -16 -15 -14 -14 -14 -13 -11 -9 -7 -6 -6 -6 -7 -9 -11 -11 -12 -13 -15 -15 -15 -15 -16 -18 -20 -22 -26 -28 -31 -32 -33 -31 -29 -31 -30 -25 -17 -14 -14 -11 -6 -2 -6 -10 -14 -15 -15 -15 -15 -15 -16 -18 -18 -18 -18 -18 -18 -17 -17 -18 -18 -18 -18 -17 -16 -14 -13 -13 -13 -11 -11 -13 -15 -16 -16 -16 -16 -16 -18 -20 -20 -21 -21 -21 -22 -21 -19 -18 -18 -19 -19 -19 -18 -19 -20 -20 -19 -19 -20 -21 -21 -21 -21 -21 -21 -22 -22 -20 -21 -22 -22 -23 -23 -24 -25 -25 -24 -23 -23 -23 -24 -25 -25 -25 -25 -25 -28 -28 -29 -30 -32 -29 -28 -31 -34 -34 -34 -33 -31 -25 -19 -17 -17 -19 -22 -24 -27 -28 -27 -24 -24 -24 -25 -25 -23 -24 -24 -24 -23 -24 -25 -25 -25 -24 -23 -23 -23 -22 -22 -23 -23 -23 -22 -20 -20 -21 -23 -23 -25 -26 -26 -26 -24 -23 -22 -22 -19 -16 -16 -16 -17 -19 -20 -22 -24 -25 -25 -24 -24 -24 -24 -24 -23 -23 -22 -21 -21 -21 -21 -20 -20 -21 -21 -19 -20 -22 -26 -28 -27 -23 -23 -22 -22 -21 -20 -7 -8 -8 -6 -3 -2 -2 -2 -3 -2 -2 -4 -7 -10 -9 -7 -5 -4 -3 -3 -3 -4 -4 -3 -3 -3 -3 -3 -3 -4 -5 -6 -5 -5 -5 -5 -4 -3 -4 -4 -4 -2 -2 -2 -4 -5 -4 -3 -3 -3 -5 -7 -9 -9 -9 -8 -8 -8 -7 -6 -5 -5 -5 -5 -6 -6 -6 -6 -5 -4 -5 -5 -6 -6 -6 -6 -6 -6 -7 -9 -10 -10 -9 -7 -6 -7 -8 -8 -7 -5 -3 -2 -3 -7 -13 -19 -25 -28 -28 -29 -30 -30 -27 -15 -4 3 4 0 -3 -7 -11 -13 -13 -14 -16 -18 -17 -17 -16 -14 -10 -4 0 2 3 3 3 2 2 1 2 2 3 3 3 2 -0 -2 -3 -4 -7 -8 -8 -7 -7 -7 -8 -9 -10 -11 -11 -13 -14 -14 -14 -14 -14 -14 -14 -14 -12 -10 -9 -9 -11 -13 -13 -13 -13 -11 -9 -7 -6 -7 -6 -5 -2 3 7 9 7 3 -1 -7 -12 -16 -18 -17 -16 -15 -14 -14 -13 -12 -10 -8 -7 -5 -4 -5 -8 -10 -10 -10 -10 -12 -13 -13 -13 -16 -21 -27 -32 -35 -34 -32 -32 -32 -32 -30 -29 -27 -24 -20 -18 -16 -13 -8 -4 -4 -6 -9 -14 -15 -16 -16 -16 -17 -19 -18 -18 -18 -18 -19 -19 -19 -19 -16 -18 -18 -17 -16 -16 -15 -14 -14 -12 -10 -12 -14 -16 -18 -18 -18 -18 -17 -18 -19 -20 -21 -22 -23 -22 -21 -19 -18 -19 -20 -20 -20 -20 -21 -22 -22 -21 -21 -21 -21 -21 -22 -21 -21 -21 -21 -21 -23 -24 -23 -23 -23 -25 -26 -26 -24 -24 -23 -24 -24 -25 -25 -25 -25 -25 -26 -27 -27 -28 -29 -29 -30 -32 -33 -34 -33 -33 -31 -27 -23 -17 -14 -14 -19 -23 -27 -30 -29 -26 -25 -25 -25 -25 -24 -24 -24 -22 -22 -23 -24 -25 -25 -23 -23 -23 -23 -23 -23 -23 -23 -23 -21 -20 -20 -21 -21 -22 -24 -26 -26 -25 -23 -23 -22 -22 -19 -16 -15 -15 -16 -18 -20 -21 -23 -25 -24 -24 -24 -24 -24 -24 -25 -24 -22 -21 -20 -20 -20 -20 -21 -21 -21 -19 -18 -21 -25 -28 -28 -24 -23 -22 -22 -20 -19 -7 -7 -6 -4 -2 -2 -2 -2 -2 -1 -2 -4 -8 -11 -9 -7 -5 -4 -4 -4 -5 -6 -6 -5 -4 -4 -4 -5 -5 -4 -5 -5 -6 -5 -4 -4 -3 -3 -3 -3 -3 -2 -1 -2 -4 -5 -4 -4 -3 -4 -4 -5 -7 -9 -9 -8 -8 -8 -7 -6 -5 -5 -5 -5 -6 -6 -6 -5 -5 -4 -4 -5 -5 -4 -4 -3 -3 -3 -4 -5 -8 -9 -10 -9 -8 -8 -9 -9 -9 -7 -4 -1 0 -2 -7 -15 -21 -26 -25 -24 -25 -27 -29 -24 -14 -5 0 -1 -3 -7 -10 -10 -10 -12 -15 -16 -15 -15 -15 -14 -12 -7 -3 0 2 2 2 1 0 -1 -1 -0 0 1 2 2 1 0 -0 -1 -4 -6 -7 -6 -5 -5 -6 -8 -9 -10 -11 -12 -13 -13 -12 -12 -12 -13 -13 -13 -13 -12 -10 -9 -10 -12 -13 -14 -14 -13 -11 -9 -7 -7 -7 -8 -7 -3 2 5 5 3 0 -4 -8 -12 -14 -15 -16 -16 -16 -14 -13 -12 -10 -9 -8 -5 -4 -4 -6 -8 -9 -9 -9 -11 -11 -12 -14 -17 -24 -31 -37 -41 -40 -35 -32 -31 -30 -28 -24 -21 -20 -21 -20 -17 -14 -12 -12 -9 -7 -8 -12 -14 -15 -16 -17 -18 -19 -18 -17 -17 -18 -20 -21 -20 -17 -14 -18 -18 -17 -16 -15 -14 -14 -14 -13 -11 -12 -13 -16 -18 -20 -20 -19 -18 -18 -20 -21 -22 -22 -23 -22 -22 -20 -19 -20 -21 -21 -20 -20 -20 -22 -23 -22 -21 -21 -21 -21 -22 -21 -20 -20 -21 -22 -23 -25 -25 -25 -26 -26 -27 -27 -25 -24 -23 -24 -24 -25 -25 -26 -26 -25 -26 -26 -26 -27 -27 -29 -31 -32 -32 -32 -32 -32 -31 -28 -25 -19 -14 -12 -17 -21 -26 -30 -30 -27 -26 -25 -25 -24 -24 -24 -23 -22 -23 -24 -24 -25 -25 -24 -23 -23 -24 -23 -23 -23 -23 -23 -22 -22 -21 -21 -21 -21 -24 -25 -25 -23 -22 -22 -22 -21 -19 -17 -15 -14 -15 -17 -19 -21 -22 -24 -24 -24 -24 -24 -23 -24 -24 -24 -22 -21 -20 -21 -21 -20 -20 -21 -21 -19 -18 -20 -23 -27 -28 -25 -23 -22 -21 -20 -19 -7 -6 -5 -3 -2 -2 -2 -2 -1 -2 -4 -6 -8 -10 -9 -7 -5 -3 -3 -5 -8 -9 -8 -6 -5 -5 -5 -5 -5 -4 -4 -5 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -4 -5 -5 -5 -5 -3 -0 -2 -7 -10 -10 -9 -9 -8 -7 -6 -6 -5 -5 -5 -6 -6 -6 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -5 -6 -6 -7 -7 -7 -7 -8 -8 -8 -6 -3 -0 1 -3 -9 -16 -21 -20 -18 -17 -19 -24 -26 -22 -16 -9 -5 -5 -7 -10 -11 -10 -11 -12 -14 -13 -13 -13 -13 -13 -10 -6 -3 -1 0 1 0 -0 -1 -2 -3 -3 -3 -2 -1 -1 -1 0 1 -1 -3 -4 -5 -4 -4 -4 -6 -7 -9 -10 -11 -12 -11 -10 -10 -11 -12 -12 -12 -12 -12 -12 -10 -10 -10 -12 -14 -14 -14 -14 -13 -10 -8 -7 -8 -8 -5 -2 1 2 2 -0 -4 -7 -9 -9 -10 -12 -14 -15 -14 -13 -12 -10 -9 -9 -6 -4 -3 -4 -6 -8 -9 -8 -9 -11 -12 -15 -19 -25 -32 -38 -42 -41 -38 -33 -29 -26 -25 -22 -21 -20 -21 -20 -18 -16 -15 -14 -13 -11 -10 -10 -12 -14 -16 -17 -18 -17 -15 -14 -15 -18 -19 -20 -19 -15 -14 -17 -18 -17 -16 -14 -13 -13 -13 -13 -13 -13 -14 -16 -17 -19 -20 -20 -19 -19 -21 -22 -23 -23 -23 -23 -22 -20 -19 -20 -20 -20 -20 -19 -19 -21 -23 -23 -22 -21 -20 -20 -21 -20 -20 -20 -21 -22 -24 -26 -28 -29 -29 -28 -27 -28 -26 -25 -24 -24 -23 -24 -25 -26 -26 -25 -26 -26 -26 -27 -28 -29 -30 -30 -30 -30 -31 -31 -29 -27 -25 -22 -17 -15 -16 -20 -24 -28 -29 -27 -27 -26 -25 -23 -23 -24 -24 -24 -24 -25 -25 -25 -25 -24 -23 -23 -24 -24 -23 -23 -23 -23 -23 -23 -22 -22 -22 -22 -23 -24 -23 -22 -21 -21 -21 -20 -19 -17 -16 -14 -14 -16 -18 -20 -22 -22 -23 -23 -23 -22 -22 -22 -23 -23 -21 -20 -20 -21 -21 -20 -20 -19 -20 -18 -17 -18 -21 -25 -26 -24 -22 -21 -21 -20 -20 -6 -5 -4 -3 -3 -3 -2 -2 -1 -2 -5 -7 -9 -9 -9 -7 -4 -2 -3 -7 -11 -13 -11 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -4 -3 -2 -2 -2 -1 -1 -3 -4 -5 -6 -6 -5 -2 1 -0 -6 -10 -10 -10 -10 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -2 0 -1 -6 -12 -17 -16 -14 -12 -12 -16 -23 -26 -24 -19 -13 -9 -9 -12 -14 -11 -9 -9 -11 -12 -12 -12 -12 -12 -10 -8 -5 -4 -3 -2 -1 -1 -1 -1 -3 -4 -5 -6 -5 -4 -3 -1 -0 -1 -1 -2 -3 -4 -3 -3 -3 -4 -6 -8 -9 -10 -10 -9 -9 -10 -11 -12 -12 -12 -12 -13 -11 -10 -9 -10 -12 -13 -14 -15 -15 -14 -11 -9 -8 -7 -6 -4 -2 -1 -3 -6 -7 -8 -7 -6 -6 -7 -10 -12 -13 -14 -13 -11 -10 -10 -8 -5 -3 -3 -5 -6 -7 -6 -7 -9 -12 -16 -21 -27 -32 -36 -39 -39 -39 -35 -30 -23 -22 -21 -21 -20 -20 -19 -18 -17 -16 -14 -14 -13 -12 -10 -12 -14 -16 -18 -19 -16 -13 -12 -14 -17 -18 -19 -18 -15 -17 -18 -18 -17 -16 -15 -14 -13 -14 -14 -14 -15 -16 -16 -16 -18 -20 -20 -20 -20 -21 -23 -23 -24 -24 -24 -22 -20 -19 -19 -19 -19 -18 -18 -19 -21 -22 -22 -22 -20 -19 -18 -18 -19 -20 -21 -21 -22 -24 -27 -30 -31 -31 -29 -27 -27 -26 -24 -24 -24 -23 -23 -24 -25 -25 -24 -25 -26 -27 -27 -29 -29 -28 -27 -28 -29 -30 -30 -29 -27 -26 -25 -22 -19 -17 -20 -23 -25 -27 -28 -28 -27 -24 -24 -24 -24 -25 -25 -25 -25 -25 -25 -25 -25 -24 -24 -24 -24 -23 -23 -22 -22 -22 -22 -23 -23 -23 -22 -22 -23 -22 -21 -20 -21 -21 -20 -19 -18 -16 -15 -14 -15 -17 -19 -20 -22 -22 -22 -21 -21 -21 -21 -22 -22 -20 -19 -20 -21 -21 -20 -19 -19 -19 -18 -17 -17 -19 -22 -23 -23 -22 -21 -20 -19 -20 -6 -5 -4 -3 -3 -3 -2 -2 -1 -3 -5 -7 -9 -8 -8 -5 -2 -1 -3 -7 -12 -14 -12 -7 -5 -4 -5 -5 -3 -3 -3 -4 -4 -5 -6 -6 -4 -2 -2 -2 -1 -0 -1 -3 -5 -6 -8 -8 -5 -1 1 -2 -5 -7 -9 -10 -10 -9 -8 -7 -6 -6 -5 -5 -5 -5 -4 -4 -3 -2 -2 -2 -3 -3 -4 -4 -3 -4 -5 -6 -6 -5 -5 -4 -4 -3 -2 -0 1 1 -0 -1 -0 1 -1 -5 -10 -14 -14 -12 -11 -10 -11 -14 -19 -23 -23 -18 -14 -13 -14 -16 -15 -11 -9 -9 -11 -11 -10 -10 -11 -11 -9 -8 -7 -6 -4 -3 -2 -1 -1 -2 -3 -5 -7 -7 -6 -4 -3 -2 -3 -3 -2 -3 -3 -2 -2 -2 -3 -3 -5 -7 -8 -8 -7 -8 -9 -10 -11 -11 -11 -11 -12 -12 -11 -10 -10 -11 -12 -13 -14 -15 -16 -15 -13 -11 -8 -7 -7 -6 -4 -4 -5 -6 -6 -5 -4 -4 -6 -7 -9 -12 -13 -13 -12 -12 -11 -9 -6 -5 -4 -4 -4 -4 -4 -5 -7 -10 -15 -21 -27 -32 -35 -37 -38 -39 -38 -33 -25 -21 -19 -19 -18 -18 -18 -18 -17 -16 -15 -15 -14 -13 -12 -12 -13 -15 -17 -19 -17 -13 -11 -12 -15 -16 -17 -16 -15 -17 -18 -18 -17 -16 -16 -15 -15 -16 -16 -15 -15 -16 -13 -15 -18 -20 -20 -19 -19 -20 -22 -23 -23 -24 -25 -23 -21 -20 -20 -19 -18 -17 -17 -19 -20 -21 -21 -20 -19 -17 -15 -15 -17 -19 -22 -22 -22 -24 -27 -29 -31 -31 -30 -28 -25 -24 -23 -23 -22 -22 -22 -23 -24 -24 -23 -23 -25 -28 -27 -27 -26 -25 -24 -26 -27 -28 -29 -29 -26 -25 -25 -23 -20 -18 -20 -22 -22 -25 -28 -30 -29 -25 -25 -25 -25 -26 -26 -26 -26 -26 -25 -25 -25 -25 -24 -24 -24 -24 -23 -21 -21 -21 -21 -22 -23 -23 -22 -21 -21 -21 -20 -20 -20 -20 -19 -18 -17 -17 -15 -14 -14 -16 -18 -19 -21 -22 -22 -20 -19 -19 -20 -21 -21 -20 -19 -19 -21 -21 -20 -20 -19 -18 -17 -17 -17 -17 -19 -21 -22 -21 -20 -20 -19 -19 -6 -5 -4 -4 -4 -3 -2 -1 -1 -2 -5 -8 -9 -8 -5 -2 -1 -1 -4 -7 -10 -11 -9 -7 -5 -4 -4 -5 -4 -3 -3 -3 -3 -4 -5 -5 -4 -3 -2 -2 -2 -1 -1 -3 -5 -6 -7 -8 -5 -2 -1 -4 -7 -9 -9 -10 -10 -9 -7 -7 -7 -7 -6 -5 -5 -4 -4 -4 -4 -3 -2 -2 -2 -3 -3 -4 -5 -6 -8 -10 -9 -7 -5 -3 -3 -3 -3 -1 1 3 3 4 4 4 1 -3 -8 -11 -11 -11 -10 -11 -12 -13 -15 -16 -16 -16 -16 -15 -15 -16 -16 -13 -11 -9 -10 -11 -10 -10 -10 -10 -9 -8 -7 -7 -6 -5 -4 -3 -2 -2 -3 -4 -5 -6 -6 -6 -5 -5 -7 -7 -6 -4 -3 -2 -2 -3 -3 -3 -3 -4 -6 -7 -6 -6 -8 -10 -11 -11 -11 -11 -11 -12 -12 -12 -11 -10 -10 -12 -13 -15 -16 -17 -16 -14 -12 -10 -10 -9 -8 -5 -4 -4 -4 -4 -3 -4 -5 -6 -7 -10 -11 -11 -10 -9 -9 -9 -8 -7 -5 -4 -2 -1 -0 -2 -4 -7 -11 -17 -24 -30 -35 -38 -39 -40 -39 -35 -27 -20 -17 -16 -17 -16 -17 -18 -18 -17 -16 -15 -16 -16 -15 -14 -13 -14 -15 -18 -18 -15 -13 -10 -11 -13 -15 -16 -17 -18 -19 -19 -18 -17 -16 -16 -16 -16 -17 -16 -16 -16 -14 -14 -16 -17 -17 -17 -17 -19 -20 -21 -22 -24 -25 -24 -23 -22 -21 -20 -19 -17 -18 -19 -20 -22 -21 -19 -16 -13 -11 -12 -15 -19 -22 -23 -23 -24 -26 -28 -29 -30 -30 -28 -26 -24 -24 -24 -23 -22 -22 -23 -23 -23 -22 -22 -24 -27 -25 -24 -24 -23 -22 -23 -24 -25 -27 -29 -26 -24 -23 -22 -19 -19 -20 -21 -21 -24 -28 -30 -29 -26 -26 -26 -26 -26 -26 -26 -26 -25 -25 -25 -25 -25 -24 -23 -24 -24 -23 -22 -21 -21 -20 -21 -23 -23 -22 -21 -21 -20 -20 -19 -19 -19 -19 -18 -17 -17 -16 -15 -14 -15 -17 -18 -20 -21 -21 -20 -18 -18 -19 -20 -21 -20 -18 -17 -19 -20 -21 -20 -20 -18 -18 -17 -17 -15 -17 -19 -20 -20 -20 -19 -19 -19 -5 -5 -5 -5 -5 -3 -1 -0 0 -1 -5 -8 -9 -7 -2 0 -0 -2 -5 -6 -7 -7 -6 -5 -5 -4 -4 -6 -6 -4 -2 -2 -2 -3 -4 -4 -4 -3 -3 -3 -2 -2 -2 -3 -4 -4 -5 -5 -5 -3 -4 -6 -8 -9 -10 -10 -9 -8 -7 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -6 -8 -11 -13 -12 -10 -7 -4 -3 -3 -2 -2 -1 1 4 6 7 8 5 0 -5 -8 -8 -8 -9 -12 -14 -15 -14 -13 -11 -13 -14 -15 -14 -14 -14 -14 -13 -11 -11 -11 -11 -10 -10 -10 -10 -9 -7 -7 -6 -6 -6 -6 -6 -6 -5 -4 -4 -5 -7 -7 -6 -6 -7 -9 -9 -8 -6 -4 -4 -4 -5 -4 -3 -3 -4 -5 -6 -6 -6 -8 -10 -11 -11 -10 -9 -10 -11 -12 -12 -10 -10 -11 -12 -14 -15 -17 -18 -18 -15 -13 -13 -13 -12 -9 -7 -5 -3 -2 -3 -4 -5 -6 -6 -8 -9 -9 -9 -7 -6 -7 -8 -8 -7 -5 -3 -0 1 -0 -3 -5 -7 -12 -19 -27 -34 -38 -40 -40 -38 -34 -26 -20 -16 -16 -17 -17 -17 -18 -19 -19 -18 -16 -15 -14 -14 -13 -12 -13 -13 -14 -16 -17 -16 -10 -6 -8 -12 -16 -20 -20 -20 -19 -18 -17 -16 -16 -15 -15 -16 -16 -16 -16 -15 -14 -14 -14 -15 -16 -18 -19 -20 -20 -21 -23 -25 -26 -26 -25 -24 -22 -20 -19 -19 -19 -21 -23 -22 -19 -15 -13 -11 -12 -14 -17 -20 -22 -22 -23 -24 -25 -27 -28 -29 -28 -27 -26 -24 -23 -24 -24 -24 -24 -25 -25 -25 -24 -23 -24 -23 -24 -23 -23 -22 -21 -21 -22 -25 -28 -27 -25 -24 -23 -20 -20 -20 -20 -21 -23 -25 -26 -27 -27 -26 -25 -25 -25 -25 -25 -25 -24 -24 -24 -24 -24 -23 -23 -23 -24 -24 -24 -23 -21 -20 -20 -21 -22 -22 -21 -21 -21 -20 -20 -20 -19 -19 -19 -18 -18 -17 -16 -15 -14 -16 -17 -19 -20 -21 -20 -18 -17 -17 -19 -21 -21 -18 -16 -17 -19 -20 -20 -19 -18 -18 -18 -17 -15 -16 -18 -19 -19 -19 -19 -20 -20 -5 -5 -6 -6 -6 -3 -1 1 1 -1 -5 -7 -7 -5 -0 0 -1 -4 -5 -6 -5 -5 -5 -4 -3 -3 -3 -5 -5 -3 -1 -1 -1 -2 -4 -4 -4 -3 -3 -3 -3 -2 -1 -1 -1 -2 -3 -5 -5 -6 -6 -7 -8 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -7 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -7 -10 -13 -14 -14 -12 -9 -7 -5 -3 -2 -1 -1 -0 2 5 7 9 7 4 0 -3 -5 -6 -8 -11 -15 -16 -14 -11 -9 -10 -11 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -11 -10 -10 -10 -9 -8 -7 -6 -5 -5 -6 -8 -8 -7 -6 -5 -6 -7 -7 -7 -6 -7 -8 -10 -10 -9 -8 -7 -7 -7 -6 -5 -5 -5 -6 -6 -6 -6 -7 -9 -10 -9 -8 -7 -8 -10 -12 -13 -11 -9 -10 -11 -13 -14 -16 -18 -19 -18 -16 -16 -16 -16 -14 -11 -8 -5 -3 -3 -5 -5 -5 -5 -5 -6 -7 -7 -5 -5 -6 -7 -8 -8 -7 -5 -2 0 -0 -2 -3 -5 -8 -12 -18 -26 -35 -38 -37 -34 -29 -24 -20 -18 -18 -18 -17 -18 -18 -18 -18 -18 -16 -14 -12 -12 -13 -13 -13 -13 -13 -16 -19 -20 -18 -13 -9 -8 -13 -19 -21 -20 -20 -19 -19 -18 -17 -16 -16 -16 -16 -16 -16 -15 -14 -13 -13 -14 -17 -19 -20 -21 -21 -22 -24 -26 -28 -28 -27 -26 -25 -22 -21 -20 -21 -22 -23 -22 -19 -16 -14 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -26 -27 -27 -27 -26 -25 -23 -24 -25 -26 -28 -28 -30 -30 -28 -24 -25 -25 -24 -23 -22 -21 -20 -19 -19 -21 -25 -26 -26 -25 -25 -24 -23 -21 -20 -21 -22 -22 -22 -25 -26 -25 -25 -24 -24 -24 -24 -24 -24 -24 -24 -23 -23 -22 -22 -23 -24 -24 -24 -24 -23 -22 -21 -20 -21 -21 -21 -22 -21 -21 -21 -20 -19 -19 -19 -19 -19 -19 -18 -16 -15 -16 -17 -18 -19 -20 -20 -19 -17 -17 -18 -21 -22 -20 -17 -16 -17 -19 -20 -18 -18 -18 -18 -17 -15 -15 -16 -17 -18 -18 -19 -20 -20 -7 -7 -7 -7 -6 -3 0 1 0 -2 -4 -6 -5 -3 -1 -1 -2 -4 -4 -5 -5 -5 -4 -3 -2 -3 -4 -4 -3 -1 0 0 -1 -3 -4 -5 -5 -4 -3 -3 -2 -1 1 2 1 -1 -4 -5 -6 -7 -7 -7 -9 -10 -10 -9 -9 -8 -8 -8 -9 -9 -8 -7 -6 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -6 -8 -11 -13 -14 -13 -12 -10 -9 -7 -5 -3 -1 -0 1 2 4 5 7 7 6 4 2 -1 -3 -5 -9 -15 -16 -14 -11 -9 -8 -8 -9 -11 -12 -12 -12 -13 -14 -14 -13 -12 -12 -11 -10 -9 -9 -8 -7 -6 -5 -4 -5 -6 -8 -9 -8 -7 -8 -9 -8 -7 -6 -6 -7 -9 -10 -11 -10 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -7 -8 -10 -10 -9 -7 -7 -7 -9 -11 -12 -10 -8 -7 -8 -10 -13 -14 -16 -18 -18 -18 -18 -18 -18 -17 -15 -13 -11 -8 -7 -7 -7 -5 -4 -4 -4 -5 -5 -4 -4 -5 -7 -8 -8 -8 -6 -4 -2 -2 -3 -5 -8 -10 -10 -12 -16 -25 -29 -28 -25 -22 -22 -22 -21 -19 -17 -16 -17 -17 -17 -17 -18 -16 -13 -11 -13 -14 -14 -13 -13 -14 -17 -19 -21 -21 -17 -11 -7 -9 -17 -21 -21 -20 -20 -21 -21 -19 -18 -18 -17 -17 -17 -15 -14 -13 -12 -12 -14 -17 -20 -22 -23 -22 -23 -25 -28 -30 -29 -29 -28 -27 -24 -22 -22 -23 -23 -22 -20 -19 -18 -17 -17 -18 -18 -18 -18 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -25 -24 -24 -24 -26 -28 -30 -30 -33 -33 -31 -28 -27 -26 -25 -23 -20 -19 -19 -19 -18 -19 -21 -23 -24 -25 -28 -28 -26 -23 -20 -21 -22 -21 -20 -22 -23 -23 -24 -23 -24 -24 -23 -23 -24 -25 -25 -24 -23 -23 -22 -22 -23 -24 -24 -24 -24 -23 -22 -21 -20 -21 -22 -23 -22 -21 -21 -19 -19 -19 -19 -19 -20 -20 -19 -18 -17 -16 -16 -17 -18 -19 -19 -19 -18 -16 -17 -20 -22 -22 -18 -15 -16 -18 -20 -18 -18 -18 -18 -17 -15 -15 -16 -17 -17 -18 -19 -19 -19 -8 -9 -9 -7 -5 -2 1 1 -1 -3 -4 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -4 -3 -3 -3 -3 -2 -1 0 0 -1 -3 -5 -5 -5 -5 -4 -2 -1 1 3 3 1 -2 -6 -6 -6 -6 -7 -7 -9 -10 -10 -9 -8 -8 -8 -8 -9 -9 -8 -7 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -5 -7 -9 -12 -14 -13 -11 -10 -9 -9 -8 -7 -5 -3 -0 2 4 5 5 5 4 3 3 3 0 -2 -3 -5 -10 -14 -14 -12 -11 -9 -6 -5 -8 -11 -11 -12 -12 -14 -14 -14 -13 -13 -11 -10 -9 -8 -8 -7 -6 -5 -4 -4 -4 -6 -8 -9 -9 -10 -10 -9 -7 -7 -7 -7 -7 -9 -10 -10 -10 -9 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -11 -12 -11 -9 -7 -7 -8 -11 -13 -12 -9 -7 -5 -6 -9 -12 -14 -16 -17 -18 -19 -19 -19 -19 -18 -17 -15 -14 -14 -12 -11 -9 -7 -5 -3 -3 -3 -3 -3 -4 -6 -8 -8 -8 -8 -6 -5 -4 -5 -7 -11 -13 -13 -13 -13 -15 -16 -16 -16 -16 -19 -21 -21 -17 -14 -13 -13 -14 -16 -16 -16 -15 -14 -12 -14 -14 -13 -13 -14 -15 -17 -19 -21 -22 -19 -14 -9 -9 -15 -18 -19 -20 -21 -22 -22 -21 -20 -20 -20 -19 -17 -14 -13 -13 -13 -12 -14 -18 -21 -24 -25 -25 -26 -27 -29 -31 -31 -30 -29 -28 -25 -25 -24 -24 -23 -21 -20 -19 -19 -19 -19 -20 -20 -20 -19 -17 -15 -16 -19 -20 -21 -22 -23 -26 -25 -25 -25 -27 -27 -27 -29 -31 -31 -33 -34 -32 -29 -27 -26 -24 -22 -19 -18 -18 -18 -18 -18 -19 -21 -22 -25 -30 -31 -29 -26 -22 -22 -22 -21 -20 -21 -21 -21 -22 -23 -25 -25 -24 -24 -24 -26 -26 -25 -25 -24 -23 -22 -22 -24 -24 -24 -24 -23 -23 -21 -21 -22 -23 -23 -23 -22 -21 -19 -18 -18 -19 -19 -20 -20 -20 -18 -18 -17 -16 -16 -17 -17 -18 -19 -19 -16 -17 -19 -21 -21 -18 -14 -14 -17 -19 -19 -18 -18 -18 -16 -15 -15 -16 -18 -18 -18 -18 -18 -18 -9 -10 -10 -8 -5 -1 1 -0 -3 -5 -4 -4 -3 -4 -5 -4 -4 -3 -3 -3 -4 -5 -6 -6 -4 -3 -2 -1 -0 -1 -1 -1 -2 -4 -5 -6 -5 -4 -3 -1 1 3 4 3 0 -3 -6 -7 -6 -6 -7 -8 -9 -9 -9 -9 -8 -7 -8 -8 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -8 -10 -12 -12 -11 -9 -8 -8 -8 -8 -7 -7 -5 -3 0 3 5 6 5 3 1 -1 -1 -2 -2 -2 -0 -3 -7 -10 -11 -12 -11 -7 -5 -5 -8 -10 -11 -11 -12 -14 -14 -14 -13 -12 -11 -9 -8 -8 -8 -7 -6 -5 -5 -4 -5 -6 -7 -9 -11 -11 -9 -7 -7 -6 -6 -6 -7 -9 -9 -9 -9 -7 -7 -7 -7 -7 -6 -6 -6 -7 -9 -12 -14 -14 -12 -9 -8 -8 -10 -12 -14 -11 -8 -4 -3 -5 -8 -11 -14 -16 -17 -18 -19 -21 -23 -24 -23 -19 -15 -15 -15 -15 -15 -13 -9 -6 -4 -3 -2 -2 -3 -4 -6 -7 -7 -7 -7 -7 -8 -8 -10 -12 -14 -16 -16 -14 -12 -10 -10 -12 -14 -16 -18 -18 -15 -10 -9 -10 -12 -14 -15 -15 -14 -13 -12 -13 -12 -12 -13 -15 -16 -18 -20 -21 -20 -18 -15 -14 -14 -15 -15 -16 -18 -21 -21 -21 -21 -22 -21 -21 -19 -17 -14 -16 -17 -16 -15 -17 -20 -23 -25 -27 -27 -28 -29 -30 -31 -32 -31 -29 -28 -27 -27 -26 -24 -24 -21 -20 -19 -19 -19 -20 -20 -20 -21 -20 -17 -15 -14 -17 -19 -20 -21 -23 -27 -27 -27 -28 -31 -30 -29 -29 -30 -31 -32 -31 -30 -27 -24 -23 -22 -21 -19 -18 -18 -18 -18 -18 -19 -20 -22 -24 -29 -31 -31 -28 -25 -24 -23 -21 -21 -21 -21 -21 -22 -23 -25 -26 -25 -25 -24 -25 -26 -26 -25 -25 -24 -23 -21 -23 -23 -23 -23 -23 -23 -23 -22 -23 -24 -23 -23 -21 -20 -19 -18 -18 -18 -19 -19 -20 -19 -18 -18 -16 -16 -16 -17 -17 -18 -18 -18 -17 -18 -19 -20 -20 -18 -15 -14 -15 -17 -18 -18 -17 -16 -16 -16 -16 -17 -18 -18 -18 -18 -18 -18 -10 -11 -10 -7 -3 1 1 -2 -5 -6 -5 -4 -4 -5 -6 -5 -4 -3 -3 -3 -4 -5 -7 -7 -4 -2 -0 0 0 -1 -2 -2 -3 -5 -6 -6 -5 -3 -1 1 4 5 4 1 -2 -5 -6 -7 -7 -7 -7 -8 -8 -8 -7 -7 -6 -6 -7 -8 -8 -8 -7 -5 -4 -4 -4 -4 -4 -5 -5 -5 -6 -7 -9 -10 -10 -10 -10 -8 -8 -8 -8 -8 -8 -6 -4 -2 -1 -1 1 3 5 5 3 -1 -5 -7 -8 -6 -2 1 1 -1 -4 -7 -10 -10 -9 -7 -6 -6 -8 -10 -12 -13 -14 -14 -13 -13 -12 -11 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -8 -10 -10 -8 -6 -5 -5 -5 -5 -6 -7 -7 -8 -8 -7 -6 -6 -6 -7 -6 -6 -6 -7 -8 -12 -14 -15 -15 -12 -10 -9 -9 -11 -13 -12 -9 -6 -4 -3 -3 -5 -9 -12 -14 -16 -19 -22 -26 -28 -28 -24 -19 -15 -14 -14 -15 -14 -12 -10 -9 -7 -5 -3 -2 -2 -3 -4 -5 -6 -7 -9 -11 -13 -13 -13 -15 -17 -17 -15 -12 -10 -11 -14 -17 -17 -17 -16 -15 -12 -9 -8 -10 -12 -13 -12 -11 -10 -9 -10 -12 -13 -15 -16 -17 -19 -20 -21 -17 -14 -15 -19 -20 -18 -15 -14 -15 -17 -19 -20 -20 -21 -22 -22 -21 -20 -18 -20 -21 -21 -19 -19 -21 -23 -26 -28 -29 -30 -30 -31 -32 -32 -31 -30 -29 -28 -28 -27 -25 -24 -22 -20 -19 -19 -20 -21 -21 -21 -21 -20 -19 -16 -14 -17 -19 -21 -21 -22 -27 -28 -29 -30 -32 -31 -29 -29 -29 -30 -29 -26 -24 -21 -20 -20 -21 -21 -19 -19 -18 -17 -18 -19 -19 -20 -22 -23 -27 -30 -32 -31 -28 -26 -24 -23 -22 -22 -21 -21 -22 -24 -25 -26 -26 -25 -25 -25 -26 -26 -25 -25 -25 -24 -23 -22 -22 -22 -22 -24 -23 -23 -22 -22 -23 -23 -22 -21 -20 -19 -19 -18 -18 -19 -19 -19 -19 -18 -18 -16 -16 -16 -17 -17 -17 -18 -18 -18 -18 -18 -20 -21 -19 -16 -14 -14 -15 -17 -17 -16 -16 -16 -16 -17 -18 -18 -18 -18 -19 -19 -18 -12 -12 -9 -4 1 3 -0 -4 -6 -6 -5 -5 -5 -6 -6 -5 -4 -3 -3 -3 -4 -6 -7 -7 -3 -0 1 1 -1 -2 -3 -3 -4 -6 -7 -7 -4 -1 1 3 5 5 2 -1 -5 -6 -6 -6 -8 -9 -8 -7 -7 -6 -6 -5 -5 -6 -7 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -5 -5 -6 -7 -8 -10 -10 -10 -9 -8 -8 -8 -8 -8 -8 -7 -6 -3 -1 0 1 1 1 2 3 2 -2 -8 -13 -13 -9 -4 1 2 1 -2 -5 -9 -10 -9 -7 -6 -5 -7 -9 -12 -14 -14 -13 -12 -11 -11 -10 -9 -8 -8 -8 -8 -8 -8 -10 -11 -11 -10 -9 -7 -7 -7 -6 -5 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -4 -4 -4 -5 -6 -6 -6 -7 -8 -10 -13 -16 -17 -15 -13 -11 -9 -9 -11 -11 -11 -10 -8 -5 -1 -0 -2 -7 -10 -13 -18 -22 -27 -31 -32 -29 -23 -17 -14 -13 -13 -13 -13 -13 -12 -11 -9 -7 -5 -2 -1 -0 -2 -4 -6 -9 -12 -15 -15 -14 -14 -15 -15 -15 -14 -14 -15 -18 -22 -21 -18 -15 -13 -13 -11 -10 -9 -10 -11 -11 -10 -10 -9 -10 -12 -15 -17 -18 -18 -19 -21 -20 -13 -12 -15 -21 -24 -21 -17 -15 -14 -14 -16 -17 -19 -22 -23 -23 -22 -20 -20 -21 -23 -23 -22 -21 -22 -23 -25 -27 -29 -30 -31 -31 -31 -31 -31 -30 -29 -29 -28 -27 -26 -25 -23 -21 -20 -21 -22 -23 -22 -22 -22 -21 -20 -18 -16 -18 -20 -21 -22 -22 -26 -28 -30 -31 -30 -30 -30 -29 -29 -29 -25 -20 -18 -18 -18 -19 -21 -21 -19 -19 -18 -18 -18 -19 -20 -21 -22 -22 -24 -27 -30 -32 -30 -28 -26 -24 -22 -22 -21 -21 -22 -24 -25 -26 -26 -25 -25 -25 -25 -26 -25 -25 -25 -25 -24 -22 -21 -21 -21 -23 -23 -22 -22 -21 -22 -23 -23 -21 -21 -20 -19 -19 -19 -19 -19 -20 -19 -19 -18 -17 -15 -15 -16 -17 -17 -17 -18 -18 -17 -18 -19 -21 -19 -16 -14 -13 -14 -15 -15 -15 -16 -16 -17 -18 -18 -19 -19 -19 -19 -19 -19 -14 -11 -5 1 5 2 -3 -5 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -4 -5 -7 -8 -6 -3 -0 1 -0 -2 -2 -3 -3 -5 -7 -8 -7 -4 0 3 5 5 4 1 -2 -4 -5 -5 -6 -8 -9 -8 -7 -6 -6 -5 -4 -5 -6 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -5 -5 -5 -6 -7 -8 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -5 -4 -3 -1 0 1 2 1 1 1 0 -3 -9 -15 -15 -11 -5 1 3 2 -0 -3 -8 -9 -8 -7 -6 -5 -7 -8 -11 -13 -15 -13 -10 -9 -9 -9 -8 -8 -8 -8 -9 -9 -9 -10 -12 -14 -14 -12 -9 -8 -7 -6 -5 -4 -4 -4 -4 -5 -5 -5 -4 -3 -3 -3 -2 -2 -3 -5 -6 -6 -6 -6 -8 -11 -15 -17 -16 -15 -13 -11 -9 -9 -10 -12 -13 -13 -10 -5 -1 0 -2 -5 -9 -14 -20 -26 -31 -33 -32 -28 -22 -17 -14 -13 -13 -13 -12 -12 -11 -11 -10 -9 -9 -8 -4 -3 -3 -5 -7 -11 -14 -14 -12 -11 -11 -12 -15 -16 -17 -19 -22 -24 -22 -19 -15 -12 -11 -11 -10 -10 -11 -12 -11 -10 -8 -9 -10 -12 -14 -19 -21 -21 -21 -21 -19 -14 -13 -16 -21 -25 -23 -21 -19 -18 -15 -14 -15 -17 -20 -21 -22 -22 -21 -21 -23 -24 -25 -24 -23 -23 -23 -24 -26 -27 -29 -30 -31 -30 -29 -28 -28 -28 -29 -29 -28 -28 -26 -24 -22 -21 -22 -23 -24 -24 -23 -23 -23 -21 -19 -18 -19 -19 -20 -21 -22 -25 -28 -30 -30 -26 -26 -28 -29 -29 -28 -23 -18 -16 -16 -17 -20 -21 -22 -20 -19 -19 -19 -19 -19 -20 -22 -23 -23 -22 -24 -27 -31 -31 -30 -29 -25 -22 -21 -21 -21 -22 -23 -24 -25 -26 -25 -25 -25 -25 -25 -25 -25 -24 -24 -23 -23 -22 -21 -20 -21 -22 -22 -21 -21 -22 -22 -22 -22 -22 -20 -19 -19 -19 -19 -19 -19 -19 -19 -18 -17 -16 -15 -15 -16 -16 -16 -17 -17 -16 -16 -19 -20 -18 -16 -15 -14 -14 -14 -15 -14 -16 -16 -17 -18 -19 -19 -20 -20 -20 -20 -20 -14 -8 0 5 4 -2 -5 -6 -6 -6 -7 -6 -6 -6 -6 -6 -5 -3 -2 -3 -5 -7 -8 -6 -4 -2 -1 -1 -2 -3 -3 -4 -5 -7 -8 -6 -3 1 4 5 4 2 -1 -3 -5 -5 -5 -6 -8 -8 -8 -7 -6 -6 -5 -5 -6 -6 -7 -7 -6 -5 -4 -3 -3 -4 -4 -5 -5 -6 -6 -6 -7 -7 -7 -6 -6 -7 -7 -6 -6 -6 -6 -6 -4 -3 -2 -2 -1 1 2 2 1 -0 -2 -5 -10 -15 -16 -13 -8 -1 3 3 1 -2 -7 -8 -7 -6 -5 -5 -7 -8 -10 -12 -14 -13 -11 -8 -7 -7 -7 -7 -7 -7 -8 -8 -9 -10 -12 -14 -15 -13 -10 -8 -7 -6 -5 -4 -4 -4 -5 -6 -7 -6 -5 -3 -2 -2 -2 -2 -2 -4 -5 -6 -6 -5 -6 -9 -13 -16 -16 -16 -15 -14 -11 -9 -9 -11 -13 -15 -15 -13 -9 -4 -2 -2 -4 -8 -14 -20 -26 -29 -31 -31 -27 -21 -15 -11 -12 -12 -12 -12 -11 -11 -10 -10 -11 -13 -12 -9 -6 -3 -4 -7 -9 -9 -8 -8 -9 -11 -15 -19 -20 -21 -22 -22 -21 -18 -15 -11 -8 -8 -9 -10 -11 -12 -11 -9 -8 -8 -10 -12 -15 -18 -20 -21 -21 -20 -15 -14 -16 -18 -20 -25 -25 -24 -23 -22 -20 -17 -15 -15 -18 -20 -21 -22 -22 -22 -24 -25 -26 -25 -24 -24 -24 -24 -25 -27 -28 -30 -30 -27 -25 -25 -25 -26 -27 -28 -29 -28 -27 -25 -23 -22 -22 -23 -24 -24 -23 -23 -24 -23 -21 -20 -20 -19 -19 -21 -22 -24 -26 -28 -28 -24 -22 -23 -27 -29 -27 -23 -18 -16 -15 -18 -21 -23 -23 -20 -19 -20 -20 -19 -19 -20 -22 -23 -23 -22 -22 -24 -28 -31 -31 -28 -25 -23 -22 -21 -21 -22 -23 -23 -24 -26 -26 -25 -25 -24 -24 -24 -24 -23 -23 -22 -23 -24 -23 -21 -21 -20 -20 -21 -21 -22 -22 -22 -22 -22 -20 -19 -19 -19 -19 -19 -19 -18 -18 -18 -17 -17 -17 -17 -16 -15 -15 -16 -16 -16 -16 -18 -18 -17 -16 -16 -15 -15 -15 -15 -14 -16 -17 -17 -18 -19 -20 -20 -20 -20 -20 -21 -11 -2 4 5 0 -4 -5 -6 -6 -7 -7 -6 -6 -6 -9 -8 -5 -2 -1 -2 -5 -7 -8 -6 -4 -3 -2 -2 -3 -3 -3 -4 -6 -8 -7 -4 -1 2 4 4 3 1 -2 -5 -6 -6 -5 -6 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -6 -6 -5 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -2 -1 1 2 2 -0 -3 -7 -11 -15 -16 -15 -11 -4 1 3 2 -1 -6 -8 -7 -5 -5 -6 -7 -8 -10 -12 -14 -13 -11 -9 -7 -7 -7 -7 -6 -6 -6 -7 -7 -8 -10 -12 -14 -13 -11 -9 -8 -6 -6 -5 -5 -5 -5 -7 -8 -8 -8 -6 -4 -3 -2 -2 -3 -4 -5 -6 -5 -5 -5 -6 -9 -13 -15 -15 -16 -15 -13 -11 -9 -9 -11 -13 -16 -18 -17 -14 -9 -5 -4 -5 -7 -11 -17 -22 -26 -29 -28 -24 -18 -12 -10 -11 -12 -12 -12 -11 -9 -9 -9 -12 -14 -14 -11 -8 -6 -6 -6 -6 -5 -7 -8 -10 -14 -19 -21 -21 -19 -18 -17 -16 -14 -11 -8 -6 -7 -8 -10 -10 -10 -9 -10 -10 -11 -12 -14 -17 -19 -21 -21 -19 -15 -14 -16 -19 -20 -23 -25 -25 -24 -23 -23 -21 -18 -16 -18 -20 -21 -21 -21 -23 -24 -25 -26 -25 -25 -25 -26 -26 -25 -26 -27 -28 -26 -23 -21 -21 -22 -24 -25 -26 -27 -26 -26 -24 -23 -22 -23 -23 -24 -23 -23 -23 -23 -23 -22 -19 -21 -20 -19 -20 -22 -22 -24 -26 -28 -25 -20 -18 -21 -25 -25 -22 -18 -16 -16 -18 -21 -23 -23 -21 -20 -19 -20 -20 -20 -21 -22 -24 -24 -22 -21 -22 -24 -29 -30 -28 -25 -23 -22 -22 -22 -22 -22 -22 -23 -25 -26 -25 -25 -24 -24 -24 -23 -23 -23 -23 -24 -24 -24 -23 -22 -20 -20 -21 -21 -22 -21 -21 -20 -21 -21 -20 -19 -19 -19 -19 -19 -18 -18 -18 -18 -18 -18 -18 -17 -15 -14 -16 -16 -16 -16 -17 -17 -17 -16 -16 -16 -15 -15 -14 -14 -16 -17 -17 -18 -18 -19 -20 -20 -20 -20 -20 -7 2 4 1 -3 -4 -5 -6 -6 -7 -6 -5 -6 -8 -11 -8 -4 -0 -0 -2 -5 -7 -8 -6 -4 -3 -3 -3 -3 -3 -4 -6 -7 -8 -5 -3 -0 2 3 3 2 0 -3 -7 -8 -8 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -6 -5 -5 -5 -6 -6 -6 -6 -5 -4 -3 -3 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 0 1 0 -2 -6 -11 -14 -16 -16 -13 -7 -2 1 2 -0 -5 -6 -6 -5 -5 -6 -7 -8 -10 -12 -13 -13 -12 -11 -9 -8 -8 -7 -6 -6 -6 -6 -7 -8 -9 -10 -12 -12 -11 -9 -8 -7 -7 -7 -7 -6 -6 -7 -8 -9 -9 -9 -7 -5 -4 -4 -4 -5 -5 -5 -5 -4 -3 -3 -5 -10 -14 -16 -16 -16 -15 -13 -11 -9 -9 -11 -14 -17 -20 -21 -20 -16 -12 -9 -6 -6 -10 -14 -19 -23 -26 -26 -21 -15 -11 -10 -11 -13 -14 -12 -9 -7 -7 -9 -11 -12 -13 -11 -10 -8 -7 -5 -5 -6 -7 -8 -11 -16 -18 -19 -17 -16 -15 -14 -14 -13 -11 -8 -7 -7 -9 -10 -10 -11 -12 -12 -11 -12 -13 -15 -18 -20 -21 -19 -17 -16 -18 -20 -21 -22 -23 -24 -24 -22 -22 -21 -20 -18 -18 -19 -19 -19 -20 -22 -24 -25 -26 -26 -26 -27 -28 -28 -26 -25 -23 -21 -20 -19 -19 -20 -22 -23 -23 -24 -24 -25 -25 -24 -24 -23 -23 -23 -23 -23 -22 -23 -23 -23 -22 -21 -21 -22 -21 -20 -21 -21 -22 -23 -26 -26 -22 -17 -15 -21 -23 -22 -18 -17 -17 -19 -20 -22 -23 -22 -22 -22 -21 -21 -22 -22 -23 -25 -24 -23 -22 -21 -22 -27 -30 -30 -27 -23 -22 -23 -23 -22 -21 -22 -22 -25 -25 -25 -25 -24 -24 -23 -23 -23 -23 -22 -23 -24 -24 -24 -23 -21 -21 -22 -22 -22 -21 -21 -20 -21 -22 -20 -19 -18 -18 -18 -18 -19 -19 -19 -19 -19 -19 -19 -18 -15 -14 -15 -15 -16 -17 -17 -17 -16 -16 -16 -16 -15 -14 -13 -14 -15 -16 -16 -17 -18 -19 -20 -20 -19 -18 -19 -2 3 1 -2 -4 -4 -5 -6 -6 -6 -4 -4 -6 -9 -10 -6 -2 -0 -1 -3 -5 -7 -7 -7 -4 -3 -3 -3 -4 -4 -6 -7 -8 -7 -4 -2 0 2 2 2 1 -0 -5 -9 -11 -10 -7 -5 -5 -5 -6 -6 -7 -7 -8 -8 -7 -7 -6 -6 -6 -6 -6 -7 -7 -8 -7 -7 -6 -6 -6 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -2 -2 -3 -3 -3 -2 -2 -1 -0 -2 -5 -8 -11 -13 -15 -14 -9 -3 -1 0 -1 -4 -4 -4 -4 -5 -5 -6 -8 -10 -12 -13 -12 -11 -11 -11 -11 -10 -8 -7 -6 -6 -6 -6 -8 -8 -9 -10 -10 -9 -8 -8 -7 -8 -8 -8 -8 -7 -7 -8 -9 -9 -9 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -3 -3 -6 -12 -15 -16 -15 -15 -15 -14 -11 -9 -9 -11 -15 -19 -23 -24 -22 -19 -14 -11 -10 -10 -11 -13 -17 -22 -24 -24 -20 -15 -12 -11 -13 -14 -12 -10 -8 -7 -6 -7 -8 -10 -11 -11 -11 -9 -8 -8 -7 -7 -8 -9 -13 -15 -17 -17 -15 -14 -13 -13 -14 -13 -11 -9 -7 -9 -11 -12 -12 -12 -11 -11 -10 -11 -15 -17 -18 -18 -18 -20 -21 -21 -22 -21 -21 -23 -24 -24 -22 -20 -18 -17 -18 -19 -18 -18 -18 -19 -21 -23 -24 -25 -26 -26 -28 -29 -29 -26 -23 -19 -15 -16 -17 -19 -20 -22 -23 -23 -23 -23 -24 -26 -26 -25 -25 -24 -23 -23 -22 -22 -22 -22 -22 -23 -22 -23 -23 -22 -21 -20 -20 -21 -21 -22 -23 -22 -20 -15 -18 -22 -22 -19 -18 -18 -19 -20 -20 -21 -22 -23 -24 -24 -23 -23 -24 -26 -27 -25 -24 -24 -22 -24 -27 -31 -32 -30 -25 -23 -22 -22 -22 -21 -21 -22 -24 -25 -25 -25 -25 -24 -23 -22 -23 -22 -22 -23 -24 -24 -24 -23 -22 -21 -22 -22 -22 -22 -21 -21 -22 -22 -20 -19 -18 -18 -18 -18 -18 -19 -20 -20 -20 -20 -19 -18 -16 -14 -14 -15 -16 -17 -18 -17 -16 -15 -15 -14 -13 -12 -12 -13 -14 -15 -16 -17 -18 -19 -20 -20 -18 -17 -17 1 1 -1 -3 -4 -5 -6 -6 -6 -4 -4 -5 -6 -8 -7 -3 -1 -2 -3 -4 -4 -5 -6 -8 -6 -4 -3 -4 -4 -5 -7 -8 -8 -7 -4 -1 0 1 2 1 0 -2 -7 -11 -12 -10 -7 -5 -5 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -8 -9 -10 -10 -9 -8 -7 -7 -6 -6 -6 -5 -5 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -4 -4 -4 -3 -3 -3 -3 -2 -3 -5 -8 -11 -13 -13 -8 -4 -2 -2 -3 -4 -3 -2 -2 -3 -4 -6 -7 -8 -10 -11 -11 -11 -12 -13 -13 -11 -10 -8 -7 -6 -6 -6 -7 -8 -8 -8 -8 -7 -6 -6 -6 -8 -9 -10 -10 -9 -9 -9 -8 -7 -7 -7 -8 -7 -7 -6 -5 -5 -5 -5 -6 -6 -5 -5 -5 -9 -13 -14 -14 -14 -16 -15 -14 -11 -11 -11 -14 -17 -21 -24 -24 -22 -18 -16 -15 -14 -12 -12 -14 -18 -21 -23 -22 -20 -16 -13 -12 -13 -12 -11 -10 -8 -6 -5 -5 -6 -8 -10 -11 -11 -12 -11 -11 -10 -10 -10 -11 -13 -15 -16 -15 -14 -12 -12 -12 -12 -12 -11 -10 -10 -12 -12 -13 -13 -11 -9 -8 -11 -15 -16 -15 -14 -17 -22 -24 -24 -23 -21 -20 -21 -23 -24 -23 -21 -19 -16 -17 -19 -19 -19 -18 -20 -22 -23 -24 -25 -26 -27 -28 -29 -28 -26 -22 -17 -12 -13 -15 -18 -20 -22 -23 -23 -23 -23 -25 -27 -27 -26 -25 -24 -23 -22 -22 -21 -21 -22 -22 -23 -24 -24 -24 -23 -22 -21 -20 -19 -18 -19 -19 -20 -21 -19 -20 -22 -22 -21 -20 -19 -19 -19 -20 -21 -21 -22 -23 -24 -25 -25 -24 -25 -26 -25 -25 -24 -24 -25 -28 -32 -33 -33 -29 -24 -22 -22 -22 -22 -22 -22 -23 -24 -25 -25 -24 -23 -22 -22 -22 -22 -22 -22 -23 -24 -24 -23 -23 -22 -21 -22 -22 -22 -21 -22 -22 -22 -20 -18 -18 -18 -18 -18 -18 -19 -20 -21 -22 -21 -19 -18 -17 -14 -13 -14 -16 -18 -18 -16 -15 -15 -15 -14 -13 -12 -11 -13 -14 -15 -16 -17 -18 -19 -20 -20 -17 -16 -16 1 -2 -3 -4 -4 -5 -6 -6 -5 -4 -4 -5 -6 -5 -3 -1 -2 -3 -4 -4 -3 -3 -5 -7 -7 -6 -5 -5 -5 -7 -8 -9 -8 -6 -3 -1 0 1 2 1 -2 -5 -9 -11 -10 -8 -5 -5 -5 -6 -6 -6 -7 -6 -6 -6 -6 -7 -7 -7 -7 -8 -10 -11 -11 -10 -9 -7 -7 -7 -7 -7 -7 -6 -5 -3 -2 -2 -3 -2 -2 -2 -1 -1 -0 -1 -2 -4 -5 -5 -4 -4 -3 -3 -3 -3 -3 -5 -8 -10 -9 -7 -4 -4 -5 -6 -6 -5 -4 -3 -3 -4 -5 -6 -8 -9 -9 -9 -9 -11 -13 -13 -12 -10 -8 -7 -6 -5 -4 -5 -7 -8 -8 -7 -6 -4 -3 -3 -5 -8 -9 -11 -11 -11 -10 -8 -7 -6 -6 -7 -7 -7 -6 -6 -5 -5 -5 -6 -8 -8 -8 -7 -9 -11 -13 -14 -13 -15 -15 -15 -13 -12 -13 -14 -17 -21 -23 -24 -22 -19 -17 -15 -13 -12 -11 -14 -17 -20 -21 -21 -21 -20 -17 -14 -11 -9 -9 -11 -11 -9 -6 -4 -4 -6 -7 -9 -10 -13 -14 -14 -13 -13 -13 -13 -13 -13 -15 -14 -13 -11 -10 -9 -9 -9 -10 -10 -11 -11 -12 -12 -13 -11 -8 -8 -11 -15 -17 -15 -14 -16 -21 -23 -23 -22 -21 -19 -20 -22 -24 -25 -24 -21 -18 -19 -20 -20 -19 -19 -20 -22 -24 -24 -24 -26 -27 -28 -28 -27 -23 -20 -16 -12 -12 -14 -17 -21 -23 -24 -24 -24 -24 -26 -27 -28 -26 -25 -24 -24 -23 -22 -21 -21 -22 -22 -23 -24 -25 -25 -23 -22 -21 -20 -18 -14 -15 -17 -19 -21 -21 -21 -21 -21 -22 -22 -20 -20 -20 -20 -21 -21 -21 -21 -22 -25 -26 -24 -23 -23 -24 -24 -23 -23 -25 -28 -32 -34 -35 -32 -28 -24 -23 -23 -23 -23 -22 -22 -23 -24 -25 -24 -23 -23 -22 -23 -22 -22 -22 -23 -24 -24 -24 -23 -22 -21 -21 -22 -22 -22 -22 -22 -21 -19 -18 -18 -18 -18 -18 -18 -19 -21 -22 -22 -20 -19 -19 -17 -14 -13 -13 -16 -18 -17 -16 -15 -16 -16 -15 -14 -12 -11 -12 -14 -16 -16 -17 -17 -17 -18 -19 -17 -16 -15 -1 -3 -4 -4 -5 -5 -6 -5 -4 -4 -5 -6 -5 -3 -1 -1 -2 -4 -4 -4 -2 -2 -3 -4 -5 -7 -8 -8 -7 -8 -9 -10 -8 -5 -2 0 1 2 1 -2 -5 -8 -10 -10 -8 -6 -5 -5 -6 -6 -6 -6 -5 -5 -6 -6 -7 -7 -7 -7 -8 -9 -11 -12 -12 -10 -8 -7 -6 -6 -7 -7 -7 -7 -5 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -2 -4 -6 -8 -7 -5 -3 -2 -2 -2 -1 -1 -3 -6 -7 -7 -6 -5 -5 -7 -8 -9 -8 -7 -6 -5 -4 -4 -5 -7 -9 -9 -8 -8 -9 -11 -12 -12 -10 -8 -6 -5 -4 -3 -3 -5 -7 -7 -7 -5 -4 -3 -2 -2 -5 -7 -9 -11 -12 -12 -12 -10 -7 -6 -6 -7 -7 -7 -6 -5 -4 -4 -5 -7 -8 -9 -10 -10 -12 -13 -14 -14 -14 -14 -15 -14 -13 -14 -15 -18 -22 -23 -23 -21 -18 -18 -16 -14 -13 -12 -13 -15 -18 -20 -20 -20 -19 -18 -16 -13 -10 -9 -10 -11 -8 -6 -5 -5 -4 -5 -6 -8 -12 -14 -15 -15 -14 -15 -15 -14 -13 -13 -13 -12 -10 -9 -8 -7 -7 -8 -10 -11 -11 -12 -13 -15 -13 -10 -8 -10 -14 -17 -17 -16 -16 -19 -20 -21 -21 -21 -19 -19 -21 -23 -25 -25 -23 -21 -22 -22 -21 -20 -20 -21 -23 -24 -24 -24 -26 -28 -29 -29 -27 -23 -19 -17 -14 -12 -13 -17 -22 -25 -26 -26 -25 -24 -26 -27 -28 -27 -26 -26 -25 -24 -23 -23 -22 -22 -23 -24 -24 -25 -25 -23 -22 -21 -20 -17 -13 -13 -16 -20 -23 -24 -24 -23 -22 -22 -22 -21 -21 -20 -20 -21 -21 -21 -20 -20 -23 -25 -23 -21 -21 -22 -22 -22 -23 -24 -26 -28 -32 -34 -34 -31 -26 -24 -24 -24 -23 -21 -21 -22 -24 -25 -25 -24 -23 -22 -23 -22 -22 -22 -23 -23 -24 -24 -23 -22 -21 -21 -22 -22 -21 -21 -21 -20 -19 -18 -18 -18 -18 -18 -18 -20 -22 -23 -22 -20 -19 -19 -18 -15 -14 -14 -16 -17 -16 -16 -15 -16 -17 -16 -15 -13 -12 -13 -14 -16 -18 -18 -17 -16 -17 -18 -18 -17 -15 -3 -4 -4 -4 -5 -5 -5 -4 -4 -5 -6 -5 -4 -2 -1 -2 -3 -3 -4 -4 -2 -2 -1 -2 -2 -6 -9 -10 -8 -9 -10 -10 -7 -3 -0 2 2 1 -1 -5 -8 -10 -11 -9 -6 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -9 -10 -12 -12 -11 -8 -7 -6 -6 -7 -7 -7 -8 -8 -7 -4 -3 -2 -3 -3 -4 -3 -3 -3 -4 -5 -7 -10 -12 -10 -7 -4 -2 -1 1 2 2 -0 -3 -5 -6 -7 -6 -6 -8 -10 -11 -11 -11 -10 -8 -7 -6 -6 -7 -9 -9 -8 -8 -9 -10 -11 -11 -9 -8 -6 -5 -3 -3 -2 -3 -5 -6 -6 -5 -4 -3 -3 -3 -3 -4 -5 -7 -9 -11 -12 -12 -10 -7 -6 -6 -8 -8 -7 -5 -4 -2 -3 -5 -6 -8 -9 -11 -12 -14 -15 -16 -15 -15 -14 -14 -14 -15 -17 -20 -23 -23 -22 -19 -17 -17 -17 -17 -16 -14 -12 -13 -16 -18 -19 -19 -19 -19 -17 -15 -11 -9 -8 -9 -9 -8 -6 -6 -5 -5 -5 -6 -9 -13 -15 -15 -15 -14 -15 -15 -14 -13 -13 -13 -11 -10 -9 -8 -7 -7 -9 -11 -12 -12 -14 -16 -15 -12 -9 -8 -12 -15 -17 -17 -17 -17 -18 -20 -22 -22 -21 -20 -20 -22 -25 -25 -24 -23 -25 -25 -23 -21 -20 -21 -23 -24 -24 -23 -25 -27 -29 -28 -26 -23 -21 -18 -16 -15 -15 -17 -21 -25 -26 -25 -24 -24 -26 -27 -27 -27 -27 -27 -26 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -23 -22 -21 -20 -18 -13 -12 -15 -19 -22 -25 -26 -26 -25 -24 -22 -21 -21 -21 -20 -21 -22 -22 -22 -20 -22 -24 -23 -21 -20 -20 -21 -20 -21 -22 -22 -22 -26 -30 -32 -33 -29 -26 -25 -25 -24 -21 -22 -23 -23 -24 -24 -24 -23 -22 -23 -23 -23 -22 -22 -22 -23 -23 -23 -22 -21 -21 -21 -21 -20 -20 -20 -20 -19 -19 -19 -19 -18 -18 -18 -20 -22 -22 -23 -21 -20 -19 -19 -17 -15 -15 -16 -16 -16 -16 -16 -17 -17 -17 -16 -15 -13 -13 -15 -16 -17 -17 -17 -16 -16 -18 -18 -18 -16 -4 -5 -5 -5 -5 -5 -4 -4 -5 -5 -6 -5 -3 -1 -1 -2 -3 -3 -4 -4 -3 -2 -1 -1 -2 -4 -6 -8 -9 -10 -11 -10 -6 -1 1 2 2 0 -4 -7 -10 -11 -10 -7 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -6 -6 -7 -8 -9 -10 -11 -12 -11 -9 -7 -6 -6 -7 -7 -7 -8 -8 -8 -7 -6 -4 -3 -3 -3 -5 -5 -5 -5 -6 -9 -12 -14 -14 -11 -8 -5 -3 -1 1 3 3 2 0 -2 -5 -8 -6 -6 -8 -11 -11 -11 -12 -12 -11 -10 -8 -8 -8 -10 -10 -9 -9 -9 -11 -11 -11 -9 -7 -6 -4 -3 -3 -2 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -8 -11 -13 -13 -10 -7 -7 -7 -9 -10 -9 -6 -3 -2 -2 -2 -4 -5 -8 -11 -13 -15 -17 -18 -18 -17 -16 -16 -17 -19 -21 -23 -24 -22 -20 -16 -14 -15 -17 -18 -17 -14 -12 -13 -15 -17 -19 -20 -19 -18 -16 -13 -10 -8 -9 -8 -8 -8 -7 -6 -6 -6 -6 -8 -11 -14 -15 -14 -13 -14 -15 -15 -14 -13 -12 -11 -10 -10 -10 -8 -6 -8 -10 -12 -12 -14 -16 -16 -14 -10 -8 -9 -12 -14 -16 -19 -18 -17 -17 -19 -22 -24 -24 -21 -21 -24 -25 -25 -24 -26 -26 -24 -22 -21 -20 -22 -24 -24 -23 -24 -25 -27 -27 -26 -24 -21 -18 -17 -17 -16 -17 -18 -22 -24 -24 -22 -23 -25 -26 -26 -27 -27 -26 -25 -24 -24 -25 -25 -25 -25 -24 -24 -24 -24 -23 -22 -21 -21 -20 -16 -13 -13 -16 -20 -24 -27 -27 -27 -25 -23 -22 -22 -21 -21 -22 -23 -23 -22 -21 -21 -22 -22 -21 -20 -20 -20 -20 -20 -20 -20 -20 -21 -25 -28 -32 -31 -28 -26 -25 -25 -23 -23 -24 -23 -23 -23 -22 -22 -23 -23 -23 -22 -21 -22 -22 -22 -22 -21 -21 -20 -20 -20 -21 -20 -20 -20 -20 -20 -20 -19 -19 -18 -18 -18 -19 -20 -21 -23 -22 -21 -20 -19 -18 -16 -15 -16 -16 -17 -17 -17 -17 -18 -18 -17 -16 -15 -14 -15 -16 -17 -17 -17 -17 -16 -17 -19 -19 -18 -5 -5 -5 -5 -5 -4 -3 -4 -5 -5 -5 -4 -2 -2 -1 -1 -2 -4 -4 -5 -4 -2 -1 -1 -2 -3 -4 -6 -8 -11 -11 -9 -4 2 2 2 1 -2 -6 -8 -10 -10 -9 -7 -5 -5 -5 -4 -3 -3 -3 -3 -4 -5 -5 -6 -6 -6 -7 -9 -10 -11 -11 -9 -7 -6 -5 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -4 -3 -4 -5 -5 -6 -7 -9 -12 -15 -17 -15 -11 -7 -5 -3 -2 0 2 3 3 3 -0 -4 -7 -7 -7 -10 -12 -12 -11 -11 -12 -13 -12 -11 -10 -10 -12 -13 -12 -11 -11 -11 -11 -10 -9 -7 -6 -5 -4 -4 -2 -2 -2 -3 -3 -4 -5 -6 -7 -7 -7 -7 -6 -4 -4 -6 -9 -12 -14 -13 -11 -9 -8 -9 -10 -11 -10 -7 -4 -1 -0 -0 -1 -3 -6 -9 -12 -16 -19 -20 -21 -21 -19 -19 -20 -21 -22 -22 -22 -19 -15 -12 -12 -14 -17 -19 -17 -14 -13 -13 -16 -18 -20 -20 -19 -17 -14 -11 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -10 -12 -13 -12 -11 -13 -15 -16 -15 -14 -12 -11 -11 -11 -11 -10 -8 -7 -9 -11 -12 -13 -16 -17 -16 -12 -8 -7 -7 -8 -10 -14 -17 -18 -17 -17 -20 -24 -25 -23 -22 -24 -25 -24 -24 -25 -25 -24 -22 -21 -21 -22 -24 -24 -22 -22 -23 -24 -24 -24 -22 -20 -18 -16 -17 -18 -19 -19 -21 -22 -22 -21 -21 -23 -25 -25 -26 -26 -25 -24 -24 -24 -25 -26 -26 -25 -24 -23 -24 -24 -23 -22 -22 -22 -21 -18 -15 -14 -15 -20 -24 -27 -28 -28 -26 -24 -23 -24 -23 -22 -21 -21 -22 -21 -21 -22 -23 -22 -22 -22 -21 -20 -19 -20 -20 -20 -19 -19 -22 -25 -28 -29 -28 -27 -25 -24 -23 -24 -24 -24 -24 -22 -21 -21 -23 -23 -22 -22 -21 -21 -22 -22 -22 -21 -21 -20 -19 -20 -21 -20 -20 -21 -20 -20 -20 -20 -19 -18 -17 -17 -18 -19 -21 -23 -24 -22 -20 -19 -18 -17 -16 -16 -16 -16 -17 -17 -18 -18 -18 -17 -17 -16 -15 -15 -16 -17 -17 -17 -16 -15 -17 -19 -20 -20 -5 -6 -6 -5 -4 -3 -3 -4 -5 -5 -4 -3 -2 -1 -1 -1 -2 -4 -5 -5 -4 -2 -2 -2 -3 -3 -3 -5 -8 -10 -10 -7 -2 3 3 1 -1 -4 -7 -8 -9 -9 -8 -6 -5 -5 -4 -3 -2 -2 -2 -2 -3 -4 -5 -5 -5 -6 -8 -9 -11 -11 -10 -8 -6 -5 -5 -6 -6 -7 -7 -6 -6 -5 -5 -5 -4 -4 -3 -3 -3 -4 -6 -8 -10 -13 -15 -16 -13 -9 -7 -5 -4 -3 -1 1 3 3 3 1 -2 -6 -6 -8 -11 -14 -14 -11 -9 -10 -11 -13 -13 -13 -13 -14 -15 -15 -14 -12 -11 -11 -10 -9 -8 -7 -6 -5 -3 -2 -2 -2 -2 -2 -2 -3 -5 -6 -7 -8 -8 -8 -7 -6 -6 -8 -11 -15 -15 -14 -12 -9 -8 -9 -10 -11 -9 -6 -4 -2 0 1 -0 -3 -5 -7 -11 -15 -20 -24 -27 -25 -23 -21 -19 -20 -21 -21 -21 -18 -14 -12 -11 -13 -18 -20 -19 -16 -15 -17 -18 -19 -18 -18 -17 -15 -13 -10 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -10 -10 -10 -10 -11 -12 -14 -15 -16 -16 -15 -13 -11 -12 -13 -12 -11 -9 -8 -9 -10 -12 -15 -17 -17 -15 -11 -6 -4 -3 -4 -9 -14 -18 -18 -17 -19 -22 -25 -24 -24 -24 -22 -20 -21 -22 -22 -21 -22 -22 -22 -22 -22 -22 -21 -21 -20 -21 -21 -21 -20 -19 -18 -16 -17 -19 -21 -21 -20 -20 -21 -22 -23 -24 -24 -25 -25 -25 -24 -23 -23 -24 -25 -26 -26 -25 -24 -23 -24 -24 -24 -23 -22 -22 -21 -19 -18 -17 -19 -22 -25 -27 -28 -28 -27 -26 -26 -26 -26 -24 -21 -20 -20 -20 -20 -22 -22 -23 -22 -23 -22 -20 -20 -20 -21 -20 -19 -19 -20 -23 -26 -26 -27 -27 -26 -24 -23 -23 -24 -24 -24 -22 -21 -21 -22 -23 -23 -22 -22 -21 -21 -22 -22 -22 -22 -21 -20 -21 -21 -21 -21 -21 -21 -21 -21 -20 -19 -18 -17 -18 -19 -20 -22 -24 -24 -22 -20 -18 -17 -17 -18 -17 -16 -16 -17 -18 -19 -18 -18 -17 -18 -17 -16 -15 -16 -17 -17 -16 -16 -15 -16 -18 -20 -21 -6 -7 -6 -5 -4 -3 -3 -4 -5 -5 -3 -2 -2 -1 -0 -1 -2 -4 -5 -4 -3 -3 -2 -3 -3 -3 -3 -5 -7 -8 -7 -4 -0 3 2 -0 -3 -5 -7 -8 -8 -7 -6 -6 -5 -4 -4 -3 -2 -2 -1 -2 -2 -3 -3 -4 -5 -8 -10 -11 -11 -10 -9 -7 -6 -5 -5 -6 -7 -8 -7 -7 -6 -5 -5 -4 -3 -2 -2 -3 -3 -4 -5 -7 -10 -13 -15 -14 -11 -8 -6 -5 -4 -2 0 2 2 2 1 -0 -2 -4 -4 -6 -11 -16 -17 -14 -10 -7 -8 -10 -13 -16 -17 -18 -17 -17 -15 -13 -11 -10 -10 -9 -9 -8 -6 -5 -4 -3 -2 -2 -2 -1 -1 -2 -3 -4 -6 -6 -7 -8 -9 -9 -8 -9 -11 -15 -16 -16 -14 -11 -9 -9 -9 -9 -9 -8 -7 -5 -2 -1 -1 -1 -2 -3 -6 -10 -17 -23 -28 -28 -26 -22 -19 -20 -20 -21 -21 -20 -16 -12 -9 -10 -15 -19 -21 -22 -20 -18 -17 -16 -15 -16 -17 -17 -15 -12 -10 -9 -8 -9 -9 -8 -8 -9 -10 -11 -10 -9 -8 -9 -10 -12 -15 -16 -16 -17 -16 -14 -12 -13 -13 -12 -11 -9 -8 -9 -10 -11 -13 -15 -17 -17 -14 -9 -5 -1 -0 -6 -13 -17 -18 -18 -18 -21 -23 -24 -25 -24 -21 -18 -20 -21 -21 -21 -22 -23 -23 -22 -20 -22 -23 -21 -19 -18 -19 -18 -18 -17 -18 -17 -18 -20 -23 -22 -20 -19 -19 -22 -24 -24 -24 -25 -25 -24 -23 -23 -22 -24 -25 -26 -26 -25 -24 -23 -23 -24 -24 -23 -23 -22 -21 -20 -19 -19 -19 -21 -24 -27 -28 -28 -28 -28 -28 -28 -28 -25 -22 -20 -19 -19 -20 -21 -22 -24 -23 -23 -22 -20 -20 -21 -22 -22 -20 -18 -19 -21 -24 -25 -27 -27 -27 -23 -22 -22 -23 -24 -24 -22 -21 -20 -23 -23 -23 -22 -22 -21 -20 -21 -21 -22 -22 -22 -21 -21 -21 -21 -21 -21 -21 -22 -21 -20 -19 -18 -18 -19 -20 -21 -22 -22 -22 -21 -20 -18 -17 -17 -19 -18 -17 -16 -16 -18 -19 -20 -19 -19 -19 -18 -17 -16 -15 -16 -17 -17 -16 -14 -15 -17 -20 -22 -7 -7 -6 -5 -3 -2 -3 -4 -4 -4 -3 -2 -1 -1 -0 -1 -2 -4 -4 -4 -3 -3 -3 -3 -3 -3 -4 -5 -7 -7 -5 -2 0 2 1 -2 -4 -6 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -3 -7 -10 -12 -12 -11 -9 -7 -6 -6 -6 -6 -7 -8 -9 -8 -7 -7 -6 -6 -6 -5 -4 -3 -4 -4 -5 -6 -9 -11 -13 -14 -12 -9 -7 -5 -4 -3 -1 1 2 4 3 1 -1 -3 -4 -4 -5 -9 -14 -18 -18 -15 -11 -7 -8 -11 -15 -18 -19 -17 -15 -13 -11 -10 -10 -10 -10 -9 -8 -7 -5 -4 -3 -2 -2 -1 -1 -0 -0 -1 -2 -3 -3 -5 -7 -10 -12 -11 -11 -12 -14 -16 -16 -15 -12 -10 -8 -8 -8 -8 -9 -9 -7 -5 -4 -4 -3 -3 -1 -2 -6 -11 -18 -26 -29 -28 -24 -20 -20 -19 -19 -19 -19 -16 -13 -10 -10 -12 -16 -19 -22 -21 -18 -16 -15 -14 -15 -16 -17 -17 -14 -11 -10 -9 -9 -9 -9 -9 -9 -11 -11 -11 -9 -8 -8 -9 -11 -15 -17 -17 -17 -16 -14 -13 -13 -13 -11 -9 -8 -8 -8 -9 -10 -11 -13 -16 -19 -18 -15 -10 -4 -1 -6 -11 -14 -16 -16 -17 -18 -20 -23 -24 -23 -20 -18 -20 -21 -21 -21 -23 -26 -26 -24 -20 -21 -22 -20 -17 -16 -18 -18 -17 -16 -17 -18 -19 -21 -23 -23 -21 -20 -20 -22 -23 -24 -24 -25 -25 -24 -24 -23 -23 -24 -25 -26 -25 -24 -23 -22 -22 -24 -23 -23 -22 -22 -21 -20 -20 -20 -20 -21 -23 -26 -28 -28 -28 -28 -28 -29 -28 -26 -24 -22 -20 -20 -20 -21 -21 -23 -23 -22 -21 -20 -20 -21 -22 -23 -20 -18 -18 -20 -23 -25 -27 -28 -29 -25 -23 -23 -23 -24 -22 -21 -20 -20 -23 -24 -23 -21 -22 -21 -20 -20 -20 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -20 -20 -19 -19 -19 -19 -20 -21 -22 -21 -20 -21 -21 -19 -18 -18 -19 -19 -18 -16 -15 -17 -20 -21 -20 -21 -21 -20 -18 -16 -16 -16 -16 -16 -16 -14 -14 -16 -19 -22 -7 -7 -6 -5 -3 -2 -3 -4 -4 -3 -3 -2 -1 -1 -1 -1 -3 -4 -5 -4 -3 -2 -3 -3 -3 -4 -4 -5 -6 -5 -4 -2 0 1 -0 -3 -5 -7 -8 -7 -6 -5 -4 -4 -4 -5 -5 -5 -4 -3 -1 -0 1 1 -1 -4 -7 -9 -10 -10 -9 -7 -6 -5 -5 -5 -6 -7 -8 -8 -8 -7 -7 -6 -5 -5 -5 -4 -3 -3 -4 -6 -7 -10 -13 -14 -12 -10 -7 -5 -4 -3 -1 -1 1 2 4 4 2 -1 -4 -6 -4 -4 -7 -11 -16 -20 -21 -18 -12 -9 -10 -12 -14 -15 -14 -12 -11 -11 -10 -10 -10 -10 -9 -8 -8 -7 -6 -4 -3 -2 -1 1 2 1 1 -0 -1 -2 -3 -5 -9 -12 -13 -12 -11 -12 -15 -15 -14 -11 -10 -9 -8 -8 -8 -8 -8 -8 -7 -6 -7 -7 -6 -3 -3 -4 -7 -13 -20 -26 -27 -25 -22 -20 -18 -18 -19 -20 -17 -14 -13 -12 -12 -13 -16 -19 -21 -19 -17 -16 -14 -13 -14 -15 -17 -16 -14 -11 -10 -9 -9 -9 -9 -9 -10 -11 -10 -9 -7 -7 -7 -10 -14 -18 -18 -17 -15 -14 -13 -13 -12 -11 -9 -7 -7 -7 -8 -9 -10 -11 -13 -16 -19 -19 -16 -11 -5 -6 -8 -11 -12 -14 -16 -17 -18 -21 -23 -22 -20 -19 -21 -21 -21 -22 -23 -26 -27 -25 -19 -18 -18 -17 -16 -17 -18 -17 -15 -15 -17 -19 -20 -21 -23 -22 -22 -22 -22 -23 -23 -24 -24 -25 -25 -25 -25 -25 -25 -24 -24 -24 -23 -23 -22 -22 -22 -23 -23 -22 -22 -21 -20 -20 -20 -21 -21 -21 -22 -24 -27 -28 -28 -28 -28 -28 -28 -27 -26 -24 -23 -23 -23 -22 -21 -22 -22 -20 -20 -19 -20 -21 -21 -22 -19 -18 -18 -19 -22 -24 -26 -29 -31 -27 -25 -24 -24 -23 -23 -22 -21 -21 -23 -23 -22 -21 -22 -21 -20 -19 -19 -19 -20 -21 -21 -21 -21 -21 -21 -21 -21 -20 -19 -19 -20 -19 -19 -20 -19 -21 -21 -20 -20 -21 -21 -19 -18 -18 -19 -20 -19 -17 -15 -17 -20 -22 -22 -21 -20 -20 -19 -18 -17 -16 -15 -15 -15 -14 -14 -15 -18 -21 -8 -7 -6 -4 -3 -2 -3 -4 -4 -3 -2 -1 -1 -1 -1 -2 -3 -4 -5 -4 -2 -2 -3 -4 -4 -5 -5 -6 -5 -4 -3 -2 -0 0 -1 -3 -5 -7 -7 -7 -6 -4 -3 -3 -4 -5 -6 -6 -4 -2 0 2 3 1 -2 -4 -6 -7 -7 -7 -6 -5 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -2 -3 -5 -8 -11 -13 -13 -11 -8 -5 -4 -3 -1 -0 1 2 2 3 3 2 -0 -3 -5 -4 -3 -5 -9 -13 -18 -21 -21 -18 -13 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -11 -11 -10 -9 -9 -9 -8 -6 -4 -3 -2 -0 0 1 0 -0 -1 -2 -3 -5 -7 -10 -12 -12 -11 -10 -11 -12 -12 -10 -9 -8 -8 -9 -9 -8 -8 -7 -6 -6 -8 -9 -8 -6 -6 -5 -6 -8 -14 -20 -23 -23 -21 -19 -19 -18 -18 -19 -17 -16 -15 -14 -13 -12 -12 -14 -17 -18 -18 -16 -15 -13 -12 -13 -15 -16 -14 -13 -12 -11 -10 -9 -9 -9 -9 -10 -10 -9 -7 -6 -6 -8 -13 -18 -19 -17 -15 -13 -12 -12 -12 -12 -11 -9 -8 -8 -8 -9 -9 -9 -10 -12 -16 -19 -20 -19 -15 -10 -8 -8 -9 -12 -15 -17 -18 -21 -22 -22 -20 -19 -21 -22 -22 -22 -23 -25 -26 -23 -18 -17 -16 -15 -15 -16 -19 -18 -15 -14 -17 -20 -21 -21 -22 -22 -22 -23 -24 -24 -23 -24 -25 -25 -25 -25 -25 -25 -24 -23 -23 -23 -22 -22 -22 -23 -23 -23 -22 -22 -22 -22 -21 -21 -22 -22 -22 -22 -22 -24 -26 -28 -28 -28 -27 -27 -27 -27 -26 -24 -25 -27 -27 -23 -21 -21 -21 -20 -19 -19 -20 -21 -21 -21 -20 -19 -19 -20 -21 -23 -26 -29 -31 -29 -27 -25 -25 -24 -24 -23 -21 -21 -23 -23 -22 -23 -23 -23 -21 -19 -18 -19 -19 -20 -21 -22 -21 -21 -21 -21 -21 -20 -20 -19 -20 -20 -20 -20 -19 -20 -20 -20 -20 -21 -21 -20 -20 -20 -21 -21 -20 -17 -16 -18 -20 -23 -22 -21 -20 -19 -20 -19 -18 -16 -14 -15 -15 -15 -14 -15 -17 -19 -8 -7 -6 -4 -2 -2 -3 -4 -4 -3 -2 -1 -1 -1 -2 -2 -3 -4 -4 -3 -2 -3 -4 -5 -5 -5 -6 -6 -4 -3 -3 -2 -1 -0 -1 -3 -5 -6 -6 -5 -4 -3 -3 -2 -3 -4 -6 -6 -4 -1 2 3 2 0 -3 -5 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -1 -2 -4 -7 -10 -11 -11 -10 -8 -5 -4 -2 -1 -1 1 2 2 1 0 -0 -1 -2 -2 -1 -2 -4 -8 -11 -14 -17 -19 -18 -15 -13 -12 -11 -10 -9 -9 -8 -8 -9 -9 -10 -10 -10 -9 -9 -9 -9 -7 -6 -5 -5 -3 -2 -1 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -10 -9 -10 -11 -11 -10 -9 -8 -8 -9 -9 -9 -8 -7 -6 -6 -7 -8 -7 -7 -8 -8 -7 -7 -10 -14 -18 -20 -18 -18 -19 -19 -17 -16 -16 -16 -16 -15 -13 -11 -11 -11 -14 -16 -17 -17 -16 -14 -12 -11 -13 -14 -14 -14 -13 -13 -11 -10 -9 -9 -9 -9 -9 -8 -7 -7 -7 -9 -12 -17 -19 -18 -16 -13 -11 -11 -11 -12 -13 -12 -11 -9 -9 -9 -10 -11 -10 -10 -12 -15 -19 -20 -18 -14 -12 -11 -10 -10 -12 -15 -18 -19 -20 -21 -21 -20 -21 -21 -21 -20 -21 -23 -22 -20 -18 -17 -16 -15 -15 -16 -17 -16 -15 -14 -17 -20 -22 -23 -23 -21 -22 -25 -25 -25 -24 -24 -24 -25 -25 -25 -25 -24 -23 -23 -22 -22 -22 -22 -23 -24 -24 -24 -22 -22 -23 -23 -23 -23 -23 -23 -23 -23 -23 -24 -25 -27 -27 -27 -26 -26 -25 -25 -25 -25 -27 -29 -28 -24 -21 -21 -21 -20 -19 -20 -21 -22 -22 -22 -21 -20 -20 -20 -21 -24 -27 -29 -30 -29 -27 -26 -25 -25 -25 -24 -22 -21 -22 -22 -22 -23 -24 -23 -21 -18 -18 -18 -19 -20 -22 -22 -21 -20 -20 -20 -20 -20 -19 -19 -19 -19 -19 -20 -19 -19 -19 -20 -21 -22 -22 -21 -20 -22 -22 -22 -21 -19 -17 -19 -21 -23 -23 -21 -20 -19 -19 -19 -18 -15 -13 -15 -15 -15 -14 -15 -17 -19 -8 -7 -6 -3 -2 -2 -4 -5 -4 -3 -1 -0 -1 -2 -2 -2 -3 -4 -3 -2 -2 -5 -6 -6 -5 -6 -6 -5 -4 -3 -3 -2 -1 -1 -2 -3 -4 -5 -4 -3 -3 -3 -3 -3 -3 -4 -5 -5 -2 0 2 2 0 -2 -4 -5 -6 -4 -3 -2 -3 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 -1 -1 -2 -3 -5 -7 -8 -8 -7 -7 -5 -4 -3 -2 -2 -1 1 2 0 -2 -3 -4 -3 -1 0 -1 -3 -6 -9 -11 -11 -12 -12 -12 -13 -13 -13 -12 -10 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -9 -9 -9 -7 -7 -7 -8 -7 -6 -5 -5 -6 -7 -7 -8 -8 -9 -8 -8 -9 -10 -11 -12 -12 -10 -9 -8 -8 -9 -10 -10 -10 -9 -8 -7 -7 -6 -6 -6 -7 -8 -9 -9 -10 -12 -14 -15 -15 -16 -18 -18 -16 -15 -15 -16 -16 -15 -14 -12 -11 -11 -12 -13 -15 -15 -16 -15 -13 -10 -10 -11 -12 -13 -14 -14 -12 -11 -10 -10 -10 -10 -9 -8 -7 -7 -8 -11 -14 -17 -18 -17 -14 -12 -10 -10 -11 -12 -13 -14 -13 -11 -9 -10 -12 -13 -12 -9 -9 -13 -18 -21 -20 -17 -15 -14 -13 -10 -10 -11 -13 -14 -17 -19 -19 -19 -19 -20 -19 -18 -19 -19 -18 -17 -18 -17 -16 -15 -15 -16 -16 -16 -15 -16 -18 -19 -21 -26 -25 -24 -24 -25 -26 -25 -25 -24 -24 -24 -24 -24 -24 -24 -23 -22 -22 -21 -22 -23 -24 -25 -25 -24 -24 -23 -23 -24 -24 -24 -24 -23 -24 -25 -25 -24 -25 -26 -26 -26 -26 -26 -25 -24 -25 -25 -26 -27 -26 -24 -22 -21 -21 -20 -19 -20 -22 -24 -24 -22 -21 -20 -20 -20 -21 -22 -24 -27 -29 -29 -28 -27 -25 -25 -25 -24 -23 -22 -22 -21 -21 -22 -23 -23 -21 -18 -18 -18 -20 -22 -23 -22 -21 -20 -20 -19 -19 -19 -18 -18 -18 -18 -19 -18 -17 -18 -19 -20 -22 -22 -22 -22 -21 -22 -23 -22 -21 -19 -17 -19 -22 -24 -23 -21 -19 -18 -18 -18 -17 -15 -13 -14 -14 -15 -15 -15 -17 -18 -7 -7 -5 -3 -2 -2 -4 -5 -4 -2 -1 -1 -2 -3 -3 -2 -3 -3 -2 -1 -3 -6 -7 -6 -5 -6 -6 -5 -3 -3 -3 -2 -2 -2 -3 -4 -4 -4 -2 -2 -3 -4 -4 -3 -3 -3 -4 -3 -0 1 0 -1 -2 -4 -4 -5 -4 -3 -4 -5 -6 -3 -2 -1 -2 -2 -3 -3 -4 -5 -5 -5 -5 -4 -4 -3 -2 -1 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -1 1 2 -2 -5 -7 -7 -5 -2 -2 -3 -5 -7 -8 -7 -5 -4 -5 -8 -12 -14 -14 -13 -11 -8 -6 -5 -5 -5 -5 -5 -5 -6 -6 -8 -8 -7 -6 -8 -12 -14 -13 -12 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -10 -11 -11 -11 -10 -8 -7 -7 -8 -10 -11 -11 -11 -10 -10 -8 -7 -5 -5 -6 -7 -8 -9 -11 -13 -14 -15 -14 -14 -14 -15 -15 -14 -14 -15 -16 -17 -16 -15 -14 -13 -13 -12 -12 -13 -15 -16 -14 -11 -7 -7 -8 -10 -11 -12 -12 -12 -12 -12 -12 -11 -10 -8 -6 -7 -9 -13 -17 -19 -17 -14 -11 -10 -11 -11 -11 -11 -13 -15 -15 -13 -12 -12 -13 -14 -13 -10 -10 -13 -18 -21 -20 -18 -17 -16 -16 -13 -11 -9 -10 -12 -16 -18 -19 -18 -18 -18 -19 -18 -16 -15 -15 -16 -18 -18 -17 -16 -16 -17 -17 -17 -16 -19 -20 -21 -23 -27 -27 -25 -25 -25 -26 -26 -25 -24 -23 -23 -23 -23 -23 -23 -23 -22 -22 -22 -23 -24 -25 -25 -25 -25 -25 -25 -24 -24 -24 -24 -24 -25 -25 -26 -26 -25 -25 -25 -25 -25 -25 -25 -23 -23 -24 -25 -25 -25 -24 -23 -22 -22 -21 -21 -20 -21 -23 -25 -24 -21 -20 -20 -20 -20 -19 -19 -21 -24 -26 -27 -28 -28 -25 -25 -25 -25 -25 -23 -22 -21 -21 -21 -22 -22 -21 -17 -16 -17 -19 -22 -22 -22 -22 -21 -19 -19 -19 -18 -17 -18 -19 -19 -19 -19 -18 -18 -18 -19 -21 -22 -23 -22 -21 -23 -24 -23 -23 -20 -18 -18 -21 -23 -22 -20 -19 -18 -17 -16 -16 -15 -14 -13 -14 -15 -16 -17 -17 -17 -7 -6 -4 -2 -2 -3 -5 -5 -3 -1 -0 -1 -3 -4 -4 -2 -2 -2 -1 -1 -3 -6 -7 -6 -5 -6 -6 -5 -3 -2 -3 -3 -2 -2 -3 -3 -3 -3 -1 -2 -3 -3 -4 -4 -4 -3 -2 0 1 0 -2 -4 -4 -4 -4 -3 -2 -3 -6 -9 -10 -6 -2 -1 -2 -3 -2 -3 -4 -5 -6 -7 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -0 -0 -1 -3 -4 -3 -0 2 0 -3 -8 -11 -12 -8 -6 -6 -6 -6 -7 -6 -3 1 2 -1 -6 -11 -16 -18 -16 -12 -8 -5 -4 -3 -3 -3 -2 -2 -3 -4 -5 -4 -4 -6 -12 -18 -21 -20 -17 -14 -13 -12 -12 -13 -13 -12 -11 -11 -10 -10 -10 -10 -9 -8 -7 -7 -7 -9 -10 -12 -12 -12 -12 -11 -9 -7 -5 -5 -6 -7 -9 -11 -13 -15 -15 -15 -13 -13 -13 -14 -13 -12 -13 -15 -16 -16 -16 -16 -16 -15 -13 -11 -11 -12 -14 -14 -12 -8 -6 -6 -7 -8 -10 -11 -12 -12 -12 -13 -14 -12 -10 -8 -8 -10 -14 -18 -20 -16 -12 -9 -10 -11 -12 -12 -12 -13 -14 -15 -15 -15 -14 -14 -13 -13 -13 -12 -14 -17 -19 -19 -18 -17 -18 -18 -17 -14 -11 -9 -11 -14 -17 -18 -16 -16 -16 -16 -16 -14 -13 -14 -16 -19 -20 -19 -18 -18 -20 -20 -19 -19 -21 -22 -23 -24 -26 -27 -26 -25 -25 -26 -26 -26 -25 -23 -22 -22 -21 -21 -21 -22 -22 -23 -23 -24 -25 -25 -26 -26 -26 -26 -25 -25 -24 -23 -23 -25 -26 -27 -27 -27 -26 -25 -24 -24 -24 -25 -23 -22 -22 -24 -26 -27 -27 -25 -24 -24 -23 -23 -22 -20 -20 -21 -22 -21 -19 -19 -20 -20 -19 -18 -18 -18 -20 -22 -24 -26 -28 -26 -26 -26 -26 -25 -25 -23 -21 -21 -21 -21 -21 -21 -18 -17 -17 -19 -21 -22 -22 -21 -21 -19 -19 -19 -18 -17 -18 -19 -19 -20 -19 -19 -18 -19 -19 -20 -21 -22 -23 -22 -23 -24 -25 -25 -22 -20 -18 -20 -22 -21 -20 -19 -17 -16 -16 -16 -15 -14 -13 -14 -15 -17 -18 -18 -17 -7 -6 -4 -2 -3 -4 -5 -4 -2 -1 -1 -2 -4 -5 -4 -3 -2 -1 -1 -2 -4 -6 -7 -6 -6 -7 -6 -5 -3 -2 -3 -3 -3 -3 -3 -3 -2 -2 -1 -2 -2 -3 -3 -4 -3 -2 -0 1 1 -1 -3 -4 -4 -3 -2 -1 -0 -4 -9 -12 -12 -6 -2 -2 -3 -3 -2 -2 -3 -4 -6 -8 -8 -6 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -2 0 2 2 0 -2 -2 -1 1 2 2 -1 -7 -14 -19 -15 -11 -8 -8 -7 -8 -9 -7 -2 2 2 -1 -6 -13 -19 -20 -17 -11 -7 -6 -6 -6 -4 -2 -0 0 -1 -2 -0 0 -2 -7 -15 -23 -28 -27 -21 -17 -16 -16 -16 -15 -14 -13 -12 -11 -10 -9 -8 -8 -7 -7 -7 -7 -7 -9 -11 -12 -13 -14 -14 -13 -10 -8 -6 -5 -6 -8 -11 -13 -14 -15 -15 -14 -13 -12 -12 -11 -11 -12 -14 -15 -16 -16 -16 -17 -16 -14 -12 -10 -10 -12 -13 -13 -10 -8 -6 -6 -6 -8 -10 -11 -12 -12 -13 -14 -14 -12 -10 -10 -12 -15 -18 -18 -15 -12 -11 -11 -11 -12 -13 -13 -13 -13 -13 -13 -14 -13 -12 -12 -13 -13 -12 -13 -15 -18 -18 -18 -18 -18 -19 -19 -17 -14 -11 -10 -12 -14 -16 -15 -13 -12 -11 -13 -13 -13 -15 -17 -20 -23 -24 -22 -21 -22 -23 -22 -22 -22 -23 -24 -25 -26 -27 -26 -26 -25 -25 -26 -26 -25 -24 -22 -21 -20 -20 -21 -22 -23 -24 -25 -25 -25 -26 -27 -27 -27 -26 -26 -25 -25 -24 -24 -25 -26 -27 -27 -27 -26 -24 -23 -23 -24 -24 -23 -22 -22 -25 -28 -30 -30 -28 -26 -26 -25 -24 -22 -20 -19 -18 -17 -16 -18 -19 -20 -19 -19 -18 -18 -18 -18 -19 -22 -25 -28 -27 -27 -27 -26 -26 -25 -24 -22 -22 -22 -22 -21 -21 -18 -18 -19 -21 -22 -22 -21 -20 -19 -18 -18 -18 -18 -18 -19 -19 -20 -21 -19 -18 -18 -18 -19 -20 -21 -22 -23 -22 -23 -24 -26 -25 -23 -21 -19 -19 -20 -20 -20 -19 -17 -16 -16 -17 -15 -14 -13 -14 -16 -18 -19 -19 -18 -6 -5 -3 -3 -3 -5 -5 -3 -2 -1 -1 -3 -4 -5 -5 -3 -1 -1 -3 -4 -6 -6 -6 -6 -6 -7 -7 -5 -4 -3 -3 -3 -3 -3 -2 -2 -2 -3 -2 -2 -2 -2 -3 -3 -3 -1 0 1 -0 -1 -2 -3 -3 -2 -0 0 -0 -4 -9 -11 -9 -4 -2 -2 -2 -3 -2 -2 -2 -3 -5 -7 -7 -7 -6 -5 -5 -4 -5 -5 -5 -5 -4 -4 -4 -4 -3 -2 -0 1 2 2 1 0 1 2 3 2 0 -5 -12 -20 -21 -16 -10 -6 -5 -6 -8 -9 -8 -5 -3 -1 -2 -7 -13 -16 -16 -13 -10 -8 -8 -9 -9 -6 -3 -1 -0 -1 -0 1 1 0 -6 -18 -29 -36 -31 -25 -22 -20 -17 -16 -14 -13 -13 -12 -11 -9 -8 -7 -7 -8 -8 -7 -6 -7 -9 -11 -12 -14 -15 -15 -14 -11 -9 -7 -6 -6 -8 -11 -13 -14 -15 -14 -13 -12 -12 -12 -12 -12 -13 -15 -15 -15 -15 -16 -17 -16 -14 -11 -10 -11 -11 -11 -10 -8 -7 -5 -5 -5 -7 -9 -10 -11 -12 -13 -14 -13 -13 -13 -14 -15 -17 -15 -14 -14 -14 -14 -13 -13 -14 -15 -14 -12 -11 -10 -11 -11 -12 -12 -14 -13 -12 -12 -13 -15 -17 -17 -18 -18 -18 -18 -18 -17 -14 -10 -9 -10 -13 -14 -12 -10 -10 -11 -13 -14 -16 -19 -21 -23 -23 -23 -21 -23 -24 -25 -24 -23 -24 -24 -24 -25 -27 -27 -27 -26 -26 -25 -25 -25 -24 -23 -21 -20 -21 -21 -22 -23 -25 -26 -26 -26 -26 -27 -28 -27 -26 -26 -25 -25 -25 -25 -25 -26 -26 -27 -27 -27 -26 -24 -24 -24 -24 -24 -24 -24 -26 -28 -31 -32 -30 -27 -26 -26 -25 -23 -21 -19 -16 -15 -15 -17 -19 -20 -19 -19 -18 -18 -18 -17 -18 -20 -25 -27 -27 -27 -27 -27 -26 -25 -23 -21 -22 -23 -23 -22 -21 -19 -19 -20 -22 -23 -22 -20 -19 -18 -17 -17 -17 -18 -18 -19 -19 -19 -21 -19 -18 -18 -18 -19 -20 -21 -22 -23 -21 -21 -23 -24 -23 -22 -21 -20 -19 -19 -19 -20 -19 -17 -17 -17 -17 -15 -14 -14 -15 -16 -18 -19 -19 -18 -6 -4 -3 -3 -4 -5 -4 -2 -1 -1 -2 -3 -4 -5 -4 -3 -1 -2 -4 -7 -8 -7 -6 -6 -7 -8 -7 -6 -4 -3 -3 -3 -2 -1 -0 -1 -2 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -3 -3 -2 -1 -1 -2 -4 -7 -7 -5 -2 -1 -1 -1 -1 -2 -2 -2 -2 -3 -4 -6 -7 -6 -6 -5 -5 -4 -5 -5 -5 -6 -6 -6 -5 -4 -2 -1 -1 -1 0 1 2 3 3 3 3 1 -3 -9 -18 -24 -21 -14 -8 -4 -3 -4 -7 -9 -10 -8 -4 -2 -3 -7 -9 -11 -11 -9 -9 -9 -10 -11 -9 -5 -2 -1 -1 -1 -1 -1 -1 -3 -9 -18 -26 -28 -26 -23 -19 -13 -11 -11 -11 -11 -11 -10 -9 -8 -7 -7 -8 -8 -8 -7 -6 -7 -8 -11 -13 -14 -15 -16 -15 -13 -10 -8 -6 -6 -8 -10 -11 -12 -13 -13 -13 -13 -12 -12 -12 -13 -15 -15 -15 -14 -15 -16 -16 -15 -13 -12 -11 -11 -11 -10 -8 -7 -6 -4 -4 -5 -7 -9 -10 -11 -12 -13 -13 -14 -15 -15 -16 -15 -14 -15 -16 -18 -17 -15 -15 -15 -17 -18 -15 -12 -9 -10 -10 -11 -12 -13 -13 -12 -12 -12 -13 -15 -17 -18 -17 -16 -16 -17 -18 -16 -10 -7 -6 -10 -13 -12 -11 -10 -11 -12 -14 -17 -19 -20 -20 -20 -22 -23 -25 -26 -26 -27 -26 -25 -24 -24 -25 -27 -27 -28 -28 -26 -25 -25 -25 -24 -24 -23 -22 -22 -21 -22 -24 -25 -26 -27 -27 -27 -27 -27 -26 -26 -26 -25 -25 -25 -25 -25 -26 -26 -27 -27 -27 -26 -25 -24 -24 -25 -26 -26 -26 -26 -28 -30 -31 -30 -28 -26 -25 -25 -23 -21 -19 -16 -14 -15 -17 -19 -20 -20 -20 -19 -19 -20 -18 -18 -20 -24 -27 -27 -27 -27 -27 -25 -24 -23 -21 -21 -22 -21 -21 -19 -18 -19 -20 -21 -22 -21 -19 -18 -19 -19 -19 -19 -19 -19 -19 -19 -19 -20 -19 -18 -17 -18 -18 -19 -21 -22 -22 -21 -21 -22 -23 -21 -20 -20 -19 -18 -18 -19 -20 -20 -18 -17 -17 -17 -15 -14 -14 -15 -17 -18 -19 -19 -18 -5 -4 -3 -4 -5 -5 -4 -2 -1 -1 -2 -3 -4 -4 -4 -3 -1 -3 -5 -8 -9 -9 -8 -7 -8 -8 -8 -6 -5 -5 -4 -3 -1 0 0 -1 -2 -3 -3 -3 -2 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -3 -4 -5 -5 -4 -2 -1 -0 -0 -1 -1 -1 -1 -2 -2 -3 -5 -6 -7 -6 -5 -5 -4 -4 -5 -6 -7 -7 -6 -5 -3 -2 -1 -2 -2 -2 0 3 4 4 4 3 2 -1 -7 -16 -24 -24 -18 -11 -5 -2 -2 -4 -7 -10 -9 -5 -2 -1 -4 -5 -7 -8 -9 -9 -9 -9 -10 -8 -5 -2 -0 -1 -2 -3 -4 -5 -7 -9 -12 -15 -19 -20 -20 -17 -12 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -9 -9 -8 -7 -6 -6 -7 -9 -12 -13 -15 -16 -16 -14 -12 -9 -7 -7 -7 -8 -9 -11 -12 -13 -12 -12 -12 -12 -14 -16 -16 -16 -15 -15 -15 -15 -14 -13 -11 -10 -10 -11 -11 -10 -9 -7 -5 -5 -5 -6 -7 -9 -9 -9 -9 -10 -13 -15 -16 -15 -15 -14 -15 -17 -19 -19 -18 -16 -16 -17 -20 -20 -17 -13 -11 -10 -9 -9 -12 -13 -13 -12 -13 -14 -15 -15 -15 -14 -13 -14 -15 -15 -15 -12 -9 -6 -8 -11 -12 -11 -11 -12 -12 -14 -16 -19 -19 -19 -20 -22 -24 -26 -27 -27 -27 -26 -25 -24 -24 -25 -26 -27 -28 -28 -27 -26 -25 -25 -24 -24 -24 -23 -23 -22 -23 -24 -26 -27 -27 -27 -27 -26 -26 -25 -26 -26 -26 -26 -26 -26 -26 -26 -26 -26 -26 -26 -27 -26 -25 -24 -26 -27 -26 -24 -24 -26 -28 -29 -29 -27 -26 -24 -24 -23 -22 -19 -16 -14 -15 -17 -19 -22 -23 -22 -21 -20 -20 -19 -18 -19 -22 -24 -26 -27 -27 -26 -24 -24 -24 -23 -22 -22 -22 -21 -19 -19 -18 -18 -19 -20 -19 -17 -17 -19 -20 -21 -21 -20 -19 -19 -18 -18 -19 -18 -18 -18 -18 -18 -19 -20 -22 -21 -21 -21 -22 -22 -21 -20 -18 -18 -16 -18 -20 -22 -21 -19 -18 -18 -19 -17 -16 -16 -17 -18 -19 -20 -19 -19 -4 -4 -3 -4 -5 -4 -3 -1 -1 -1 -2 -2 -3 -4 -3 -2 -1 -3 -6 -8 -8 -9 -8 -8 -9 -9 -8 -7 -6 -6 -5 -3 -0 1 -0 -2 -3 -3 -3 -2 -1 -1 -1 -2 -3 -4 -3 -3 -3 -2 -2 -2 -3 -4 -3 -3 -3 -3 -4 -4 -3 -2 -1 -1 -1 -1 -0 0 0 -1 -2 -3 -4 -5 -6 -6 -5 -5 -4 -4 -5 -7 -8 -8 -7 -4 -2 -0 1 -0 -2 -2 0 3 4 4 4 4 2 -1 -6 -14 -23 -23 -19 -12 -7 -5 -4 -4 -5 -7 -6 -3 -1 -0 -2 -4 -5 -7 -8 -9 -8 -7 -6 -5 -4 -2 -0 -0 -2 -4 -6 -8 -11 -12 -13 -13 -14 -15 -15 -14 -11 -9 -9 -8 -7 -7 -8 -9 -10 -10 -9 -9 -9 -10 -10 -10 -9 -8 -7 -8 -9 -11 -13 -15 -16 -15 -14 -12 -10 -9 -8 -8 -8 -9 -11 -12 -12 -11 -11 -13 -14 -16 -17 -17 -16 -16 -16 -15 -13 -12 -10 -9 -9 -11 -12 -12 -10 -8 -6 -5 -4 -4 -5 -6 -6 -7 -7 -8 -10 -13 -14 -15 -15 -15 -16 -18 -19 -20 -19 -17 -16 -16 -20 -22 -20 -17 -14 -11 -9 -8 -10 -12 -12 -12 -13 -15 -14 -13 -12 -13 -13 -14 -14 -15 -16 -16 -14 -11 -9 -9 -10 -11 -12 -13 -13 -14 -16 -19 -19 -20 -20 -21 -24 -26 -27 -27 -27 -26 -25 -24 -25 -26 -26 -26 -28 -29 -28 -26 -25 -25 -24 -24 -24 -24 -24 -23 -24 -25 -26 -27 -27 -27 -26 -25 -24 -25 -25 -26 -27 -27 -27 -27 -27 -27 -26 -26 -26 -26 -27 -27 -27 -26 -27 -27 -26 -24 -24 -25 -26 -27 -28 -27 -25 -23 -23 -23 -22 -19 -16 -14 -14 -15 -19 -23 -25 -24 -22 -20 -19 -18 -17 -18 -20 -22 -25 -27 -27 -25 -25 -26 -26 -25 -24 -24 -24 -23 -22 -21 -20 -19 -18 -18 -18 -17 -17 -19 -20 -21 -20 -20 -20 -18 -17 -17 -18 -18 -17 -17 -17 -18 -19 -21 -22 -21 -21 -21 -21 -22 -21 -19 -18 -17 -17 -19 -22 -24 -22 -20 -19 -19 -20 -19 -18 -18 -19 -20 -20 -20 -20 -20 -4 -4 -4 -5 -5 -4 -2 -0 -1 -1 -2 -2 -3 -3 -3 -2 -2 -4 -6 -8 -8 -8 -9 -9 -10 -10 -9 -8 -7 -7 -4 -1 1 1 -1 -3 -4 -3 -2 -1 -1 -1 -2 -3 -5 -5 -4 -4 -3 -3 -3 -2 -3 -3 -3 -2 -2 -2 -3 -3 -3 -2 -1 -1 -1 -1 0 1 1 0 -1 -2 -4 -5 -6 -5 -5 -4 -4 -4 -6 -7 -8 -8 -7 -5 -2 -0 1 1 1 1 2 4 4 4 4 4 2 -1 -6 -13 -20 -20 -16 -10 -8 -8 -7 -7 -7 -5 -3 -1 -0 -0 -1 -3 -5 -7 -7 -7 -6 -4 -3 -3 -3 -3 -2 -1 -2 -4 -6 -9 -12 -14 -15 -15 -14 -13 -11 -9 -7 -8 -9 -8 -7 -7 -7 -8 -9 -10 -10 -10 -10 -10 -10 -11 -11 -10 -9 -8 -8 -9 -11 -13 -15 -16 -16 -15 -14 -12 -11 -10 -8 -9 -10 -10 -10 -10 -11 -12 -14 -16 -17 -17 -17 -18 -17 -16 -14 -13 -10 -9 -9 -10 -11 -12 -12 -10 -8 -6 -6 -5 -4 -5 -6 -6 -5 -6 -7 -9 -11 -13 -14 -15 -17 -18 -20 -21 -21 -19 -17 -15 -17 -17 -17 -17 -16 -15 -12 -10 -9 -10 -11 -11 -12 -13 -12 -11 -11 -13 -14 -15 -15 -16 -17 -18 -18 -15 -10 -8 -7 -9 -11 -13 -15 -16 -18 -20 -20 -19 -19 -20 -23 -25 -26 -26 -26 -26 -25 -25 -26 -26 -26 -26 -27 -28 -27 -27 -26 -25 -25 -25 -25 -25 -25 -24 -24 -25 -26 -27 -26 -26 -25 -24 -24 -24 -25 -26 -27 -28 -28 -28 -28 -26 -25 -26 -26 -27 -27 -27 -27 -28 -28 -28 -26 -24 -24 -24 -25 -26 -27 -26 -24 -23 -22 -22 -22 -20 -17 -15 -14 -15 -18 -23 -26 -25 -22 -19 -18 -17 -17 -17 -19 -22 -25 -27 -28 -25 -26 -27 -28 -27 -26 -25 -25 -25 -24 -23 -22 -22 -21 -21 -20 -19 -17 -18 -19 -19 -19 -20 -20 -19 -17 -17 -18 -18 -18 -17 -17 -18 -20 -22 -22 -20 -20 -20 -20 -21 -20 -19 -18 -19 -20 -22 -24 -25 -23 -21 -20 -19 -20 -20 -19 -18 -20 -21 -22 -22 -23 -23 -4 -4 -5 -6 -5 -4 -1 0 -0 -1 -2 -2 -2 -3 -3 -3 -3 -5 -6 -7 -7 -8 -9 -9 -10 -11 -9 -8 -8 -7 -3 -0 1 -0 -2 -4 -4 -3 -1 -0 0 -1 -2 -4 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -2 -1 -0 -1 -2 -2 -2 -2 -1 -1 -1 0 1 1 1 1 0 -2 -4 -6 -6 -5 -4 -4 -4 -5 -6 -7 -7 -6 -6 -5 -3 -1 1 3 3 3 3 3 4 4 4 4 2 -2 -7 -14 -19 -18 -14 -10 -9 -9 -9 -8 -8 -7 -5 -4 -3 -2 -2 -3 -5 -7 -6 -5 -3 -1 0 -1 -3 -4 -4 -4 -5 -6 -7 -8 -11 -13 -14 -14 -14 -11 -8 -5 -5 -7 -8 -9 -8 -7 -7 -8 -8 -10 -10 -11 -11 -10 -10 -11 -11 -12 -11 -9 -8 -8 -9 -10 -12 -14 -16 -15 -14 -13 -12 -11 -10 -10 -10 -10 -8 -8 -9 -11 -13 -14 -16 -16 -16 -17 -18 -17 -17 -15 -13 -10 -9 -9 -10 -12 -13 -13 -10 -9 -8 -7 -5 -5 -5 -6 -5 -5 -5 -7 -8 -10 -12 -14 -16 -18 -20 -22 -22 -21 -18 -16 -14 -13 -13 -16 -18 -19 -18 -14 -9 -8 -8 -10 -11 -11 -10 -10 -10 -13 -15 -16 -17 -16 -18 -20 -20 -19 -13 -8 -6 -6 -9 -12 -15 -18 -19 -20 -20 -18 -17 -18 -22 -24 -26 -26 -26 -26 -26 -26 -27 -26 -25 -25 -26 -27 -27 -27 -26 -26 -26 -26 -26 -26 -26 -25 -25 -25 -26 -26 -25 -25 -24 -24 -24 -25 -25 -26 -27 -28 -28 -28 -27 -26 -25 -25 -25 -25 -26 -26 -28 -29 -29 -29 -27 -25 -24 -24 -24 -24 -24 -24 -24 -22 -22 -22 -22 -21 -19 -17 -15 -16 -19 -23 -26 -25 -21 -19 -18 -17 -17 -18 -19 -22 -25 -28 -28 -26 -27 -29 -29 -28 -27 -26 -25 -25 -24 -23 -23 -22 -22 -22 -22 -21 -19 -18 -17 -18 -18 -19 -20 -20 -18 -17 -18 -19 -19 -18 -18 -19 -22 -24 -22 -19 -18 -19 -20 -20 -19 -19 -19 -20 -21 -22 -23 -22 -22 -22 -21 -19 -19 -19 -19 -19 -20 -22 -23 -24 -24 -24 -4 -4 -5 -6 -5 -3 -1 1 -0 -1 -2 -1 -1 -3 -4 -5 -5 -6 -6 -7 -7 -8 -9 -9 -10 -11 -9 -8 -7 -5 -1 1 1 -1 -3 -4 -4 -3 -1 0 1 -0 -2 -4 -5 -5 -5 -5 -6 -5 -4 -2 -2 -2 -2 -0 1 1 -1 -2 -2 -2 -2 -1 1 3 3 3 2 1 -1 -3 -5 -6 -5 -4 -4 -4 -5 -6 -7 -7 -6 -4 -4 -3 -3 -2 0 2 3 4 3 3 3 4 4 4 3 -1 -7 -14 -19 -18 -14 -10 -10 -10 -10 -9 -6 -7 -7 -7 -6 -5 -4 -3 -4 -5 -5 -5 -4 -2 -0 -1 -3 -6 -8 -9 -9 -9 -10 -10 -10 -10 -11 -11 -10 -9 -8 -7 -6 -7 -8 -9 -10 -9 -8 -8 -9 -10 -10 -11 -11 -10 -10 -10 -11 -12 -13 -11 -9 -8 -8 -9 -10 -13 -15 -16 -15 -14 -13 -12 -11 -10 -10 -9 -8 -8 -9 -10 -11 -13 -15 -15 -15 -16 -17 -17 -18 -17 -15 -13 -11 -9 -9 -11 -13 -14 -13 -11 -10 -8 -6 -5 -6 -6 -7 -6 -6 -6 -7 -8 -10 -11 -14 -17 -20 -22 -22 -21 -18 -14 -12 -12 -12 -14 -17 -19 -20 -19 -11 -6 -5 -7 -10 -10 -10 -10 -10 -11 -13 -15 -17 -17 -18 -20 -21 -19 -14 -9 -7 -6 -8 -12 -16 -19 -20 -21 -20 -18 -16 -17 -21 -24 -25 -25 -25 -25 -26 -27 -27 -26 -25 -25 -25 -26 -27 -27 -27 -27 -27 -26 -27 -28 -28 -27 -26 -26 -25 -25 -24 -24 -24 -24 -25 -25 -26 -26 -27 -27 -28 -28 -28 -27 -26 -25 -24 -23 -23 -25 -28 -29 -30 -30 -28 -25 -24 -23 -23 -23 -22 -23 -23 -23 -23 -22 -22 -21 -19 -19 -19 -19 -21 -24 -26 -24 -21 -19 -18 -17 -17 -17 -19 -22 -26 -28 -28 -28 -29 -30 -30 -29 -28 -26 -25 -24 -24 -23 -22 -22 -22 -22 -21 -21 -19 -18 -17 -17 -18 -19 -20 -21 -19 -18 -19 -20 -19 -19 -19 -20 -22 -25 -21 -19 -18 -19 -20 -20 -19 -19 -20 -20 -21 -22 -23 -21 -22 -23 -23 -21 -20 -19 -20 -19 -20 -22 -24 -24 -24 -25 -4 -5 -6 -6 -5 -3 -1 0 -1 -1 -1 -1 -1 -3 -5 -6 -6 -6 -7 -7 -8 -9 -9 -10 -10 -11 -9 -7 -5 -3 -0 1 0 -1 -3 -4 -4 -3 -1 1 1 -1 -3 -5 -5 -5 -5 -6 -6 -5 -4 -2 -2 -2 -1 -0 1 1 -0 -2 -4 -4 -3 -0 3 6 6 5 3 1 -2 -5 -6 -5 -3 -2 -2 -4 -5 -7 -8 -8 -6 -5 -3 -2 -2 -1 -0 2 3 4 4 3 3 4 4 4 3 -0 -5 -13 -18 -17 -14 -10 -10 -11 -11 -9 -6 -5 -6 -7 -6 -5 -5 -4 -3 -4 -5 -6 -6 -5 -4 -4 -5 -6 -9 -9 -9 -8 -9 -10 -10 -9 -8 -8 -9 -10 -10 -10 -9 -8 -8 -9 -10 -9 -9 -10 -10 -10 -10 -11 -11 -10 -10 -10 -11 -12 -13 -12 -11 -9 -9 -9 -10 -11 -14 -16 -16 -15 -13 -11 -11 -10 -9 -9 -8 -8 -9 -10 -11 -13 -13 -14 -14 -15 -15 -16 -17 -17 -17 -15 -13 -10 -9 -10 -12 -13 -13 -13 -12 -10 -8 -6 -6 -7 -8 -9 -9 -8 -8 -8 -8 -9 -11 -15 -20 -22 -22 -20 -16 -11 -9 -9 -11 -12 -15 -17 -19 -21 -16 -11 -6 -6 -8 -10 -11 -11 -9 -10 -11 -14 -16 -16 -17 -18 -19 -17 -13 -11 -9 -7 -8 -12 -15 -18 -19 -21 -21 -20 -18 -20 -23 -24 -25 -25 -25 -25 -25 -26 -27 -26 -25 -24 -24 -24 -26 -27 -28 -27 -27 -27 -27 -28 -28 -28 -26 -25 -25 -25 -24 -24 -25 -25 -25 -25 -26 -26 -26 -27 -27 -28 -29 -29 -28 -26 -23 -22 -22 -24 -29 -31 -32 -30 -28 -25 -23 -23 -23 -22 -21 -22 -23 -24 -25 -24 -24 -22 -21 -22 -24 -24 -24 -26 -25 -23 -21 -19 -18 -17 -17 -17 -18 -22 -26 -29 -28 -29 -31 -31 -30 -30 -28 -26 -24 -24 -23 -22 -21 -21 -21 -21 -21 -20 -18 -18 -17 -16 -17 -19 -20 -21 -20 -19 -20 -20 -20 -20 -20 -21 -22 -24 -22 -20 -19 -20 -21 -20 -19 -19 -20 -20 -21 -21 -22 -21 -21 -22 -22 -22 -22 -21 -21 -20 -21 -23 -24 -25 -25 -25 -5 -6 -6 -6 -5 -3 -1 -1 -1 -1 -1 -1 -2 -4 -6 -7 -7 -7 -7 -7 -9 -10 -10 -10 -11 -11 -8 -6 -3 -2 -0 0 0 -1 -2 -4 -4 -4 -2 0 0 -2 -3 -4 -4 -4 -5 -6 -6 -4 -3 -2 -2 -1 -1 -0 -1 -1 -1 -3 -5 -5 -2 2 5 6 6 4 2 -1 -4 -5 -5 -3 -1 -0 -1 -3 -5 -6 -7 -7 -6 -5 -3 -2 -1 -0 1 1 2 3 3 3 4 4 5 5 4 0 -5 -11 -15 -16 -14 -11 -11 -11 -11 -9 -6 -5 -5 -6 -6 -5 -4 -4 -4 -5 -5 -6 -6 -5 -5 -6 -7 -7 -8 -7 -6 -6 -7 -8 -7 -8 -8 -9 -9 -9 -10 -12 -12 -11 -10 -9 -9 -9 -9 -11 -12 -11 -10 -11 -11 -11 -10 -10 -10 -10 -12 -12 -12 -11 -10 -9 -9 -11 -12 -15 -17 -15 -12 -9 -10 -9 -8 -8 -8 -8 -9 -9 -10 -12 -13 -14 -14 -14 -15 -16 -16 -18 -18 -17 -16 -13 -10 -10 -10 -12 -13 -12 -11 -10 -9 -9 -8 -8 -9 -11 -12 -12 -11 -10 -8 -9 -11 -15 -20 -23 -23 -21 -16 -10 -7 -6 -8 -9 -11 -14 -17 -20 -19 -16 -12 -8 -7 -9 -10 -10 -8 -8 -10 -12 -13 -14 -15 -17 -17 -15 -13 -12 -11 -9 -10 -11 -13 -14 -16 -19 -21 -22 -22 -23 -23 -24 -25 -26 -26 -25 -24 -24 -25 -25 -25 -24 -23 -23 -25 -27 -29 -28 -27 -27 -27 -28 -28 -27 -26 -26 -25 -25 -25 -25 -25 -25 -25 -26 -26 -26 -26 -27 -27 -29 -31 -31 -30 -27 -24 -22 -22 -24 -28 -30 -30 -30 -27 -24 -22 -22 -22 -22 -21 -22 -23 -25 -26 -27 -26 -24 -23 -24 -25 -26 -28 -28 -26 -23 -21 -19 -18 -18 -17 -17 -19 -24 -29 -31 -31 -31 -32 -31 -30 -30 -29 -26 -24 -24 -23 -21 -20 -20 -21 -21 -21 -20 -18 -18 -18 -17 -16 -17 -18 -20 -20 -19 -19 -20 -20 -21 -21 -21 -21 -23 -22 -21 -20 -20 -21 -21 -20 -20 -19 -20 -21 -22 -21 -21 -22 -22 -23 -23 -23 -23 -22 -22 -23 -24 -24 -25 -25 -25 -5 -6 -6 -5 -4 -2 -1 -1 -1 -1 -1 -1 -3 -5 -7 -7 -7 -7 -7 -8 -9 -11 -11 -11 -11 -10 -7 -4 -3 -2 -1 0 0 -1 -3 -4 -4 -4 -2 -1 -2 -3 -4 -4 -4 -5 -5 -6 -5 -3 -2 -2 -2 -1 -0 -1 -3 -3 -3 -4 -5 -4 0 3 5 5 4 2 -0 -3 -5 -4 -3 -2 -0 -0 -2 -3 -5 -5 -5 -5 -5 -5 -4 -2 -1 0 1 1 1 2 2 3 3 4 5 5 4 -0 -5 -10 -14 -15 -13 -11 -11 -11 -10 -8 -6 -4 -4 -4 -4 -3 -3 -4 -5 -6 -7 -8 -8 -6 -5 -6 -7 -7 -7 -6 -5 -4 -4 -5 -6 -7 -8 -8 -8 -8 -9 -11 -13 -13 -13 -11 -9 -8 -8 -10 -12 -12 -11 -11 -11 -12 -11 -10 -10 -10 -11 -12 -12 -11 -10 -9 -9 -11 -12 -16 -18 -16 -11 -7 -8 -8 -8 -8 -9 -9 -9 -9 -10 -11 -13 -14 -14 -14 -15 -15 -17 -18 -19 -19 -17 -15 -12 -11 -11 -11 -11 -11 -10 -10 -10 -11 -10 -10 -10 -11 -13 -14 -13 -12 -11 -10 -12 -16 -21 -23 -24 -21 -17 -11 -7 -5 -5 -6 -7 -9 -12 -17 -19 -18 -15 -11 -8 -8 -9 -9 -7 -8 -11 -13 -13 -14 -16 -17 -16 -14 -13 -12 -12 -11 -12 -12 -12 -11 -12 -16 -20 -23 -25 -26 -25 -24 -25 -26 -26 -25 -23 -21 -23 -24 -25 -24 -23 -22 -23 -26 -29 -29 -29 -28 -27 -28 -28 -27 -27 -26 -26 -25 -25 -25 -25 -25 -25 -26 -25 -26 -26 -27 -28 -30 -32 -32 -32 -29 -25 -23 -23 -23 -24 -26 -27 -28 -26 -23 -22 -21 -21 -22 -22 -22 -23 -26 -27 -28 -28 -26 -25 -24 -25 -27 -28 -28 -27 -24 -22 -21 -20 -19 -18 -20 -23 -27 -31 -33 -33 -32 -32 -31 -28 -28 -27 -27 -26 -25 -23 -20 -18 -20 -21 -22 -22 -21 -19 -19 -19 -18 -17 -16 -16 -18 -18 -18 -19 -20 -21 -22 -21 -21 -21 -22 -22 -21 -21 -21 -21 -21 -20 -20 -19 -20 -21 -22 -21 -22 -23 -24 -25 -23 -23 -24 -24 -23 -23 -24 -25 -25 -25 -25 -6 -6 -6 -4 -3 -2 -2 -1 -1 -1 -1 -3 -4 -6 -7 -8 -7 -7 -7 -8 -9 -12 -12 -11 -10 -8 -5 -4 -3 -3 -1 0 0 -1 -4 -4 -4 -3 -3 -3 -5 -6 -5 -4 -4 -5 -5 -5 -3 -2 -2 -3 -2 -1 -1 -2 -4 -5 -4 -3 -3 -2 1 3 4 3 2 0 -2 -3 -3 -2 -1 -0 -1 -1 -3 -5 -6 -5 -4 -3 -4 -4 -4 -2 -1 1 1 1 1 1 1 2 4 5 6 6 4 -1 -6 -11 -15 -15 -13 -11 -11 -11 -10 -8 -6 -3 -2 -2 -3 -2 -2 -3 -5 -7 -8 -9 -9 -7 -5 -5 -6 -7 -7 -6 -4 -3 -3 -4 -5 -6 -7 -8 -8 -8 -9 -10 -12 -14 -14 -12 -9 -7 -7 -8 -10 -11 -11 -11 -12 -12 -12 -12 -11 -11 -11 -11 -11 -10 -9 -7 -7 -8 -11 -15 -18 -16 -10 -6 -6 -7 -7 -8 -9 -10 -9 -9 -9 -10 -11 -13 -14 -14 -14 -15 -17 -20 -21 -21 -19 -16 -14 -12 -11 -11 -11 -10 -10 -9 -10 -11 -11 -11 -10 -10 -12 -13 -14 -14 -13 -13 -13 -16 -20 -22 -22 -21 -19 -14 -11 -8 -6 -4 -4 -6 -9 -13 -17 -18 -18 -15 -11 -9 -8 -8 -7 -7 -8 -10 -12 -14 -15 -16 -15 -14 -12 -12 -12 -13 -14 -14 -13 -10 -10 -14 -18 -22 -26 -28 -27 -25 -25 -27 -27 -25 -22 -20 -22 -23 -24 -24 -22 -22 -22 -24 -28 -30 -30 -29 -28 -28 -28 -28 -27 -27 -26 -26 -26 -25 -25 -25 -25 -25 -25 -26 -26 -27 -28 -30 -31 -32 -32 -28 -25 -24 -23 -22 -22 -23 -24 -26 -24 -23 -21 -21 -21 -22 -22 -22 -23 -25 -27 -28 -29 -28 -27 -26 -26 -28 -29 -30 -29 -27 -26 -24 -22 -20 -20 -24 -27 -29 -31 -32 -33 -32 -31 -30 -27 -26 -26 -26 -27 -26 -23 -20 -18 -19 -21 -22 -22 -21 -20 -20 -21 -20 -18 -16 -16 -17 -19 -20 -21 -21 -21 -21 -21 -21 -22 -22 -22 -22 -21 -22 -22 -22 -21 -21 -20 -20 -22 -22 -21 -22 -24 -25 -26 -24 -22 -23 -25 -23 -23 -24 -25 -25 -25 -25 -6 -6 -5 -4 -3 -2 -2 -1 -0 -1 -2 -4 -6 -7 -8 -8 -7 -7 -7 -7 -9 -13 -12 -11 -8 -5 -3 -3 -3 -3 -1 1 -0 -2 -4 -4 -4 -3 -3 -5 -7 -7 -6 -5 -5 -5 -5 -4 -2 -1 -2 -3 -2 -2 -2 -3 -4 -4 -3 -2 -1 -0 1 1 2 1 1 0 -1 -1 -1 -1 -0 -0 -1 -2 -4 -6 -6 -4 -3 -2 -2 -2 -3 -2 -0 1 1 0 1 1 1 2 4 6 8 8 5 0 -6 -12 -16 -17 -14 -11 -10 -10 -10 -9 -7 -4 -2 -2 -2 -1 -1 -2 -4 -7 -7 -8 -7 -7 -5 -4 -5 -6 -8 -7 -5 -4 -3 -4 -5 -6 -7 -9 -9 -9 -9 -10 -11 -13 -14 -14 -11 -9 -7 -7 -8 -9 -9 -10 -11 -11 -11 -12 -12 -12 -12 -11 -11 -12 -11 -9 -7 -7 -8 -13 -16 -16 -10 -6 -7 -7 -8 -8 -9 -10 -10 -9 -9 -9 -10 -11 -13 -14 -15 -16 -18 -21 -23 -23 -22 -18 -15 -13 -11 -11 -10 -10 -9 -9 -10 -10 -11 -11 -10 -10 -11 -12 -13 -14 -15 -15 -15 -15 -16 -18 -18 -19 -19 -17 -15 -14 -10 -6 -5 -5 -7 -9 -13 -17 -19 -18 -14 -11 -10 -10 -9 -8 -7 -7 -11 -13 -14 -13 -12 -11 -11 -11 -12 -14 -17 -17 -15 -12 -12 -14 -16 -20 -25 -28 -28 -27 -26 -27 -27 -26 -23 -22 -22 -23 -24 -24 -23 -22 -22 -23 -26 -29 -30 -30 -29 -28 -28 -28 -28 -27 -27 -27 -26 -25 -25 -25 -25 -25 -25 -26 -27 -28 -29 -30 -31 -31 -30 -26 -25 -24 -24 -22 -21 -21 -22 -24 -24 -22 -21 -21 -21 -22 -22 -22 -23 -24 -26 -27 -29 -30 -30 -29 -28 -30 -31 -31 -31 -30 -29 -27 -25 -23 -22 -24 -26 -27 -29 -30 -31 -30 -29 -29 -27 -26 -25 -25 -26 -25 -24 -22 -20 -19 -20 -21 -21 -20 -19 -20 -21 -20 -18 -17 -16 -18 -20 -21 -22 -21 -21 -21 -21 -22 -22 -23 -23 -23 -22 -22 -23 -23 -22 -21 -20 -20 -20 -20 -21 -23 -24 -26 -26 -24 -22 -22 -24 -23 -24 -25 -26 -26 -26 -25 -6 -5 -4 -3 -2 -2 -1 -0 0 -1 -4 -6 -7 -8 -8 -8 -7 -7 -7 -8 -10 -13 -12 -9 -6 -3 -2 -3 -3 -2 -0 0 -0 -2 -4 -3 -2 -2 -4 -6 -8 -8 -7 -5 -6 -5 -5 -3 -1 -1 -2 -3 -3 -3 -4 -4 -3 -2 -1 -1 -1 -0 0 1 1 2 2 1 0 -1 -3 -3 -2 -2 -1 -3 -4 -5 -5 -3 -2 -2 -3 -2 -1 -1 0 1 1 1 1 2 2 3 5 7 9 9 7 3 -4 -12 -18 -18 -15 -10 -8 -8 -9 -9 -8 -5 -3 -3 -3 -2 -2 -3 -4 -5 -6 -5 -5 -5 -3 -2 -2 -4 -5 -6 -6 -5 -5 -6 -7 -7 -7 -9 -11 -11 -11 -11 -12 -12 -14 -15 -13 -10 -8 -8 -7 -8 -8 -8 -8 -8 -9 -10 -11 -12 -12 -11 -12 -12 -13 -11 -9 -7 -6 -9 -12 -12 -9 -6 -6 -7 -8 -8 -9 -10 -10 -10 -10 -10 -10 -11 -12 -13 -15 -18 -20 -23 -25 -25 -24 -21 -17 -13 -11 -11 -10 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -12 -13 -14 -15 -15 -15 -14 -14 -15 -15 -16 -17 -17 -17 -17 -16 -12 -10 -7 -6 -6 -9 -14 -19 -19 -16 -13 -13 -14 -13 -10 -7 -6 -10 -12 -13 -12 -11 -10 -10 -10 -12 -14 -18 -19 -19 -15 -13 -14 -16 -18 -23 -27 -28 -28 -27 -28 -28 -26 -24 -23 -22 -23 -23 -24 -23 -22 -22 -22 -24 -26 -28 -29 -30 -28 -28 -28 -29 -29 -28 -28 -27 -26 -25 -25 -25 -25 -26 -27 -28 -28 -29 -29 -30 -29 -27 -24 -24 -25 -25 -23 -21 -21 -22 -23 -23 -23 -22 -22 -22 -22 -22 -22 -23 -24 -25 -26 -28 -31 -32 -32 -31 -32 -31 -31 -30 -29 -29 -28 -27 -26 -26 -25 -24 -25 -26 -26 -26 -26 -26 -27 -27 -26 -26 -25 -25 -25 -23 -22 -21 -20 -19 -20 -20 -19 -19 -19 -20 -19 -19 -18 -18 -18 -20 -22 -22 -21 -20 -20 -21 -22 -22 -22 -23 -24 -22 -22 -22 -22 -20 -20 -19 -19 -19 -19 -21 -22 -22 -24 -25 -24 -22 -21 -22 -23 -24 -26 -26 -26 -26 -25 -6 -4 -3 -3 -2 -2 -1 -0 -0 -2 -5 -7 -8 -9 -9 -8 -8 -8 -8 -8 -10 -12 -10 -6 -3 -2 -2 -3 -3 -2 -0 -0 -1 -2 -3 -2 -2 -2 -4 -7 -8 -8 -6 -5 -5 -5 -4 -2 -2 -2 -3 -4 -5 -5 -5 -4 -2 1 1 -0 -2 -1 1 2 3 3 3 2 -0 -3 -6 -6 -5 -3 -2 -3 -3 -4 -3 -2 -2 -3 -3 -3 -1 0 0 0 1 1 1 2 3 4 5 7 9 11 10 6 -0 -7 -15 -17 -15 -9 -3 -2 -4 -6 -8 -7 -5 -4 -3 -4 -5 -6 -7 -7 -6 -5 -4 -3 -2 -2 -2 -3 -2 -2 -3 -5 -6 -8 -10 -10 -9 -10 -13 -15 -15 -14 -13 -12 -12 -13 -12 -10 -9 -8 -8 -8 -8 -8 -7 -6 -7 -8 -9 -11 -10 -11 -11 -12 -14 -14 -13 -10 -7 -8 -9 -9 -8 -6 -6 -7 -7 -8 -9 -9 -10 -11 -11 -11 -10 -9 -9 -11 -15 -18 -22 -24 -25 -25 -24 -23 -19 -15 -12 -10 -10 -10 -9 -8 -8 -8 -8 -9 -9 -9 -10 -11 -13 -14 -14 -15 -15 -15 -14 -14 -14 -14 -15 -16 -17 -17 -17 -16 -15 -13 -10 -8 -8 -11 -15 -15 -14 -14 -14 -16 -15 -11 -8 -6 -8 -11 -11 -11 -9 -9 -9 -10 -11 -14 -19 -22 -22 -18 -16 -15 -16 -18 -22 -25 -27 -28 -28 -29 -29 -27 -24 -23 -23 -23 -23 -23 -23 -23 -23 -22 -23 -24 -26 -27 -29 -29 -29 -29 -30 -31 -30 -29 -28 -26 -25 -24 -25 -26 -27 -28 -28 -28 -28 -28 -28 -27 -25 -23 -24 -25 -26 -24 -22 -21 -22 -22 -23 -23 -23 -23 -22 -22 -23 -23 -24 -25 -26 -27 -28 -31 -33 -33 -32 -31 -30 -28 -27 -26 -27 -27 -27 -26 -26 -25 -24 -24 -24 -23 -22 -22 -23 -25 -25 -27 -28 -25 -25 -24 -23 -23 -22 -20 -19 -19 -20 -19 -18 -18 -18 -18 -19 -19 -19 -20 -21 -22 -21 -21 -20 -20 -21 -22 -21 -22 -22 -23 -22 -22 -21 -21 -19 -19 -19 -19 -18 -20 -21 -21 -21 -22 -23 -23 -22 -22 -21 -22 -23 -24 -26 -26 -26 -26 -5 -3 -2 -3 -2 -2 -1 -1 -1 -3 -6 -8 -9 -10 -10 -9 -9 -8 -8 -9 -11 -11 -8 -4 -2 -2 -3 -3 -2 -1 -0 -1 -2 -3 -2 -1 -1 -2 -5 -7 -8 -8 -6 -5 -5 -4 -3 -2 -3 -4 -5 -6 -5 -4 -4 -3 -1 1 1 -0 -1 -1 1 3 4 4 2 0 -2 -5 -7 -7 -6 -5 -3 -2 -1 -1 -2 -3 -4 -4 -4 -2 -1 -0 -0 -0 1 1 2 3 3 4 5 6 8 10 10 7 1 -6 -11 -13 -10 -5 0 2 1 -1 -2 -4 -4 -5 -6 -7 -9 -10 -10 -9 -7 -4 -2 -0 -2 -4 -6 -8 -8 -5 -2 -2 -4 -8 -10 -11 -10 -11 -14 -17 -18 -18 -15 -13 -12 -11 -11 -9 -8 -7 -8 -9 -10 -9 -9 -7 -7 -7 -7 -8 -8 -9 -10 -11 -14 -15 -15 -14 -11 -10 -9 -8 -6 -6 -6 -7 -8 -8 -8 -9 -10 -12 -12 -12 -11 -10 -9 -11 -14 -18 -21 -23 -24 -24 -24 -24 -21 -18 -14 -10 -11 -12 -11 -9 -8 -7 -7 -7 -8 -8 -9 -11 -13 -14 -14 -14 -15 -16 -15 -14 -13 -12 -13 -14 -16 -17 -18 -18 -17 -15 -14 -12 -9 -8 -10 -10 -11 -12 -14 -15 -14 -11 -9 -7 -7 -9 -9 -8 -8 -8 -9 -9 -10 -14 -20 -23 -24 -21 -17 -16 -16 -18 -22 -24 -26 -27 -28 -28 -28 -27 -25 -23 -23 -23 -23 -23 -23 -23 -23 -23 -22 -23 -24 -25 -28 -30 -31 -32 -33 -33 -32 -31 -28 -26 -25 -24 -25 -26 -28 -28 -28 -28 -28 -28 -28 -28 -25 -24 -24 -25 -27 -25 -23 -22 -22 -21 -22 -23 -24 -24 -24 -24 -24 -25 -27 -27 -28 -28 -29 -31 -32 -32 -30 -28 -26 -25 -23 -24 -26 -26 -25 -24 -24 -24 -24 -24 -23 -21 -20 -21 -21 -23 -25 -27 -28 -26 -24 -23 -22 -23 -23 -22 -20 -18 -20 -19 -18 -17 -17 -18 -18 -20 -21 -20 -21 -22 -21 -21 -20 -21 -22 -22 -22 -22 -22 -23 -22 -22 -22 -21 -19 -19 -19 -19 -19 -20 -20 -20 -20 -20 -21 -22 -23 -25 -23 -22 -22 -22 -24 -24 -25 -26 -4 -2 -2 -3 -2 -2 -1 -1 -2 -4 -6 -8 -9 -9 -10 -9 -9 -9 -9 -10 -11 -10 -6 -3 -1 -2 -3 -4 -3 -2 -1 -3 -3 -3 -2 -0 -1 -3 -5 -7 -8 -7 -6 -5 -5 -3 -2 -1 -3 -6 -7 -6 -5 -4 -2 -1 0 1 1 1 1 1 2 3 3 3 1 -2 -5 -6 -7 -5 -4 -4 -3 -2 -1 -0 -1 -3 -5 -5 -4 -2 -1 -1 -1 -0 0 1 2 3 4 4 3 4 5 8 8 6 0 -6 -10 -10 -5 0 3 3 3 2 2 -0 -2 -5 -8 -10 -11 -12 -12 -10 -6 -1 3 4 1 -2 -6 -10 -14 -12 -8 -6 -7 -7 -9 -11 -12 -12 -14 -16 -18 -19 -18 -16 -12 -10 -11 -10 -8 -7 -8 -9 -10 -10 -9 -9 -9 -8 -8 -6 -7 -7 -8 -9 -11 -13 -15 -15 -15 -14 -12 -9 -7 -5 -5 -6 -8 -9 -9 -9 -9 -11 -12 -13 -13 -12 -12 -12 -13 -15 -18 -21 -23 -24 -24 -23 -22 -19 -16 -13 -13 -13 -13 -11 -10 -9 -8 -7 -6 -7 -8 -10 -13 -14 -14 -15 -15 -16 -15 -14 -13 -11 -11 -12 -13 -16 -18 -18 -17 -15 -14 -14 -13 -11 -9 -7 -7 -9 -12 -14 -13 -12 -12 -10 -8 -7 -7 -6 -5 -6 -7 -8 -10 -15 -20 -23 -24 -22 -18 -16 -16 -18 -22 -24 -26 -27 -28 -28 -28 -27 -26 -25 -24 -24 -24 -24 -24 -24 -24 -23 -23 -22 -23 -24 -27 -29 -31 -33 -34 -34 -33 -31 -28 -26 -25 -25 -25 -27 -28 -28 -28 -27 -28 -28 -29 -29 -27 -26 -26 -27 -27 -26 -24 -23 -22 -22 -22 -22 -23 -25 -26 -26 -27 -27 -29 -30 -31 -30 -29 -29 -30 -30 -28 -26 -25 -24 -23 -25 -27 -27 -25 -21 -21 -22 -23 -23 -22 -20 -20 -20 -22 -24 -26 -27 -27 -25 -23 -22 -21 -22 -23 -23 -22 -19 -19 -19 -17 -17 -17 -18 -19 -21 -22 -21 -20 -21 -21 -21 -21 -22 -22 -22 -22 -22 -23 -23 -22 -22 -23 -23 -21 -21 -20 -20 -19 -19 -20 -21 -20 -20 -20 -21 -22 -25 -24 -23 -23 -21 -23 -23 -24 -26 -2 -1 -2 -2 -2 -2 -2 -2 -3 -5 -7 -9 -10 -9 -9 -10 -10 -10 -10 -11 -11 -9 -5 -3 -2 -2 -3 -4 -3 -2 -2 -4 -4 -4 -1 -0 -2 -4 -5 -6 -7 -7 -6 -5 -4 -3 -2 -2 -3 -6 -7 -6 -5 -4 -2 0 1 2 2 2 2 2 2 2 1 1 -2 -5 -6 -7 -5 -3 -3 -3 -3 -3 -1 0 1 -1 -3 -4 -4 -2 -2 -2 -2 -1 -0 -0 1 2 3 3 2 2 2 5 5 4 0 -4 -7 -7 -4 1 3 3 3 3 3 1 -1 -3 -7 -10 -11 -12 -12 -10 -6 -0 4 5 4 2 -2 -6 -10 -12 -12 -11 -12 -10 -11 -12 -14 -14 -15 -16 -17 -17 -17 -14 -11 -10 -11 -12 -11 -10 -8 -8 -8 -9 -8 -9 -9 -9 -9 -7 -7 -8 -9 -9 -9 -10 -12 -14 -15 -14 -13 -11 -9 -7 -6 -7 -8 -9 -9 -9 -9 -10 -11 -13 -14 -14 -14 -14 -13 -13 -14 -17 -21 -23 -24 -24 -22 -20 -18 -15 -13 -13 -13 -13 -12 -11 -10 -9 -7 -7 -7 -7 -10 -13 -14 -15 -16 -16 -15 -15 -14 -11 -9 -9 -11 -14 -17 -18 -17 -15 -14 -14 -15 -14 -11 -7 -6 -7 -10 -13 -14 -14 -14 -12 -9 -8 -7 -6 -4 -3 -5 -7 -11 -16 -20 -22 -23 -22 -19 -17 -17 -20 -22 -24 -25 -27 -27 -27 -27 -27 -26 -26 -25 -25 -25 -25 -25 -25 -24 -24 -24 -23 -23 -24 -25 -28 -30 -32 -33 -34 -34 -32 -29 -26 -25 -25 -26 -27 -28 -28 -27 -27 -28 -29 -30 -32 -30 -28 -27 -28 -29 -27 -25 -24 -24 -23 -22 -22 -23 -26 -28 -29 -29 -29 -30 -32 -33 -33 -30 -29 -28 -28 -27 -26 -24 -25 -26 -28 -29 -28 -25 -20 -20 -21 -22 -22 -21 -20 -19 -20 -23 -25 -26 -27 -27 -26 -24 -22 -20 -21 -22 -23 -23 -21 -20 -19 -18 -18 -18 -19 -20 -22 -22 -21 -20 -20 -22 -22 -22 -22 -22 -22 -22 -22 -23 -23 -23 -22 -23 -24 -24 -22 -21 -21 -20 -20 -21 -23 -22 -22 -21 -21 -21 -22 -23 -23 -24 -22 -23 -24 -25 -26 -1 -1 -1 -2 -2 -2 -3 -3 -4 -6 -7 -9 -10 -9 -10 -11 -12 -12 -11 -12 -11 -9 -5 -3 -2 -2 -3 -4 -4 -3 -3 -5 -5 -4 -2 -1 -2 -4 -5 -5 -7 -7 -6 -5 -4 -4 -4 -4 -4 -6 -6 -5 -5 -4 -1 1 3 3 3 3 3 2 0 -1 -2 -3 -4 -6 -6 -5 -3 -2 -3 -4 -5 -5 -3 -0 1 1 -1 -3 -3 -3 -3 -3 -3 -2 -1 -2 -2 -1 -0 1 1 1 1 2 2 2 1 -1 -3 -5 -4 -2 1 2 2 2 2 1 -0 -2 -5 -8 -10 -11 -11 -11 -7 -2 2 4 4 3 1 -2 -4 -6 -8 -10 -12 -12 -12 -13 -13 -14 -14 -15 -16 -15 -14 -11 -8 -8 -10 -12 -12 -11 -10 -10 -9 -8 -8 -9 -10 -10 -9 -7 -7 -8 -9 -10 -9 -9 -10 -12 -14 -14 -14 -13 -11 -9 -7 -8 -9 -10 -10 -9 -8 -8 -10 -12 -14 -15 -15 -14 -13 -12 -12 -15 -19 -22 -24 -23 -22 -21 -19 -17 -14 -13 -13 -13 -13 -12 -12 -11 -10 -9 -8 -7 -8 -11 -13 -15 -16 -15 -15 -16 -15 -11 -9 -8 -10 -12 -15 -17 -17 -16 -14 -14 -15 -16 -14 -10 -7 -7 -8 -11 -14 -16 -16 -13 -10 -8 -7 -6 -4 -3 -3 -6 -10 -15 -18 -20 -22 -22 -21 -20 -19 -21 -23 -24 -25 -27 -27 -27 -27 -27 -26 -25 -25 -25 -26 -26 -26 -25 -25 -25 -25 -25 -25 -24 -25 -26 -27 -29 -30 -32 -33 -33 -31 -29 -27 -27 -27 -27 -27 -27 -26 -27 -28 -29 -31 -33 -31 -28 -26 -27 -28 -27 -26 -25 -25 -24 -24 -24 -24 -26 -29 -30 -30 -29 -30 -32 -35 -35 -32 -29 -27 -27 -27 -26 -25 -25 -28 -30 -29 -26 -23 -20 -20 -21 -22 -22 -21 -20 -20 -21 -24 -25 -27 -29 -30 -29 -26 -23 -21 -21 -23 -24 -24 -22 -21 -20 -19 -19 -20 -20 -20 -21 -21 -21 -21 -20 -22 -23 -23 -23 -22 -21 -22 -22 -23 -23 -23 -23 -23 -26 -26 -25 -23 -22 -22 -22 -23 -25 -25 -24 -22 -21 -21 -21 -22 -23 -24 -24 -25 -26 -27 -26 -0 -1 -2 -2 -2 -2 -3 -4 -5 -6 -8 -9 -10 -9 -10 -11 -13 -13 -13 -12 -11 -8 -5 -3 -3 -3 -3 -4 -4 -4 -4 -5 -5 -4 -2 -2 -3 -4 -5 -5 -6 -7 -7 -5 -5 -5 -5 -5 -5 -6 -5 -4 -4 -4 -1 2 4 4 4 4 3 1 -1 -3 -4 -5 -6 -6 -5 -3 -1 -3 -4 -6 -7 -6 -4 -1 1 1 -0 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 0 -0 0 1 1 0 -2 -4 -5 -5 -1 1 1 1 0 -0 -1 -2 -4 -7 -8 -9 -9 -10 -9 -6 -3 1 2 1 -0 -1 -2 -3 -5 -7 -10 -12 -12 -12 -11 -11 -12 -14 -14 -14 -11 -8 -6 -6 -8 -10 -11 -11 -11 -11 -11 -10 -9 -9 -10 -10 -10 -8 -8 -8 -9 -11 -11 -11 -10 -10 -12 -12 -13 -13 -12 -10 -9 -9 -10 -11 -11 -10 -9 -7 -8 -10 -12 -13 -13 -14 -14 -13 -13 -15 -18 -21 -23 -23 -21 -20 -19 -17 -15 -13 -13 -13 -13 -13 -13 -12 -12 -11 -10 -10 -9 -10 -11 -12 -13 -13 -14 -15 -15 -12 -10 -9 -9 -10 -12 -14 -16 -16 -14 -13 -14 -15 -15 -13 -10 -9 -8 -10 -13 -15 -16 -14 -11 -8 -6 -5 -5 -4 -4 -6 -11 -14 -15 -17 -20 -21 -22 -21 -21 -22 -23 -24 -25 -26 -27 -28 -27 -27 -25 -24 -24 -25 -26 -26 -27 -26 -26 -26 -27 -27 -26 -25 -25 -25 -26 -26 -28 -30 -31 -32 -33 -31 -30 -28 -28 -27 -26 -25 -25 -26 -27 -29 -30 -32 -31 -27 -25 -25 -26 -26 -25 -25 -26 -26 -25 -25 -24 -26 -27 -29 -29 -28 -28 -30 -33 -35 -32 -29 -27 -28 -28 -26 -25 -25 -28 -28 -26 -23 -22 -21 -22 -23 -23 -22 -22 -22 -21 -22 -23 -25 -28 -32 -33 -32 -28 -24 -23 -23 -23 -24 -24 -23 -23 -22 -21 -21 -21 -21 -21 -20 -20 -20 -20 -20 -21 -23 -23 -22 -22 -21 -22 -23 -23 -23 -23 -23 -24 -26 -27 -26 -24 -24 -23 -23 -23 -25 -24 -23 -22 -21 -21 -21 -21 -23 -25 -26 -26 -27 -28 -27 -0 -1 -2 -2 -2 -3 -3 -4 -5 -7 -8 -9 -9 -8 -9 -11 -13 -14 -14 -13 -10 -7 -5 -4 -3 -3 -3 -4 -4 -4 -5 -5 -5 -4 -3 -3 -3 -4 -4 -5 -5 -6 -7 -6 -6 -6 -6 -5 -5 -5 -4 -2 -2 -3 -1 2 5 6 6 4 2 -1 -2 -4 -5 -6 -5 -4 -2 -1 -2 -4 -7 -9 -9 -5 -3 -2 -1 -1 -0 -0 -1 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 -0 -0 -2 -3 -5 -6 -5 -1 1 1 0 -1 -1 -2 -4 -5 -7 -6 -6 -6 -7 -9 -8 -7 -3 -2 -2 -4 -5 -5 -5 -6 -8 -11 -12 -12 -11 -10 -9 -10 -11 -12 -12 -10 -7 -5 -6 -7 -8 -8 -9 -10 -11 -11 -11 -10 -10 -10 -11 -11 -10 -9 -8 -8 -10 -12 -12 -11 -10 -10 -10 -10 -11 -12 -11 -10 -9 -10 -10 -11 -11 -10 -9 -9 -9 -9 -10 -11 -12 -13 -14 -16 -16 -17 -19 -21 -21 -20 -19 -18 -17 -16 -14 -13 -12 -12 -12 -12 -12 -12 -12 -12 -11 -10 -10 -11 -11 -11 -11 -12 -13 -14 -14 -12 -10 -9 -8 -9 -11 -13 -15 -14 -13 -13 -14 -15 -14 -13 -12 -11 -11 -12 -14 -14 -14 -12 -10 -7 -4 -4 -5 -6 -8 -10 -12 -15 -19 -20 -20 -20 -20 -20 -21 -23 -24 -24 -25 -27 -28 -27 -27 -25 -25 -24 -25 -25 -26 -27 -28 -28 -28 -28 -28 -27 -26 -25 -25 -25 -26 -27 -28 -30 -31 -33 -32 -31 -31 -29 -27 -25 -25 -24 -24 -25 -27 -29 -32 -30 -27 -25 -26 -26 -26 -25 -25 -26 -26 -26 -25 -25 -25 -26 -26 -26 -26 -26 -27 -29 -31 -30 -29 -28 -29 -29 -27 -25 -24 -25 -25 -23 -21 -21 -22 -23 -23 -24 -23 -23 -22 -22 -23 -24 -26 -28 -33 -34 -33 -29 -24 -23 -23 -24 -25 -25 -26 -26 -25 -24 -23 -22 -22 -21 -20 -19 -19 -19 -19 -20 -22 -22 -21 -21 -21 -22 -23 -23 -23 -23 -23 -24 -25 -24 -23 -22 -24 -23 -22 -22 -24 -24 -23 -22 -21 -20 -20 -20 -22 -26 -27 -28 -28 -28 -28 0 -1 -2 -3 -3 -4 -4 -5 -6 -6 -7 -8 -8 -7 -9 -11 -13 -14 -14 -13 -10 -7 -5 -4 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -6 -7 -8 -7 -6 -5 -4 -4 -4 -3 -1 -1 -1 0 2 4 6 5 3 0 -3 -3 -3 -4 -5 -3 -1 -1 -1 -4 -9 -12 -12 -8 -4 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 1 2 1 0 0 0 0 1 1 -0 -1 -1 -1 -2 -2 -3 -4 -6 -6 -5 -2 1 2 2 1 0 -2 -5 -7 -7 -5 -4 -3 -4 -7 -8 -7 -5 -3 -3 -5 -8 -9 -11 -12 -13 -14 -15 -14 -12 -11 -10 -9 -9 -9 -9 -8 -7 -6 -5 -6 -6 -6 -6 -7 -10 -11 -12 -12 -12 -12 -12 -12 -12 -10 -9 -8 -8 -10 -11 -11 -10 -9 -8 -8 -9 -11 -12 -11 -10 -9 -10 -10 -11 -11 -11 -10 -10 -9 -8 -8 -9 -11 -14 -17 -17 -17 -18 -19 -19 -19 -18 -17 -16 -16 -15 -14 -13 -12 -12 -11 -11 -11 -12 -11 -11 -11 -11 -11 -11 -10 -10 -11 -12 -13 -13 -13 -13 -12 -10 -8 -8 -11 -14 -14 -12 -12 -12 -14 -14 -14 -13 -13 -13 -14 -14 -14 -12 -11 -10 -8 -6 -5 -6 -7 -9 -11 -13 -15 -18 -19 -17 -17 -19 -21 -22 -24 -25 -24 -25 -26 -27 -27 -27 -26 -25 -25 -25 -25 -26 -27 -28 -29 -29 -29 -29 -28 -27 -26 -25 -25 -26 -27 -28 -29 -30 -31 -32 -32 -32 -30 -28 -26 -24 -23 -23 -23 -24 -28 -31 -30 -27 -26 -26 -27 -27 -28 -27 -27 -26 -26 -25 -25 -25 -24 -23 -23 -24 -25 -25 -26 -27 -28 -28 -29 -29 -29 -29 -27 -24 -23 -22 -21 -21 -21 -22 -23 -24 -24 -23 -23 -23 -23 -24 -25 -27 -28 -32 -33 -32 -29 -25 -23 -24 -25 -27 -27 -28 -28 -27 -27 -25 -23 -22 -22 -21 -20 -19 -19 -19 -20 -21 -21 -21 -21 -21 -23 -24 -25 -24 -23 -23 -23 -23 -21 -19 -19 -23 -23 -22 -22 -25 -25 -24 -21 -20 -19 -19 -19 -20 -26 -27 -28 -28 -28 -28 0 -1 -3 -3 -4 -4 -5 -5 -6 -6 -7 -7 -7 -7 -8 -10 -12 -13 -14 -12 -10 -7 -6 -5 -4 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -5 -6 -7 -8 -8 -7 -5 -3 -3 -3 -3 -1 0 1 1 2 2 4 4 2 1 -1 -2 -2 -2 -3 -3 -1 0 -0 -3 -8 -12 -13 -11 -6 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -1 0 1 1 2 3 4 3 3 3 2 1 -0 -1 -1 -1 -1 -2 -4 -6 -6 -4 -0 2 4 3 2 -1 -4 -6 -6 -5 -3 -2 -3 -5 -7 -7 -6 -4 -3 -4 -8 -11 -13 -15 -17 -18 -18 -18 -16 -14 -12 -10 -9 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -6 -8 -10 -11 -13 -14 -14 -14 -13 -13 -12 -10 -8 -8 -8 -9 -9 -10 -9 -8 -7 -7 -9 -10 -11 -10 -9 -10 -11 -12 -12 -12 -12 -11 -10 -9 -8 -8 -9 -11 -14 -16 -17 -18 -19 -19 -18 -17 -17 -16 -16 -16 -15 -14 -13 -12 -11 -9 -10 -10 -10 -10 -11 -12 -12 -12 -12 -11 -10 -10 -11 -12 -13 -14 -14 -13 -10 -9 -8 -10 -11 -11 -11 -11 -13 -14 -15 -14 -13 -15 -16 -16 -15 -12 -10 -10 -10 -9 -7 -7 -9 -11 -13 -14 -15 -17 -19 -18 -17 -19 -22 -24 -26 -26 -25 -25 -25 -26 -26 -26 -26 -25 -25 -25 -25 -26 -26 -27 -28 -29 -30 -30 -29 -28 -27 -26 -26 -27 -27 -27 -27 -29 -29 -30 -30 -31 -31 -29 -27 -25 -24 -23 -23 -24 -26 -28 -27 -26 -26 -27 -28 -30 -31 -30 -28 -26 -24 -25 -24 -24 -23 -23 -22 -23 -24 -24 -23 -24 -25 -26 -28 -29 -30 -30 -29 -25 -24 -23 -22 -22 -22 -22 -23 -23 -24 -23 -23 -23 -24 -26 -27 -29 -30 -31 -33 -33 -30 -27 -24 -24 -26 -28 -29 -29 -29 -29 -28 -26 -24 -23 -24 -23 -21 -20 -20 -20 -21 -22 -21 -21 -21 -22 -23 -25 -26 -25 -23 -22 -22 -22 -20 -17 -17 -21 -23 -24 -23 -25 -25 -24 -20 -19 -19 -19 -19 -20 -24 -26 -27 -27 -26 -26 0 -1 -3 -4 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -7 -9 -11 -12 -13 -12 -10 -7 -6 -5 -4 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -7 -8 -9 -8 -6 -4 -3 -3 -3 -2 -0 1 2 1 2 3 4 2 -1 -3 -3 -2 -1 -1 -1 -1 0 1 -1 -5 -10 -12 -11 -7 -2 -0 -1 -2 -3 -4 -4 -3 -3 -4 -4 -3 -2 -2 -1 1 3 4 5 5 5 4 3 2 1 0 -0 0 1 -1 -3 -5 -4 -2 1 3 4 3 0 -3 -5 -5 -4 -2 -1 -3 -5 -6 -7 -8 -6 -5 -5 -7 -10 -12 -14 -16 -17 -19 -21 -21 -19 -13 -9 -7 -7 -8 -7 -7 -7 -6 -7 -6 -6 -6 -7 -7 -8 -10 -12 -14 -16 -16 -15 -14 -13 -11 -10 -8 -7 -7 -7 -8 -9 -8 -7 -6 -7 -8 -9 -9 -9 -10 -11 -12 -12 -13 -13 -13 -12 -11 -10 -9 -9 -10 -12 -13 -15 -16 -17 -18 -18 -17 -16 -17 -17 -17 -16 -14 -13 -12 -10 -9 -8 -9 -10 -11 -11 -12 -13 -13 -13 -13 -12 -11 -10 -11 -12 -14 -15 -15 -14 -12 -10 -10 -11 -11 -11 -10 -11 -13 -15 -15 -15 -15 -16 -17 -18 -14 -11 -10 -12 -12 -11 -10 -10 -12 -13 -13 -14 -16 -18 -18 -17 -17 -20 -25 -27 -27 -25 -25 -25 -26 -26 -26 -26 -26 -26 -26 -26 -26 -26 -26 -27 -28 -29 -30 -29 -28 -27 -27 -26 -26 -27 -27 -26 -27 -28 -28 -28 -29 -30 -30 -28 -26 -25 -25 -25 -24 -24 -25 -25 -25 -26 -28 -28 -30 -31 -31 -29 -26 -23 -24 -24 -24 -24 -24 -24 -24 -24 -24 -22 -23 -23 -24 -26 -28 -30 -31 -31 -28 -26 -25 -24 -23 -22 -22 -23 -23 -23 -23 -23 -24 -26 -27 -28 -29 -29 -32 -34 -35 -33 -30 -27 -25 -25 -28 -29 -31 -31 -30 -29 -27 -26 -25 -25 -24 -23 -21 -21 -22 -23 -23 -22 -21 -21 -22 -23 -25 -26 -25 -23 -21 -22 -22 -21 -19 -17 -19 -21 -24 -24 -24 -23 -22 -21 -21 -20 -19 -19 -21 -23 -25 -27 -26 -24 -23 -0 -2 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -10 -11 -12 -11 -10 -8 -6 -5 -4 -4 -3 -3 -4 -4 -4 -5 -6 -6 -5 -4 -4 -4 -5 -5 -7 -8 -7 -5 -4 -4 -4 -4 -4 -1 0 1 0 0 2 3 3 1 -3 -5 -5 -4 -2 -2 -1 -1 0 -0 -3 -7 -11 -10 -7 -3 -0 -0 -1 -3 -6 -8 -6 -4 -4 -4 -5 -5 -5 -5 -4 -3 -1 1 2 3 4 5 5 4 3 2 1 0 1 1 -0 -1 -2 -1 0 3 4 3 1 -1 -3 -4 -4 -3 -2 -3 -4 -5 -6 -7 -7 -7 -7 -8 -10 -11 -12 -13 -15 -18 -22 -25 -24 -17 -10 -6 -7 -8 -9 -9 -8 -6 -6 -6 -6 -6 -6 -6 -7 -9 -11 -13 -15 -16 -16 -15 -13 -12 -10 -9 -7 -6 -6 -7 -8 -8 -7 -7 -6 -6 -7 -7 -8 -10 -11 -11 -12 -14 -14 -14 -13 -12 -11 -11 -10 -9 -10 -11 -13 -14 -16 -17 -17 -18 -17 -17 -18 -18 -17 -16 -14 -12 -11 -10 -9 -10 -10 -10 -11 -11 -12 -12 -13 -14 -14 -13 -12 -11 -11 -12 -14 -16 -16 -15 -14 -14 -13 -11 -8 -7 -8 -11 -14 -16 -15 -15 -15 -16 -19 -18 -15 -13 -14 -16 -15 -13 -11 -11 -11 -10 -10 -13 -18 -19 -18 -16 -19 -24 -26 -25 -23 -24 -25 -26 -27 -27 -27 -28 -27 -27 -27 -26 -25 -25 -25 -26 -28 -28 -28 -28 -27 -26 -25 -26 -26 -26 -25 -25 -26 -26 -26 -26 -28 -29 -29 -28 -27 -26 -25 -24 -22 -23 -24 -25 -26 -27 -28 -28 -28 -29 -29 -27 -23 -22 -23 -25 -25 -25 -25 -26 -25 -24 -23 -23 -23 -23 -25 -27 -29 -32 -33 -30 -28 -26 -25 -24 -22 -22 -22 -23 -23 -23 -23 -25 -28 -28 -26 -25 -26 -29 -33 -35 -35 -33 -29 -25 -23 -26 -29 -31 -32 -32 -31 -30 -28 -26 -25 -24 -23 -22 -22 -24 -25 -24 -22 -21 -21 -22 -23 -25 -25 -24 -23 -21 -21 -22 -22 -23 -19 -16 -17 -21 -23 -23 -22 -21 -23 -23 -22 -21 -21 -23 -24 -25 -27 -26 -23 -21 -1 -2 -3 -4 -5 -6 -6 -6 -6 -5 -5 -5 -5 -6 -7 -8 -9 -10 -10 -10 -9 -8 -8 -6 -5 -4 -4 -4 -4 -4 -4 -6 -6 -6 -5 -4 -4 -4 -5 -6 -7 -7 -5 -2 -2 -4 -5 -5 -3 -1 -0 -1 -1 0 1 2 2 -1 -3 -5 -5 -4 -3 -3 -2 -1 -1 -3 -6 -8 -9 -6 -3 -0 1 -0 -1 -3 -7 -10 -7 -5 -4 -5 -5 -6 -7 -7 -7 -6 -4 -3 -2 -0 1 3 4 4 4 3 1 -1 -1 -1 -0 1 1 1 2 3 4 4 2 1 -1 -3 -3 -4 -4 -4 -5 -5 -5 -6 -7 -7 -8 -9 -10 -11 -11 -12 -12 -14 -18 -22 -23 -17 -10 -6 -6 -8 -9 -10 -10 -8 -7 -5 -5 -5 -5 -6 -7 -9 -10 -12 -14 -15 -16 -15 -13 -11 -10 -9 -8 -7 -7 -7 -8 -8 -8 -8 -7 -5 -5 -6 -7 -9 -10 -11 -12 -14 -15 -16 -15 -14 -12 -11 -10 -10 -10 -10 -11 -13 -14 -15 -17 -17 -18 -18 -18 -18 -17 -16 -15 -14 -12 -10 -10 -10 -9 -9 -10 -10 -10 -11 -12 -13 -15 -15 -14 -12 -11 -11 -13 -16 -17 -17 -18 -20 -17 -13 -8 -6 -6 -8 -11 -15 -15 -14 -14 -14 -17 -19 -18 -17 -15 -16 -16 -15 -11 -10 -10 -9 -9 -11 -17 -20 -19 -17 -20 -23 -24 -23 -22 -23 -24 -25 -27 -27 -27 -27 -27 -27 -27 -26 -26 -24 -23 -24 -25 -26 -26 -27 -27 -26 -24 -25 -26 -26 -25 -24 -25 -26 -26 -26 -26 -27 -28 -29 -28 -27 -25 -22 -21 -22 -23 -25 -26 -26 -26 -26 -25 -26 -27 -27 -24 -22 -24 -26 -27 -27 -27 -27 -26 -24 -23 -23 -23 -23 -24 -26 -29 -32 -34 -33 -31 -28 -25 -25 -23 -22 -22 -22 -22 -22 -23 -26 -29 -27 -24 -22 -24 -28 -31 -33 -34 -33 -29 -24 -21 -24 -27 -30 -33 -34 -33 -32 -30 -28 -26 -24 -23 -23 -23 -24 -24 -24 -21 -20 -21 -22 -23 -24 -24 -23 -22 -20 -20 -21 -21 -22 -21 -18 -16 -19 -22 -23 -23 -22 -25 -25 -24 -23 -23 -24 -25 -26 -27 -26 -23 -21 -1 -2 -2 -3 -5 -6 -6 -6 -6 -5 -5 -5 -5 -6 -7 -8 -8 -8 -9 -9 -9 -9 -9 -8 -6 -5 -4 -4 -4 -4 -5 -6 -7 -7 -6 -5 -5 -5 -6 -7 -6 -4 -2 0 -2 -4 -5 -3 -1 -1 -1 -2 -1 1 1 1 0 -2 -4 -4 -4 -4 -4 -3 -3 -3 -3 -6 -8 -9 -7 -3 -0 1 1 0 -1 -3 -5 -8 -6 -4 -4 -5 -5 -5 -7 -8 -9 -7 -5 -5 -5 -4 -3 -1 2 3 4 3 1 -2 -3 -4 -3 -1 2 3 4 4 5 4 3 2 0 -2 -3 -4 -5 -5 -6 -5 -5 -6 -7 -7 -8 -9 -9 -10 -11 -12 -13 -13 -14 -16 -17 -14 -9 -6 -5 -6 -8 -9 -10 -10 -9 -7 -6 -5 -5 -5 -6 -7 -8 -10 -12 -13 -15 -15 -14 -12 -10 -9 -8 -8 -8 -8 -8 -8 -7 -7 -8 -6 -6 -6 -7 -9 -10 -11 -11 -13 -16 -17 -18 -16 -14 -12 -10 -10 -10 -10 -11 -11 -12 -14 -15 -16 -17 -18 -18 -18 -17 -16 -15 -15 -13 -12 -11 -10 -10 -9 -9 -10 -10 -10 -11 -12 -14 -15 -15 -14 -13 -12 -13 -15 -16 -18 -20 -23 -21 -16 -11 -8 -6 -7 -10 -12 -13 -13 -12 -11 -13 -17 -19 -19 -17 -16 -15 -13 -11 -11 -12 -12 -10 -10 -15 -19 -20 -19 -20 -21 -22 -22 -22 -22 -23 -24 -26 -26 -27 -27 -26 -25 -25 -25 -25 -24 -23 -23 -23 -24 -24 -25 -25 -25 -25 -26 -27 -26 -24 -23 -24 -25 -26 -26 -27 -28 -29 -30 -30 -29 -26 -23 -21 -22 -23 -25 -26 -26 -25 -25 -24 -24 -27 -29 -26 -23 -25 -27 -28 -29 -29 -28 -26 -25 -23 -22 -23 -23 -23 -24 -27 -31 -35 -34 -32 -29 -25 -25 -23 -21 -21 -22 -22 -22 -23 -25 -28 -27 -24 -22 -25 -28 -31 -31 -31 -31 -28 -24 -20 -19 -22 -28 -33 -35 -35 -34 -32 -29 -27 -25 -23 -23 -23 -23 -23 -23 -20 -20 -20 -21 -22 -23 -23 -23 -20 -20 -20 -20 -20 -21 -20 -19 -20 -22 -24 -25 -25 -24 -25 -25 -25 -24 -24 -25 -26 -27 -27 -25 -22 -21 -2 -2 -2 -3 -5 -6 -7 -7 -6 -5 -4 -4 -6 -7 -7 -8 -8 -8 -8 -8 -9 -9 -10 -9 -7 -5 -4 -4 -4 -5 -5 -7 -7 -7 -6 -6 -6 -6 -7 -7 -5 -1 1 1 -1 -3 -2 -1 -0 -2 -3 -2 -0 1 1 1 -0 -2 -4 -4 -4 -4 -3 -2 -3 -4 -6 -9 -10 -9 -6 -2 -1 -0 -0 -1 -1 -2 -3 -5 -4 -3 -3 -4 -4 -5 -6 -8 -9 -7 -5 -5 -5 -6 -6 -4 -1 1 2 1 -0 -2 -4 -6 -6 -5 -0 3 5 6 6 5 4 3 0 -3 -4 -5 -4 -5 -6 -6 -6 -8 -9 -9 -9 -8 -8 -9 -10 -12 -13 -14 -14 -13 -12 -10 -7 -6 -5 -6 -7 -8 -10 -10 -10 -9 -8 -7 -6 -6 -5 -5 -6 -7 -8 -10 -13 -14 -14 -13 -12 -11 -10 -10 -9 -9 -9 -7 -6 -6 -6 -6 -6 -6 -7 -9 -10 -11 -11 -13 -16 -19 -20 -19 -16 -13 -10 -10 -10 -10 -10 -10 -11 -11 -13 -14 -16 -17 -17 -18 -17 -16 -16 -15 -14 -13 -12 -11 -10 -9 -9 -9 -9 -10 -10 -11 -12 -13 -14 -15 -14 -13 -13 -13 -15 -17 -20 -23 -23 -20 -15 -11 -9 -9 -9 -10 -11 -11 -10 -8 -8 -12 -17 -21 -21 -18 -15 -13 -12 -12 -13 -13 -12 -12 -15 -17 -19 -19 -20 -21 -21 -21 -21 -21 -22 -23 -24 -25 -26 -26 -26 -24 -22 -23 -24 -25 -24 -23 -23 -23 -24 -24 -24 -24 -25 -27 -27 -27 -24 -23 -24 -25 -26 -26 -27 -28 -30 -31 -31 -31 -30 -28 -25 -25 -25 -26 -26 -26 -26 -26 -24 -24 -26 -29 -27 -24 -25 -27 -28 -28 -29 -29 -28 -26 -24 -23 -22 -22 -22 -23 -25 -29 -33 -34 -33 -29 -25 -23 -21 -20 -21 -21 -22 -22 -22 -25 -28 -28 -26 -24 -27 -30 -31 -29 -27 -28 -27 -23 -20 -18 -20 -24 -31 -35 -36 -35 -32 -29 -27 -25 -23 -23 -23 -23 -23 -23 -21 -20 -20 -20 -21 -22 -22 -22 -20 -19 -19 -19 -19 -20 -19 -19 -19 -21 -23 -25 -26 -26 -26 -25 -25 -24 -24 -25 -26 -28 -26 -23 -21 -21 -3 -2 -2 -3 -5 -6 -7 -7 -6 -4 -4 -4 -6 -7 -7 -7 -8 -7 -7 -7 -8 -9 -10 -9 -8 -6 -5 -4 -5 -6 -6 -7 -8 -8 -8 -7 -8 -8 -7 -6 -4 -0 1 0 -1 -0 1 1 0 -2 -2 -2 -0 0 0 0 -0 -2 -3 -3 -3 -3 -1 -1 -2 -4 -8 -10 -10 -8 -4 -3 -2 -3 -2 -2 -2 -2 -3 -3 -2 -3 -3 -4 -3 -3 -4 -5 -6 -6 -5 -4 -4 -4 -5 -5 -5 -3 -2 -1 -1 -1 -2 -3 -4 -5 -3 -0 3 6 7 6 5 2 -1 -5 -7 -8 -6 -4 -4 -4 -6 -10 -13 -13 -11 -9 -7 -7 -7 -8 -11 -14 -17 -16 -13 -8 -6 -6 -6 -7 -7 -8 -9 -9 -10 -10 -10 -10 -9 -8 -6 -5 -4 -4 -5 -7 -9 -12 -14 -13 -13 -12 -11 -11 -10 -10 -9 -7 -6 -5 -6 -6 -6 -7 -8 -10 -12 -13 -13 -14 -16 -18 -20 -20 -18 -14 -11 -9 -8 -9 -9 -10 -10 -10 -11 -12 -14 -15 -16 -17 -18 -17 -16 -15 -15 -14 -13 -12 -11 -10 -9 -9 -9 -9 -9 -10 -10 -11 -12 -13 -15 -16 -16 -14 -14 -15 -18 -21 -23 -23 -20 -14 -11 -9 -9 -8 -9 -10 -8 -5 -4 -7 -13 -19 -22 -21 -18 -16 -14 -14 -14 -13 -13 -14 -14 -15 -16 -18 -19 -20 -21 -21 -22 -22 -22 -22 -23 -24 -25 -26 -25 -23 -22 -21 -22 -23 -23 -23 -23 -23 -24 -25 -25 -25 -25 -26 -26 -26 -25 -24 -24 -24 -25 -26 -27 -28 -29 -30 -32 -33 -34 -32 -30 -28 -27 -28 -28 -27 -27 -27 -25 -25 -26 -28 -26 -25 -25 -26 -27 -27 -29 -30 -30 -28 -26 -24 -23 -22 -21 -22 -23 -25 -30 -32 -32 -30 -26 -23 -21 -20 -20 -21 -22 -23 -24 -27 -30 -31 -29 -28 -29 -29 -29 -28 -26 -26 -26 -23 -23 -22 -22 -25 -28 -32 -33 -33 -32 -29 -27 -26 -24 -23 -23 -24 -23 -22 -22 -21 -21 -21 -21 -22 -22 -21 -19 -19 -19 -19 -17 -19 -19 -18 -18 -19 -21 -23 -25 -25 -26 -26 -25 -25 -24 -24 -26 -27 -25 -23 -22 -22 -3 -2 -2 -3 -5 -6 -7 -7 -6 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -9 -8 -7 -5 -5 -6 -7 -7 -7 -8 -8 -9 -9 -9 -8 -6 -4 -3 -1 1 1 1 2 2 1 -0 -0 -0 -0 -0 -1 -0 -0 -0 -1 -3 -3 -2 -0 1 0 -1 -4 -7 -8 -8 -6 -4 -4 -4 -4 -3 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -3 -3 -4 -5 -5 -3 0 1 -1 -4 -7 -8 -7 -3 1 3 2 1 -0 -1 -1 -1 -0 2 6 6 4 0 -4 -8 -10 -10 -9 -5 -3 -4 -7 -12 -14 -15 -14 -12 -9 -7 -5 -5 -6 -11 -15 -18 -16 -11 -8 -7 -6 -8 -8 -8 -8 -8 -8 -9 -10 -11 -11 -10 -8 -6 -4 -2 -3 -4 -6 -9 -10 -12 -12 -12 -12 -11 -10 -10 -9 -8 -7 -6 -6 -6 -7 -8 -9 -10 -12 -14 -14 -15 -18 -19 -19 -18 -16 -14 -11 -9 -8 -8 -9 -9 -9 -9 -10 -10 -11 -13 -15 -17 -18 -18 -17 -17 -16 -16 -15 -14 -12 -11 -10 -9 -9 -9 -9 -10 -10 -10 -11 -12 -13 -15 -16 -15 -15 -16 -18 -22 -25 -25 -24 -19 -15 -13 -11 -10 -9 -8 -6 -5 -3 -5 -9 -15 -20 -22 -22 -21 -19 -16 -14 -13 -13 -15 -15 -15 -14 -15 -18 -21 -23 -23 -23 -22 -22 -22 -22 -23 -23 -23 -23 -23 -22 -21 -21 -22 -22 -22 -22 -23 -24 -24 -24 -25 -24 -24 -25 -26 -25 -24 -23 -23 -25 -26 -27 -28 -28 -30 -32 -34 -35 -35 -33 -31 -29 -29 -28 -27 -27 -29 -28 -27 -27 -26 -26 -26 -26 -25 -25 -25 -27 -29 -30 -30 -29 -26 -24 -22 -21 -21 -22 -23 -27 -30 -32 -31 -28 -24 -22 -20 -21 -22 -23 -24 -26 -29 -32 -32 -31 -30 -28 -26 -25 -27 -27 -26 -25 -24 -26 -26 -26 -27 -26 -27 -29 -29 -29 -28 -28 -28 -26 -25 -24 -23 -23 -22 -22 -22 -22 -21 -20 -21 -21 -20 -20 -20 -20 -18 -17 -19 -19 -18 -18 -18 -20 -22 -23 -24 -25 -26 -26 -26 -25 -24 -25 -24 -23 -23 -23 -25