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 1 2 4 10 21 31 34 31 23 14 6 3 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 11 20 20 14 8 9 14 17 13 5 0 0 0 2 7 9 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 1 2 6 8 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 12 22 30 35 35 30 22 17 16 14 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 2 9 11 7 2 1 6 13 15 8 2 0 0 0 4 8 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 12 19 26 30 31 30 28 26 20 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 1 0 0 0 0 1 8 14 12 4 0 0 0 2 6 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 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 8 12 16 17 17 17 17 14 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 5 10 12 7 0 0 0 0 4 7 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 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 2 7 15 10 3 0 0 0 5 8 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 10 10 5 1 0 0 3 12 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 1 2 4 6 7 4 1 0 0 0 6 12 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 7 4 1 0 0 1 4 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 9 8 2 0 0 1 3 8 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 8 11 9 2 0 0 2 6 8 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 1 6 11 12 6 0 0 0 3 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 10 11 7 1 0 0 2 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 8 6 2 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 1 5 4 1 0 0 0 0 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 18 15 14 15 16 18 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 8 9 10 11 nan nan 12 13 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 13 11 11 11 13 16 17 18 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 10 nan nan nan nan 12 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 10 8 7 6 7 8 11 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 14 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 3 3 3 3 4 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 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 nan nan nan nan nan 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 128 133 132 126 116 106 99 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 332 335 339 341 nan nan 343 348 354 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 122 140 148 149 142 131 114 104 99 94 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 340 nan nan nan nan 344 348 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 132 147 158 166 167 162 155 140 111 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 349 351 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 174 196 207 206 198 188 178 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 351 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 350 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 351 nan nan nan nan nan 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 353 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 1 1 2 3 3 4 4 4 3 3 3 3 2 3 4 6 8 10 11 11 9 7 7 9 9 10 10 10 8 7 6 6 7 7 7 8 9 11 15 20 23 24 23 19 15 10 7 7 7 6 4 -0 -4 -7 -8 -7 -5 -1 1 4 5 7 8 9 10 10 10 9 6 2 -2 -6 -9 -12 -13 -14 -13 -12 -10 -8 -7 -7 -8 -8 -7 -7 -7 -7 -8 -8 -8 -9 -9 -8 -10 -13 -15 -16 -16 -14 -13 -13 -14 -16 -17 -17 -16 -17 -18 -19 -17 -15 -14 -16 -19 -20 -18 -14 -11 -9 -9 -11 -12 -11 -9 -9 -10 -12 -11 -8 -7 -10 -15 -17 -15 -10 -9 -11 -12 -11 -8 -6 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -12 -11 -11 -11 -12 -12 -12 -12 -13 -13 -13 -14 -14 -15 -15 -15 -15 -14 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -14 -15 -15 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -11 -11 -10 -9 -8 -8 -8 -8 -8 -7 -6 -5 -5 -4 -4 -3 -2 -1 -1 -1 -0 -0 -0 -0 1 1 -0 -0 -0 -0 -0 -0 -0 -0 1 1 2 2 2 3 3 4 4 4 5 5 6 6 6 7 7 8 8 9 10 10 11 12 13 14 15 16 17 18 19 20 20 21 21 20 20 19 18 18 17 16 16 15 15 15 15 16 16 15 14 13 13 13 13 14 14 16 16 16 16 16 16 16 15 14 14 14 14 14 15 16 17 18 19 19 18 17 15 15 15 17 18 19 20 20 20 21 20 19 18 18 18 18 20 21 22 22 22 20 18 14 8 1 -2 -4 -6 -9 -12 -15 -17 -19 -21 -24 -26 -24 -18 -14 -12 -12 -11 -10 -9 -8 -8 -9 -10 -10 -9 -9 -8 -8 -8 -8 -7 -6 -4 -3 -4 -7 -9 -10 -9 2 3 3 3 4 4 4 4 4 4 4 5 5 6 6 8 10 12 13 12 11 10 10 12 13 13 13 11 9 7 7 6 6 6 5 5 4 4 6 11 17 25 29 29 26 22 17 14 12 11 8 5 1 -2 -6 -8 -9 -6 -3 -0 2 4 5 6 7 7 8 9 8 6 4 -0 -4 -8 -12 -15 -16 -15 -13 -12 -12 -12 -11 -9 -7 -7 -8 -10 -12 -12 -9 -7 -8 -10 -12 -16 -17 -17 -15 -13 -13 -13 -15 -16 -17 -16 -17 -18 -19 -19 -17 -15 -16 -19 -19 -17 -13 -9 -8 -8 -10 -11 -10 -8 -7 -8 -10 -10 -8 -6 -8 -12 -16 -15 -11 -8 -10 -12 -12 -9 -6 -5 -6 -6 -6 -6 -7 -7 -8 -8 -8 -7 -7 -8 -8 -9 -9 -10 -10 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -13 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -12 -12 -12 -11 -11 -10 -9 -9 -8 -8 -8 -8 -8 -7 -6 -5 -5 -4 -3 -2 -1 -1 -1 -0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 3 3 3 3 4 4 5 5 5 6 6 7 8 8 9 9 10 11 12 12 14 14 15 17 18 19 20 21 22 22 22 22 21 20 20 19 18 18 17 16 16 16 17 17 17 17 15 15 14 14 14 14 14 15 15 16 16 16 16 16 15 15 15 15 15 15 16 17 17 18 18 17 16 16 16 17 17 18 18 19 20 20 21 21 20 20 19 20 20 21 22 22 22 22 21 19 17 13 9 4 -1 -4 -7 -10 -12 -15 -17 -18 -20 -23 -27 -24 -19 -15 -13 -13 -12 -11 -10 -10 -10 -11 -10 -9 -8 -7 -6 -6 -5 -5 -5 -5 -5 -6 -10 -12 -13 -10 4 4 4 4 4 5 5 6 6 6 7 8 8 8 9 10 12 14 15 14 12 13 14 16 16 16 15 13 11 9 8 7 6 5 4 3 2 1 -0 -0 4 14 21 26 29 30 30 27 23 19 14 9 5 3 -0 -5 -11 -11 -8 -5 -2 1 3 4 5 5 6 7 7 7 6 4 2 -2 -7 -12 -15 -14 -14 -15 -16 -17 -16 -12 -9 -9 -10 -12 -15 -16 -11 -7 -7 -10 -13 -17 -17 -16 -14 -12 -13 -14 -16 -16 -16 -16 -17 -19 -19 -17 -16 -16 -19 -20 -17 -12 -9 -7 -8 -9 -10 -9 -8 -6 -7 -9 -9 -8 -6 -5 -10 -14 -14 -11 -8 -8 -12 -13 -10 -7 -5 -5 -5 -5 -5 -6 -6 -6 -6 -7 -6 -6 -6 -7 -8 -8 -9 -10 -10 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -13 -13 -13 -13 -14 -14 -14 -14 -13 -13 -13 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -10 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -5 -4 -3 -2 -1 -1 -0 1 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 3 3 3 3 3 3 4 4 5 5 6 7 7 8 9 9 10 11 11 12 13 14 15 16 17 19 20 21 22 23 24 24 23 22 22 21 20 19 19 18 17 17 17 18 18 18 18 17 16 16 15 14 14 14 14 15 16 16 16 16 16 16 17 17 17 18 17 17 18 18 17 17 17 17 18 19 19 19 19 19 19 20 21 21 21 21 21 21 21 21 21 22 22 22 21 20 18 16 14 10 4 -1 -4 -7 -9 -10 -12 -12 -13 -14 -18 -23 -24 -19 -15 -14 -14 -13 -12 -12 -12 -13 -13 -11 -10 -9 -7 -5 -4 -3 -4 -6 -7 -9 -12 -15 -14 -11 7 7 7 7 7 8 8 8 8 8 8 8 8 9 10 11 13 15 16 14 13 14 16 16 17 17 16 14 13 12 10 8 7 5 4 2 1 -0 -1 -2 -2 2 9 16 22 27 32 34 35 34 29 20 10 5 3 -3 -9 -11 -10 -9 -8 -6 -3 -1 2 3 4 5 6 6 6 6 5 3 -0 -4 -8 -10 -13 -16 -18 -18 -17 -14 -13 -14 -16 -16 -17 -15 -11 -8 -8 -11 -14 -17 -17 -15 -12 -12 -13 -16 -16 -15 -15 -16 -18 -19 -17 -15 -15 -19 -19 -17 -12 -8 -7 -8 -9 -10 -9 -8 -6 -6 -7 -8 -7 -5 -4 -7 -12 -13 -11 -7 -6 -10 -13 -11 -8 -5 -5 -6 -6 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -6 -7 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -14 -14 -13 -13 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -12 -11 -11 -11 -11 -11 -11 -12 -13 -13 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -2 -2 -1 -0 1 2 2 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 3 3 3 3 3 3 4 4 5 5 5 6 7 8 9 9 10 11 12 12 13 13 14 16 17 18 19 20 22 23 24 24 25 24 24 23 22 22 21 20 20 19 18 18 18 19 19 19 18 17 16 15 14 14 14 15 15 16 16 16 17 17 17 18 19 19 19 19 19 18 17 17 18 19 20 20 21 21 21 21 21 21 21 21 22 22 22 22 21 21 21 21 22 22 22 21 19 18 17 14 10 5 1 -1 -3 -4 -5 -5 -4 -3 -4 -7 -13 -20 -20 -17 -16 -15 -15 -14 -14 -15 -15 -15 -13 -11 -8 -6 -3 -2 -3 -6 -9 -11 -15 -16 -15 -11 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 10 12 13 14 12 12 13 14 14 15 15 14 13 13 13 12 10 9 7 6 4 2 -0 -2 -3 -4 -3 -0 6 12 17 22 28 33 38 40 39 30 18 5 -4 -9 -9 -9 -10 -11 -11 -10 -7 -4 -2 -0 2 4 6 6 5 5 4 4 2 -1 -5 -8 -12 -14 -15 -15 -16 -18 -20 -20 -18 -15 -12 -9 -8 -10 -13 -16 -17 -15 -12 -11 -13 -15 -16 -15 -14 -14 -17 -18 -17 -15 -15 -17 -19 -17 -13 -9 -8 -9 -10 -11 -10 -9 -7 -6 -7 -8 -8 -6 -5 -6 -11 -14 -11 -7 -5 -8 -12 -12 -8 -6 -5 -6 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -5 -5 -5 -6 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -13 -13 -12 -12 -11 -10 -10 -10 -10 -9 -9 -9 -9 -10 -10 -11 -11 -11 -10 -10 -10 -10 -10 -11 -11 -11 -11 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -6 -5 -4 -3 -2 -1 -0 1 2 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 6 7 8 8 9 10 11 12 13 13 13 14 15 16 17 19 20 21 22 24 25 25 26 26 25 25 24 24 23 22 21 20 20 19 19 20 20 19 19 19 17 16 16 16 16 16 17 17 17 17 17 17 18 18 19 20 20 20 20 19 19 19 19 20 21 21 22 22 23 23 22 22 22 22 22 22 22 22 22 22 22 23 23 23 22 21 20 19 17 15 11 8 6 5 4 3 4 5 7 8 6 3 -4 -12 -19 -19 -17 -16 -16 -16 -17 -18 -18 -16 -13 -10 -7 -3 -1 -2 -5 -9 -12 -15 -17 -17 -12 11 11 10 10 10 9 9 9 9 8 8 7 7 6 7 8 10 12 10 9 9 10 10 10 10 11 11 11 11 11 10 9 9 8 7 6 5 3 2 -0 -2 -2 -3 -4 -5 -4 8 15 22 29 36 42 43 36 24 11 -0 -5 -6 -8 -11 -12 -13 -12 -11 -8 -6 -3 -0 2 4 4 4 4 4 3 1 -2 -5 -7 -9 -10 -13 -16 -18 -20 -20 -18 -15 -11 -9 -9 -12 -17 -18 -15 -12 -10 -11 -14 -17 -16 -14 -14 -16 -18 -18 -16 -15 -17 -19 -18 -14 -11 -9 -10 -12 -13 -12 -10 -9 -7 -7 -9 -10 -8 -7 -7 -10 -14 -13 -9 -6 -7 -11 -12 -9 -7 -6 -7 -8 -9 -8 -7 -7 -6 -6 -5 -5 -4 -4 -5 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -10 -10 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -13 -13 -12 -11 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -5 -5 -6 -6 -6 -5 -4 -3 -3 -2 -0 1 2 3 3 4 4 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 7 8 8 9 10 11 12 13 13 13 14 15 16 17 18 19 20 21 23 25 25 26 26 26 26 26 26 25 24 23 22 21 21 20 20 20 20 20 20 20 19 18 17 17 18 18 18 17 17 16 17 17 17 18 19 20 21 22 22 21 21 20 19 20 21 21 22 23 24 24 24 24 23 23 23 23 23 23 23 24 24 24 24 24 24 23 22 21 19 17 16 15 15 13 12 11 12 14 15 14 12 8 2 -2 -10 -15 -13 -15 -16 -18 -20 -20 -18 -15 -11 -7 -3 -1 -1 -4 -7 -10 -13 -16 -18 -13 12 11 10 9 9 8 8 9 8 8 7 6 6 6 6 7 9 10 8 7 7 7 7 7 7 8 9 9 8 8 6 5 4 4 4 4 4 4 4 4 4 3 1 -1 -4 -6 -5 -2 8 18 27 35 41 43 37 26 12 1 -4 -6 -7 -9 -11 -12 -13 -12 -11 -8 -6 -4 -1 1 2 2 1 1 -0 -1 -3 -4 -5 -7 -10 -13 -16 -18 -19 -17 -14 -11 -9 -10 -12 -17 -17 -13 -10 -10 -13 -16 -16 -14 -13 -15 -18 -18 -17 -16 -17 -19 -19 -16 -13 -11 -12 -13 -15 -14 -11 -9 -7 -7 -9 -12 -11 -9 -8 -10 -14 -15 -11 -8 -8 -10 -13 -12 -9 -7 -7 -9 -9 -9 -9 -8 -8 -7 -6 -6 -6 -5 -5 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -13 -13 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -4 -4 -5 -5 -5 -5 -4 -4 -3 -2 -1 -0 1 2 3 3 4 5 5 5 5 6 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 7 8 8 9 10 11 12 13 13 13 14 15 16 17 17 18 19 21 22 24 24 25 26 26 26 26 26 27 26 25 24 23 23 22 21 21 21 21 21 21 21 20 19 19 19 19 18 17 17 17 16 16 16 17 18 19 20 22 23 23 22 21 19 19 20 20 21 23 24 25 25 26 25 25 25 24 24 24 25 25 25 25 25 26 26 26 26 25 23 23 23 23 23 21 19 18 17 18 18 18 17 14 12 9 8 9 14 17 -5 -17 -21 -21 -18 -14 -10 -6 -3 -1 -2 -3 -5 -6 -8 -12 -18 -15 8 8 6 6 6 5 6 6 6 6 6 6 6 6 7 8 9 9 8 7 7 7 7 7 7 8 7 7 7 6 5 4 2 -0 -1 -2 -2 -1 1 2 3 5 4 4 2 -0 -3 -4 -2 10 21 27 33 39 40 34 24 11 -0 -3 -5 -6 -8 -9 -10 -12 -12 -12 -11 -9 -7 -4 -2 -2 -2 -3 -3 -3 -3 -4 -5 -7 -9 -11 -13 -15 -15 -14 -12 -11 -10 -10 -12 -15 -13 -11 -10 -11 -15 -16 -14 -13 -14 -17 -19 -17 -16 -17 -18 -19 -17 -14 -12 -13 -15 -16 -16 -13 -10 -8 -8 -10 -13 -14 -12 -10 -11 -14 -16 -14 -11 -9 -11 -13 -13 -10 -8 -8 -9 -10 -10 -10 -10 -9 -9 -9 -8 -7 -7 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -13 -12 -12 -12 -11 -11 -10 -9 -9 -8 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -0 1 1 2 3 4 4 5 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 9 9 10 11 12 12 13 13 14 15 16 16 17 18 19 20 21 23 24 24 25 26 26 26 26 27 27 27 26 25 25 24 23 22 22 21 21 21 21 21 21 20 20 19 18 17 16 16 16 15 16 16 17 18 19 20 22 23 22 22 20 19 20 20 21 22 24 25 26 26 27 26 26 26 26 26 27 27 26 26 26 27 28 29 29 28 27 27 28 28 27 26 24 21 20 20 21 21 20 19 17 16 17 19 21 22 19 -2 -20 -18 -13 -9 -6 -3 -2 -2 -3 -3 -3 -2 -3 -8 -17 -16 3 2 2 1 1 1 2 2 3 3 4 4 5 6 6 7 8 8 7 8 8 8 9 9 9 9 9 8 7 6 5 4 1 -1 -3 -5 -6 -6 -5 -4 -2 -0 3 4 6 6 5 4 3 9 16 21 26 30 33 33 29 20 9 1 -3 -5 -6 -7 -8 -9 -11 -12 -13 -13 -12 -10 -8 -7 -7 -7 -6 -5 -6 -6 -7 -8 -9 -9 -10 -11 -11 -11 -10 -11 -11 -12 -12 -13 -10 -10 -11 -13 -15 -15 -12 -12 -15 -18 -18 -16 -16 -18 -19 -18 -15 -14 -13 -15 -16 -16 -14 -11 -9 -9 -11 -13 -15 -14 -12 -11 -14 -16 -16 -13 -11 -12 -14 -14 -12 -10 -9 -9 -10 -11 -11 -11 -10 -10 -10 -9 -9 -8 -8 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -12 -12 -13 -13 -12 -12 -11 -9 -8 -7 -7 -6 -5 -5 -4 -5 -5 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -3 -3 -4 -4 -4 -3 -3 -3 -3 -4 -5 -4 -3 -2 -2 -1 -0 -0 -0 1 2 2 3 4 5 5 5 6 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 8 8 8 8 8 8 9 9 10 10 11 12 12 12 13 14 14 15 16 16 17 18 19 19 21 22 23 23 24 25 26 26 26 27 27 27 27 28 27 26 25 24 23 22 22 22 22 22 22 21 21 20 19 17 17 16 15 15 15 16 16 16 17 18 20 21 22 22 21 21 20 20 21 22 24 25 26 27 27 27 28 28 28 29 29 28 27 26 27 28 29 31 31 31 31 30 30 30 29 27 24 23 21 21 22 23 23 22 21 20 20 21 22 23 23 17 6 -7 -4 -2 -0 -0 -0 -1 -2 -2 -1 1 -0 -5 -14 -17 2 1 -0 -0 -0 1 1 2 2 3 3 4 4 5 5 5 7 7 7 7 8 8 8 9 8 8 8 8 7 7 6 5 2 -0 -3 -4 -6 -7 -8 -7 -7 -5 -3 -0 3 6 8 10 11 12 14 17 20 21 24 26 25 22 16 8 1 -4 -7 -9 -9 -9 -10 -11 -12 -13 -14 -14 -13 -12 -11 -9 -8 -8 -9 -9 -10 -9 -9 -9 -10 -9 -9 -7 -8 -11 -12 -13 -12 -11 -9 -10 -12 -14 -14 -12 -11 -13 -16 -18 -16 -15 -16 -18 -17 -16 -14 -14 -14 -15 -15 -13 -11 -10 -10 -12 -14 -16 -15 -12 -11 -12 -15 -17 -15 -12 -12 -14 -14 -13 -11 -10 -10 -11 -11 -11 -11 -11 -10 -10 -10 -9 -9 -8 -8 -8 -8 -9 -9 -9 -8 -7 -7 -7 -7 -7 -8 -7 -7 -7 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -11 -11 -11 -12 -12 -12 -12 -11 -10 -9 -8 -7 -7 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -4 -4 -3 -2 -1 -0 1 2 3 3 4 4 5 6 7 7 6 6 6 7 8 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 9 9 9 9 10 10 11 11 12 12 13 13 13 14 14 15 15 16 16 17 18 19 20 21 22 23 24 25 25 26 26 27 27 27 27 28 28 27 26 26 25 23 23 23 23 23 23 22 22 21 20 18 17 16 15 15 15 15 15 15 15 16 18 19 20 20 21 21 21 22 23 24 25 26 27 28 28 29 29 30 31 31 31 30 29 28 28 29 30 32 32 32 32 32 31 30 29 26 24 22 21 21 22 24 24 25 24 23 23 23 23 23 23 22 16 5 4 4 4 3 3 1 1 1 3 4 2 -3 -12 -16 5 4 4 3 3 3 4 4 4 3 3 3 4 3 3 4 5 5 5 5 6 6 6 7 6 6 6 6 6 6 6 5 3 -0 -1 -2 -3 -4 -6 -6 -7 -8 -8 -7 -4 -1 3 7 10 12 13 14 14 15 17 17 16 15 17 14 8 -0 -7 -12 -13 -12 -12 -11 -10 -11 -12 -14 -14 -14 -13 -11 -10 -10 -10 -11 -11 -11 -11 -12 -11 -9 -7 -6 -7 -10 -12 -13 -13 -11 -10 -11 -13 -13 -12 -10 -11 -15 -17 -16 -14 -15 -16 -16 -15 -13 -13 -13 -13 -13 -12 -11 -10 -10 -13 -15 -17 -16 -12 -10 -11 -14 -16 -15 -13 -12 -13 -14 -13 -12 -11 -11 -11 -12 -11 -11 -11 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -8 -7 -7 -7 -7 -7 -7 -6 -6 -7 -7 -7 -7 -6 -6 -7 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -10 -10 -10 -11 -11 -12 -11 -11 -10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -2 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 1 1 1 1 1 1 -0 1 1 1 1 -0 -1 -2 -2 -2 -2 -0 1 1 1 2 3 5 5 6 6 7 9 9 9 8 8 8 9 9 10 11 11 11 11 11 11 10 10 10 10 10 10 10 11 11 11 11 11 10 10 10 11 11 12 12 12 13 13 13 14 14 14 15 15 16 16 17 18 19 19 20 22 23 23 24 24 25 25 26 27 27 27 28 28 28 28 27 26 25 25 24 24 24 24 24 23 22 21 20 18 17 16 15 14 14 14 14 14 15 16 17 17 18 19 20 21 22 24 25 26 27 28 29 30 30 31 32 32 33 32 31 30 30 29 30 31 32 32 32 32 32 31 29 27 25 23 22 21 22 23 24 25 25 25 25 24 24 24 23 23 22 19 13 11 10 9 8 7 6 5 5 6 6 3 -2 -9 -14 5 4 3 3 3 3 2 2 2 1 1 1 2 2 2 3 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 3 1 -0 -1 -1 -1 -2 -3 -3 -4 -5 -7 -9 -10 -10 -8 -3 1 5 7 9 10 11 10 8 4 2 12 16 14 8 -1 -11 -15 -16 -16 -14 -12 -11 -11 -11 -12 -12 -12 -11 -11 -11 -11 -11 -11 -12 -14 -14 -12 -9 -6 -5 -7 -10 -12 -11 -10 -10 -10 -11 -12 -12 -10 -10 -13 -16 -16 -14 -13 -15 -15 -14 -13 -12 -12 -12 -11 -9 -9 -9 -10 -13 -15 -16 -15 -12 -10 -11 -13 -15 -14 -13 -12 -12 -13 -12 -11 -10 -10 -11 -11 -11 -11 -10 -10 -10 -9 -9 -8 -8 -7 -7 -7 -7 -8 -9 -9 -8 -7 -6 -6 -6 -7 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -10 -10 -10 -11 -10 -10 -9 -9 -8 -8 -7 -6 -5 -4 -3 -2 -1 -0 1 2 2 2 2 2 2 3 3 3 3 3 2 2 2 2 2 3 4 4 3 2 1 -0 1 1 3 3 3 2 2 2 4 5 6 7 9 10 12 13 12 11 10 10 11 11 12 12 12 12 13 13 12 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 13 13 14 14 14 14 14 15 15 16 16 16 17 18 19 19 20 21 22 23 24 24 24 25 25 26 27 27 28 28 28 28 28 28 27 27 26 26 26 26 26 25 24 23 22 21 19 18 17 16 15 14 13 13 14 14 15 16 16 17 18 19 21 23 24 26 28 29 31 32 33 34 34 34 34 33 32 32 31 30 30 31 32 32 32 31 31 30 29 27 24 23 22 22 23 24 25 26 26 26 25 24 24 23 23 23 23 21 19 18 16 14 13 11 9 8 8 8 7 5 1 -5 -10 2 1 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 2 3 4 4 4 4 4 4 4 3 3 3 3 2 2 2 1 -0 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -3 -5 -8 -10 -11 -12 -13 -10 -5 -0 3 4 3 1 -2 1 16 16 15 11 5 -4 -13 -16 -16 -16 -16 -15 -14 -12 -11 -11 -11 -12 -12 -12 -11 -11 -11 -13 -14 -13 -10 -8 -6 -7 -10 -12 -12 -10 -8 -9 -9 -11 -11 -10 -10 -11 -15 -16 -14 -13 -13 -14 -13 -12 -12 -11 -11 -10 -8 -7 -8 -9 -11 -13 -14 -13 -11 -10 -10 -12 -13 -13 -12 -12 -12 -12 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -7 -6 -5 -5 -5 -6 -5 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -8 -7 -7 -6 -5 -5 -4 -3 -2 -1 1 2 3 4 4 5 5 5 5 4 4 4 4 4 4 4 4 5 6 6 6 5 4 2 3 4 5 6 6 4 2 2 2 4 5 7 9 11 13 15 16 15 13 13 13 13 14 14 13 13 14 14 13 13 12 12 12 11 11 11 12 12 12 12 12 12 12 13 13 12 12 12 13 13 14 14 14 14 15 15 16 16 17 17 18 18 19 19 20 21 22 23 23 23 24 24 25 26 26 27 27 27 28 28 28 28 28 28 28 29 29 28 28 28 27 26 25 24 22 21 20 19 17 16 14 13 13 14 13 14 15 15 16 17 19 20 22 24 26 29 32 33 35 35 35 35 34 33 33 32 32 31 31 31 31 31 31 31 30 29 28 26 25 23 22 22 23 25 26 26 26 25 24 23 22 22 23 23 23 23 23 23 21 19 17 14 11 9 8 8 8 6 4 -0 -4 -0 -1 -2 -2 -3 -3 -3 -3 -3 -2 -1 -1 -0 1 2 2 3 3 3 4 4 4 3 4 4 3 3 2 1 -0 -1 -2 -3 -4 -4 -4 -4 -3 -2 -0 1 1 1 -0 -1 -4 -6 -9 -11 -12 -12 -11 -9 -9 -10 -10 -9 -6 1 13 11 7 4 -0 -6 -10 -14 -16 -17 -17 -16 -15 -13 -12 -12 -13 -14 -14 -13 -12 -12 -12 -11 -10 -8 -7 -7 -9 -12 -12 -9 -6 -5 -8 -10 -11 -10 -10 -11 -14 -15 -14 -13 -12 -13 -13 -12 -11 -11 -10 -10 -8 -7 -7 -7 -9 -11 -11 -11 -9 -8 -9 -11 -12 -11 -10 -10 -11 -11 -10 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -9 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -6 -5 -4 -4 -5 -4 -3 -3 -2 -2 -3 -4 -4 -4 -5 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -8 -8 -8 -8 -7 -7 -6 -6 -6 -5 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -4 -4 -3 -1 -1 1 3 4 5 6 6 6 6 6 5 5 5 5 5 5 5 6 6 7 7 7 5 4 4 6 8 9 9 7 4 2 2 3 5 7 8 11 13 16 18 17 16 15 14 15 15 15 15 15 14 14 14 14 14 13 13 12 12 12 12 12 13 13 13 13 13 13 13 13 13 12 13 13 14 14 14 14 15 15 16 16 17 18 18 18 19 19 19 20 21 22 23 23 23 23 24 25 25 26 26 27 27 27 28 28 28 29 29 29 29 29 29 30 29 29 28 27 26 25 24 23 22 20 19 18 16 15 14 14 14 14 14 14 15 16 18 19 21 23 26 29 31 33 34 35 34 34 33 33 33 32 32 32 32 31 31 30 29 28 27 26 25 25 24 24 24 24 26 26 26 25 24 22 20 20 20 21 23 24 25 25 25 24 23 20 16 12 10 9 9 9 8 6 5 2 1 -0 -1 -2 -2 -2 -2 -2 -2 -2 -1 -0 -0 1 1 1 1 1 2 2 3 3 4 4 4 4 3 2 1 -0 -1 -3 -4 -6 -6 -6 -5 -4 -2 -1 -0 1 2 3 3 2 -0 -2 -5 -8 -10 -12 -13 -13 -13 -12 -11 -11 -10 -5 -4 -4 -3 -3 -4 -5 -8 -11 -14 -16 -16 -15 -14 -14 -15 -16 -17 -16 -15 -14 -13 -11 -9 -8 -7 -7 -8 -11 -12 -11 -7 -4 -5 -9 -11 -11 -9 -10 -12 -15 -14 -12 -11 -12 -12 -11 -10 -10 -10 -9 -8 -7 -7 -7 -8 -9 -9 -9 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -10 -10 -10 -10 -9 -8 -7 -7 -7 -7 -8 -8 -9 -8 -8 -5 -3 -3 -4 -4 -3 -2 -2 -2 -2 -2 -3 -3 -4 -5 -5 -6 -6 -7 -7 -8 -8 -9 -9 -8 -8 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 1 3 4 6 7 7 7 7 6 5 6 6 6 6 6 6 6 7 7 7 6 5 5 6 9 11 11 10 7 3 2 3 5 7 8 10 13 16 18 18 17 16 16 16 16 16 16 15 15 15 15 15 14 14 14 13 13 13 13 13 13 13 14 14 14 14 14 14 14 13 13 13 13 14 14 15 15 16 16 17 17 18 18 18 19 19 19 20 21 22 22 23 23 23 24 24 24 25 25 26 27 27 28 28 28 28 29 29 29 29 29 30 30 30 30 30 29 28 28 27 27 25 24 23 22 20 18 17 16 15 14 14 14 14 15 16 17 18 20 21 23 25 27 29 31 32 33 33 33 33 33 33 33 32 32 31 30 29 28 27 26 25 25 24 25 25 25 27 27 26 24 22 21 19 19 19 20 22 24 25 26 26 26 24 22 18 15 13 13 12 12 11 9 8 6 1 -0 -0 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 2 3 3 3 3 2 1 1 -0 -1 -3 -5 -6 -7 -7 -7 -6 -4 -3 -2 -1 1 3 4 4 4 3 -0 -3 -5 -8 -11 -12 -13 -13 -13 -13 -12 -11 -9 -8 -7 -6 -5 -4 -4 -5 -7 -11 -13 -14 -14 -15 -16 -18 -19 -17 -15 -13 -12 -11 -9 -8 -8 -9 -10 -11 -11 -9 -7 -5 -7 -11 -11 -9 -9 -11 -14 -15 -12 -11 -11 -11 -11 -10 -9 -9 -9 -8 -7 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -8 -8 -8 -8 -9 -9 -9 -9 -8 -7 -7 -7 -7 -7 -8 -9 -9 -9 -7 -4 -3 -3 -4 -3 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -5 -6 -6 -7 -7 -8 -8 -9 -9 -8 -8 -7 -7 -7 -7 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -3 -2 -2 -1 -1 1 2 4 5 7 7 7 6 6 6 6 7 7 7 6 7 7 7 7 6 5 5 5 8 10 12 12 10 6 3 4 6 8 10 11 12 15 17 19 18 16 16 16 17 17 16 16 16 15 15 15 15 15 15 15 14 14 14 14 14 14 14 15 15 15 15 15 15 14 14 13 13 14 14 14 15 16 17 18 19 19 19 18 18 19 19 19 20 21 22 23 23 23 24 24 24 24 25 25 25 26 27 28 28 28 28 28 28 28 29 29 29 30 30 30 30 30 30 29 29 29 28 28 27 26 24 23 21 19 18 17 16 15 16 16 16 16 17 17 18 19 20 22 24 26 28 30 31 33 33 33 33 33 33 33 32 31 30 29 28 27 26 26 26 26 27 28 28 28 27 25 22 21 20 19 20 21 23 24 25 26 26 26 25 23 21 19 18 18 17 15 13 11 9 7 -1 -2 -2 -1 -1 -1 -2 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 1 1 2 2 2 1 -0 -0 -1 -2 -3 -5 -6 -7 -8 -8 -7 -7 -6 -5 -3 -2 1 3 4 5 5 4 2 -1 -4 -7 -10 -11 -12 -12 -12 -12 -10 -8 -7 -6 -6 -7 -5 -4 -3 -2 -4 -7 -10 -12 -14 -16 -17 -17 -15 -13 -11 -11 -10 -10 -10 -10 -11 -11 -10 -8 -7 -7 -8 -10 -12 -10 -8 -10 -12 -14 -12 -9 -9 -10 -10 -9 -9 -8 -8 -8 -7 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -7 -7 -6 -6 -7 -7 -8 -9 -10 -10 -8 -5 -2 -3 -4 -4 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -5 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -3 -2 -1 -1 -0 -0 -0 1 3 5 6 7 6 6 6 6 7 7 7 7 6 7 7 7 6 5 5 5 7 9 11 11 11 8 5 5 7 9 11 12 13 14 17 18 19 17 16 16 17 17 17 16 16 16 16 16 16 16 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 15 14 14 14 15 15 16 17 18 19 19 19 19 19 19 18 19 19 19 20 21 22 23 23 23 24 24 25 25 25 25 26 26 27 27 27 28 28 27 27 27 27 28 28 28 29 30 30 30 30 30 29 29 29 29 29 28 27 26 24 23 21 20 20 19 18 17 17 17 17 17 17 16 17 18 19 21 23 26 28 30 32 32 33 33 33 33 33 32 32 31 29 29 28 29 29 30 30 30 30 30 28 26 24 23 22 22 22 23 24 25 26 26 26 26 26 25 24 23 22 22 21 18 15 11 9 6 -4 -5 -6 -5 -4 -4 -4 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 1 1 -0 -0 -1 -1 -2 -3 -4 -5 -6 -7 -7 -7 -8 -8 -8 -8 -6 -5 -3 -1 1 3 4 5 5 3 -0 -3 -5 -7 -9 -10 -11 -12 -13 -11 -9 -7 -6 -6 -6 -6 -4 -2 -1 -2 -4 -8 -11 -13 -14 -14 -13 -11 -10 -10 -10 -11 -11 -13 -13 -12 -9 -7 -9 -10 -12 -12 -11 -9 -9 -11 -12 -11 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -6 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -7 -6 -6 -6 -6 -7 -7 -8 -9 -9 -8 -6 -3 -3 -4 -5 -3 -2 -2 -2 -1 -1 -2 -2 -3 -3 -4 -4 -5 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -0 -0 -0 -0 -0 1 2 4 5 6 6 6 6 7 8 8 7 6 6 7 7 7 6 5 5 6 8 10 11 11 10 8 6 8 11 13 14 14 15 16 18 18 18 17 17 17 17 17 17 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 18 18 18 17 17 17 17 17 16 15 15 15 15 16 17 18 19 19 19 19 19 19 19 19 18 19 19 20 21 22 22 23 23 24 24 25 25 25 26 26 26 26 27 27 27 27 27 27 26 26 27 27 27 27 28 29 29 30 30 29 29 29 29 29 29 28 28 27 25 24 23 22 21 20 20 19 18 18 18 17 16 16 16 16 18 19 21 23 25 27 29 30 31 33 33 34 34 33 32 31 31 31 32 33 33 33 33 32 31 30 28 27 26 26 25 25 25 26 26 26 27 27 27 27 27 26 25 24 24 23 20 16 13 9 7 -4 -9 -9 -9 -8 -8 -7 -6 -5 -4 -3 -3 -2 -1 -2 -2 -2 -3 -3 -2 -1 -1 -0 -0 -0 -0 -1 -2 -2 -3 -3 -4 -5 -6 -7 -7 -7 -8 -9 -10 -10 -9 -8 -6 -5 -3 -1 1 3 4 5 4 2 -0 -3 -5 -6 -8 -10 -12 -13 -12 -10 -8 -6 -6 -5 -5 -4 -3 -2 -2 -3 -6 -9 -11 -12 -12 -12 -11 -10 -10 -11 -11 -12 -12 -11 -9 -9 -11 -13 -14 -13 -10 -8 -10 -12 -11 -9 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -8 -8 -8 -6 -3 -2 -4 -5 -4 -3 -3 -3 -1 -1 -2 -3 -3 -3 -3 -4 -5 -5 -6 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -4 -4 -4 -4 -3 -3 -2 -1 -1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -0 1 1 1 1 1 1 1 2 4 4 5 5 6 7 9 8 7 6 6 6 7 7 7 6 6 6 7 9 10 11 11 10 9 9 12 14 15 15 15 16 17 18 18 17 17 17 17 17 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 19 19 19 18 18 18 17 16 16 16 16 17 18 18 19 19 20 20 20 19 19 19 19 19 19 20 21 21 22 22 23 24 24 25 25 26 26 27 27 27 26 27 27 27 27 27 26 26 26 26 26 26 27 28 28 28 29 29 29 29 28 28 28 28 28 27 26 25 24 23 22 22 21 21 20 19 19 18 18 17 17 16 16 17 18 19 21 24 25 27 28 29 31 33 33 33 33 33 33 34 34 34 34 34 34 33 31 30 29 28 29 29 29 29 28 28 27 27 27 28 28 28 28 28 27 25 24 23 21 18 15 12 10 -8 -11 -11 -11 -10 -8 -7 -7 -5 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -4 -3 -2 -2 -1 -0 -1 -2 -2 -3 -3 -4 -5 -5 -6 -7 -7 -7 -8 -9 -10 -10 -11 -10 -9 -9 -8 -7 -5 -2 -0 3 4 5 5 3 1 -1 -3 -6 -8 -10 -12 -12 -11 -8 -6 -5 -5 -5 -5 -4 -3 -2 -2 -4 -6 -9 -11 -12 -12 -12 -11 -11 -11 -10 -9 -9 -9 -10 -13 -14 -13 -11 -7 -8 -11 -11 -9 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -3 -4 -4 -4 -3 -3 -4 -4 -5 -5 -6 -7 -7 -5 -3 -2 -3 -5 -5 -4 -3 -3 -2 -1 -2 -4 -4 -4 -3 -3 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -0 -0 -0 1 1 1 1 -0 -0 -1 -0 -0 -0 1 1 1 2 2 3 2 2 2 2 3 4 4 5 6 8 10 10 9 7 6 6 7 8 8 8 7 7 7 8 10 11 11 12 12 11 13 15 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 18 18 19 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 20 19 19 18 17 17 17 17 17 18 18 19 19 19 20 20 20 20 20 19 19 19 20 21 21 21 22 22 23 24 24 25 26 26 27 28 28 27 27 27 27 27 27 27 26 26 26 26 26 26 27 27 27 28 29 29 29 28 28 27 27 27 27 26 25 24 24 23 22 22 21 21 20 20 20 19 19 19 17 17 17 17 18 19 21 22 23 24 26 27 29 31 32 33 33 33 34 34 33 33 33 32 32 31 30 29 30 31 31 32 31 31 30 28 28 27 28 28 28 28 27 26 24 23 23 22 21 18 15 14 -7 -8 -8 -8 -7 -6 -5 -4 -4 -3 -3 -3 -4 -4 -4 -5 -5 -6 -6 -5 -4 -4 -4 -3 -2 -3 -3 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -11 -12 -12 -12 -12 -12 -10 -7 -4 -0 3 5 6 6 4 2 -0 -3 -5 -8 -10 -11 -10 -9 -7 -5 -5 -5 -5 -4 -3 -2 -2 -2 -4 -7 -10 -11 -12 -12 -11 -11 -10 -9 -10 -10 -12 -14 -15 -15 -14 -11 -10 -10 -8 -7 -7 -7 -8 -7 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -3 -4 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -4 -4 -3 -3 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -6 -5 -3 -1 -2 -5 -6 -5 -3 -3 -2 -1 -1 -3 -5 -5 -3 -3 -3 -5 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -3 -2 -1 -0 -0 1 1 2 2 1 -0 -0 -0 -0 1 1 1 1 2 2 3 3 3 3 2 3 3 4 5 7 9 11 12 10 8 6 6 7 8 9 9 9 8 8 8 9 10 12 13 13 13 14 16 17 17 17 16 16 16 16 16 16 16 16 16 16 16 17 19 20 21 21 21 20 19 19 19 18 18 18 19 19 19 19 19 19 20 20 20 20 19 19 19 18 18 18 18 18 19 19 19 19 19 19 20 20 20 20 20 20 20 20 21 21 22 22 23 23 23 24 24 25 26 27 28 28 28 28 28 28 27 27 27 27 27 27 27 27 27 27 26 27 27 28 28 28 28 28 27 27 26 25 25 25 24 23 23 22 22 21 21 21 20 20 20 20 20 20 19 18 18 18 19 20 20 21 22 23 24 26 28 29 31 32 33 33 32 31 31 30 30 30 29 29 29 30 32 32 32 32 31 30 29 28 27 27 27 26 26 25 24 23 23 22 22 22 20 18 17 -1 -2 -2 -2 -1 -1 -0 -0 -0 -0 -0 -1 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -9 -8 -8 -8 -8 -7 -7 -7 -8 -10 -11 -12 -12 -12 -12 -12 -12 -12 -12 -10 -7 -1 2 5 6 5 3 1 -1 -3 -5 -7 -8 -9 -10 -9 -8 -7 -7 -6 -5 -4 -3 -2 -2 -3 -4 -5 -7 -8 -10 -10 -10 -11 -11 -11 -12 -12 -13 -14 -14 -13 -10 -9 -7 -7 -7 -8 -7 -7 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -3 -3 -4 -5 -5 -5 -6 -5 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -5 -5 -5 -4 -4 -3 -4 -4 -4 -3 -3 -3 -4 -4 -4 -5 -5 -4 -2 -1 -1 -3 -5 -5 -4 -3 -2 -0 -1 -3 -5 -6 -5 -3 -3 -5 -7 -8 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -1 -0 1 3 3 3 1 -0 -0 1 1 2 1 1 2 2 3 4 4 3 3 3 3 4 5 8 11 13 13 12 9 6 6 7 9 10 10 10 9 9 8 8 9 11 13 14 14 16 17 18 18 18 17 16 16 16 15 15 15 15 16 16 16 16 18 19 22 23 23 22 22 21 20 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 19 20 20 21 21 21 21 21 21 21 22 22 22 23 23 23 24 24 25 26 26 27 28 29 29 29 29 28 28 28 28 27 27 27 27 27 27 27 27 27 27 27 28 28 28 27 27 26 25 24 24 23 23 22 22 21 20 20 20 20 21 21 21 21 21 21 20 21 21 21 21 21 21 21 22 23 24 25 27 29 31 31 31 30 28 28 27 27 27 28 28 29 30 31 32 32 32 31 30 29 28 27 26 25 24 23 22 22 22 22 23 23 22 21 20 19 7 6 6 5 6 6 6 5 5 5 4 2 1 -0 -1 -3 -3 -3 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -7 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -8 -9 -10 -11 -12 -12 -12 -11 -11 -12 -12 -12 -11 -10 -7 -3 1 3 3 2 1 -1 -2 -3 -4 -6 -8 -9 -11 -11 -11 -9 -8 -8 -7 -6 -4 -3 -2 -1 -1 -3 -6 -8 -10 -11 -11 -11 -10 -9 -11 -13 -15 -13 -9 -8 -7 -7 -7 -8 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -3 -3 -3 -3 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -4 -5 -4 -4 -3 -4 -6 -6 -5 -4 -4 -4 -4 -4 -4 -4 -3 -4 -4 -4 -4 -5 -4 -2 -1 -1 -2 -4 -4 -3 -3 -2 -0 -0 -2 -5 -6 -5 -3 -3 -4 -6 -8 -8 -7 -7 -7 -8 -9 -9 -9 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -4 -3 -2 -2 -1 -1 -1 -2 -2 -1 -0 3 3 3 2 -0 -0 1 3 3 3 1 1 2 3 4 4 4 4 4 4 5 6 8 11 15 15 14 10 7 6 7 10 12 12 11 11 10 9 8 9 10 13 14 15 16 18 19 19 19 18 17 16 15 15 15 14 15 15 15 15 15 16 19 22 24 24 24 23 22 22 21 20 20 20 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 20 20 21 21 21 21 21 21 21 22 22 22 22 23 23 23 24 24 25 25 26 28 29 29 29 29 29 29 29 29 28 28 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 26 25 24 24 23 22 21 20 20 20 20 20 21 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 24 24 26 28 29 30 29 27 26 26 25 25 26 26 27 29 30 30 30 30 29 29 28 27 26 25 24 23 21 20 20 20 21 22 23 23 22 21 21 20 13 11 11 11 11 11 11 11 10 9 8 6 4 3 2 1 -0 -1 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5 -7 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -8 -9 -9 -11 -11 -11 -11 -11 -10 -9 -9 -10 -10 -11 -11 -9 -7 -5 -3 -1 -1 -1 -2 -1 -1 -2 -3 -5 -8 -12 -14 -13 -12 -11 -11 -10 -9 -6 -4 -2 -1 -1 -3 -6 -8 -10 -11 -10 -9 -8 -11 -14 -15 -12 -9 -8 -8 -8 -8 -8 -7 -8 -8 -8 -7 -7 -6 -5 -4 -3 -3 -3 -3 -4 -4 -5 -5 -5 -4 -3 -3 -3 -3 -3 -4 -4 -3 -2 -3 -5 -6 -6 -5 -4 -4 -4 -4 -5 -4 -4 -4 -4 -4 -5 -5 -4 -3 -2 -1 -2 -3 -4 -3 -3 -2 -1 -1 -2 -5 -6 -5 -3 -3 -4 -6 -7 -7 -7 -6 -7 -7 -8 -9 -9 -8 -7 -7 -7 -7 -8 -8 -8 -7 -6 -5 -4 -4 -4 -3 -2 -1 -1 -1 -1 -2 -1 -0 2 3 2 1 1 1 2 4 4 4 2 1 2 3 4 4 4 4 5 5 5 6 8 11 15 16 16 13 8 6 7 11 13 14 13 12 12 10 9 9 10 12 14 15 17 18 18 19 19 19 17 15 14 14 14 14 15 15 15 15 15 16 17 20 23 25 25 24 23 22 22 22 21 21 20 20 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 20 20 20 20 21 21 21 21 21 21 22 22 22 22 23 23 23 24 24 25 25 26 27 28 29 29 29 29 29 29 29 29 28 28 27 27 27 27 27 28 28 28 28 28 28 28 27 27 26 25 24 23 22 21 20 20 20 20 20 21 21 22 22 23 24 24 24 25 25 25 25 26 26 26 26 25 26 26 27 28 28 28 26 26 25 24 24 25 25 26 28 29 29 28 28 27 27 26 26 25 24 23 21 19 18 19 19 21 22 22 22 22 21 21 20 12 10 9 10 11 11 11 11 11 9 8 6 5 4 3 3 2 1 -0 -1 -2 -2 -3 -3 -3 -4 -4 -5 -7 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -10 -10 -11 -11 -11 -11 -10 -9 -8 -7 -7 -8 -9 -10 -10 -10 -8 -6 -5 -4 -4 -3 -2 -1 -1 -1 -4 -8 -13 -15 -14 -14 -14 -13 -12 -10 -7 -6 -5 -5 -6 -6 -7 -8 -9 -9 -9 -10 -13 -15 -15 -10 -9 -9 -9 -9 -8 -8 -8 -8 -9 -8 -7 -6 -5 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 -2 -5 -6 -5 -3 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -3 -2 -3 -3 -4 -4 -3 -2 -1 -1 -2 -4 -5 -5 -4 -3 -3 -5 -7 -7 -6 -6 -6 -6 -7 -8 -8 -8 -7 -7 -7 -8 -9 -10 -9 -8 -6 -5 -4 -4 -4 -4 -3 -3 -2 -1 -2 -1 -0 1 2 3 2 -0 -0 -0 2 5 5 4 3 2 2 3 4 4 4 4 5 5 6 7 8 10 14 16 16 14 10 7 7 11 14 15 15 13 13 11 10 10 10 12 14 15 16 17 18 18 18 18 16 15 13 13 14 14 15 15 15 16 16 16 18 20 23 25 26 25 24 23 22 22 22 21 21 20 20 20 19 19 19 19 20 20 20 20 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 18 18 19 19 20 20 21 21 21 22 22 22 22 22 23 23 23 24 24 24 25 26 27 28 28 29 29 29 29 29 29 29 28 28 27 27 27 27 28 28 28 28 29 29 28 28 28 27 26 25 23 22 21 20 20 19 19 20 21 21 21 22 22 23 24 24 26 27 27 27 28 28 29 28 28 28 28 28 28 27 27 26 25 25 24 24 24 25 25 27 27 27 27 26 25 25 25 25 25 24 23 21 20 19 19 20 21 22 22 22 21 21 20 20 2 1 1 2 3 4 4 4 4 4 4 3 3 4 3 3 2 1 -0 -0 -1 -2 -2 -2 -3 -3 -3 -5 -6 -8 -10 -10 -11 -10 -10 -10 -11 -11 -10 -10 -10 -10 -10 -10 -11 -11 -11 -12 -11 -10 -9 -7 -6 -5 -6 -7 -7 -8 -9 -10 -9 -8 -7 -7 -5 -4 -3 -2 -2 -4 -6 -12 -14 -15 -14 -13 -11 -10 -9 -9 -9 -11 -11 -11 -8 -6 -6 -9 -11 -12 -14 -15 -14 -10 -9 -9 -9 -8 -8 -9 -9 -9 -8 -8 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -3 -3 -2 -2 -0 1 -0 -3 -4 -4 -3 -2 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -3 -3 -4 -4 -4 -4 -3 -2 -2 -2 -4 -5 -5 -4 -3 -3 -4 -6 -7 -6 -5 -5 -6 -6 -7 -8 -7 -6 -6 -6 -8 -9 -11 -10 -8 -6 -4 -3 -4 -4 -5 -4 -4 -4 -3 -3 -2 -0 2 3 3 2 -0 -1 -0 2 4 6 5 3 2 2 4 6 6 6 6 5 6 7 8 8 9 12 14 15 13 11 9 9 11 14 16 16 14 13 12 10 10 11 12 14 15 16 17 17 17 18 17 16 15 13 13 13 15 15 15 15 16 17 17 19 21 23 26 27 26 25 24 23 22 21 21 21 21 21 21 20 19 19 20 20 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 19 19 19 18 17 17 17 18 19 20 21 21 21 21 22 22 22 22 22 22 23 23 24 24 25 26 26 27 27 28 29 29 29 29 29 29 29 29 28 27 27 27 27 28 28 29 29 29 29 29 29 28 27 26 25 23 22 20 20 19 19 20 20 20 21 21 22 22 23 24 25 26 27 28 28 29 30 30 30 29 29 29 28 27 27 26 26 25 24 23 23 24 24 25 26 26 25 24 24 23 23 23 23 23 23 22 21 20 20 20 21 22 22 21 20 20 20 19 -5 -5 -4 -4 -3 -3 -3 -2 -1 -0 -0 -0 1 1 2 2 1 1 -0 -1 -1 -2 -2 -2 -2 -3 -3 -4 -6 -8 -10 -10 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -10 -9 -7 -5 -5 -5 -6 -6 -7 -7 -8 -9 -9 -9 -9 -8 -6 -5 -4 -4 -5 -7 -11 -13 -14 -13 -10 -9 -8 -9 -11 -13 -14 -14 -11 -6 -4 -7 -11 -13 -14 -14 -14 -11 -10 -9 -8 -7 -8 -8 -8 -8 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -1 1 3 2 -0 -3 -3 -2 -1 -1 -3 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -5 -4 -4 -3 -3 -3 -4 -5 -5 -4 -4 -3 -4 -5 -6 -6 -5 -5 -5 -6 -6 -7 -7 -6 -6 -6 -7 -9 -10 -10 -8 -6 -4 -3 -3 -4 -6 -6 -6 -5 -5 -4 -3 -1 2 4 4 2 -1 -2 -1 2 5 6 5 3 2 2 4 7 8 8 7 7 7 8 8 8 8 9 11 11 11 10 9 9 12 15 17 16 14 13 11 10 10 10 12 14 15 16 17 17 17 17 16 15 14 13 13 13 15 16 16 15 16 16 18 19 22 24 27 28 28 26 25 23 22 21 21 21 21 21 21 20 20 19 20 20 20 20 21 21 20 20 20 20 20 20 20 19 19 19 19 19 18 18 18 18 17 17 17 17 18 19 20 21 21 22 22 22 22 22 22 22 22 23 24 25 25 26 26 26 26 26 26 27 28 29 29 29 29 29 29 29 28 27 27 27 28 28 29 29 29 29 29 29 29 28 27 26 24 23 21 20 20 20 20 20 20 20 20 21 21 22 23 24 25 26 27 28 29 30 30 30 30 30 30 29 28 28 27 27 26 25 25 24 23 24 25 25 24 24 23 23 22 22 22 22 22 22 22 21 21 21 21 22 22 21 20 20 19 19 19 -4 -4 -4 -4 -5 -5 -4 -4 -3 -2 -1 -1 -0 -0 -0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -7 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -10 -9 -8 -8 -6 -6 -6 -6 -6 -6 -6 -8 -9 -10 -9 -9 -8 -6 -5 -5 -6 -6 -9 -11 -12 -11 -10 -8 -8 -9 -12 -14 -14 -10 -7 -6 -6 -7 -7 -8 -9 -11 -12 -12 -12 -9 -8 -7 -7 -8 -8 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -3 -3 -2 -0 3 4 2 -1 -2 -1 -0 -0 -1 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -5 -6 -6 -6 -6 -5 -5 -6 -7 -7 -6 -6 -6 -6 -7 -9 -9 -9 -8 -5 -3 -2 -2 -4 -6 -7 -7 -7 -6 -5 -4 -1 2 4 5 3 -1 -3 -2 2 5 7 5 3 1 2 5 8 10 10 8 7 7 7 8 8 7 7 8 10 10 9 9 10 13 16 17 17 15 13 11 10 10 10 12 13 15 15 16 17 18 18 17 16 15 14 14 14 15 16 16 16 15 16 17 20 22 25 27 29 29 28 26 25 23 21 21 20 20 20 20 20 20 20 20 21 21 21 21 21 21 20 21 21 21 21 20 20 20 20 19 19 19 19 19 19 18 18 18 18 18 19 20 20 21 21 22 22 22 22 22 22 22 22 23 24 24 25 26 26 26 26 26 25 26 27 27 28 28 29 29 29 29 29 28 28 27 27 27 28 28 29 29 29 30 29 29 28 27 26 24 23 21 21 20 20 20 20 20 19 20 20 21 22 23 24 25 26 27 28 29 30 31 31 31 30 30 29 29 29 28 27 26 26 25 24 24 24 24 24 23 23 22 22 21 21 21 21 21 22 22 22 22 22 22 22 21 20 19 19 19 18 -0 -0 -0 -1 -2 -2 -2 -1 -1 -0 -0 -0 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -7 -8 -9 -10 -10 -10 -9 -9 -9 -9 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -10 -10 -8 -8 -7 -6 -6 -6 -6 -6 -6 -7 -9 -10 -10 -9 -7 -5 -5 -6 -6 -8 -9 -9 -9 -8 -8 -8 -9 -12 -15 -15 -12 -11 -11 -12 -13 -11 -8 -7 -8 -10 -11 -11 -9 -7 -6 -7 -7 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -1 2 4 3 1 -1 -1 1 1 1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -6 -6 -7 -7 -6 -6 -6 -7 -8 -8 -7 -6 -5 -5 -6 -8 -9 -9 -7 -5 -3 -1 -1 -2 -4 -7 -8 -7 -6 -5 -3 -0 3 4 4 2 -2 -5 -3 2 7 8 7 3 1 2 5 8 11 11 9 7 7 7 7 7 6 6 7 8 9 9 9 10 12 15 16 17 15 13 11 9 9 9 11 13 14 15 16 17 18 18 18 16 16 15 15 15 15 16 16 15 15 15 16 19 21 24 27 29 29 29 28 26 24 22 21 20 20 20 19 19 20 20 21 22 22 22 22 21 21 21 21 21 21 21 21 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 20 20 21 21 22 22 22 22 22 22 22 22 23 24 24 24 25 25 25 25 25 25 25 25 26 26 27 28 28 29 29 29 29 28 28 27 27 27 27 28 29 30 30 30 29 29 28 27 26 25 23 22 21 21 20 20 19 19 19 20 20 21 22 23 24 25 26 27 28 29 30 31 30 30 30 30 30 30 29 28 27 27 26 25 25 24 24 24 23 23 23 22 22 22 22 22 22 23 23 24 24 24 23 22 21 20 19 18 18 18 3 3 2 2 2 2 3 3 3 2 2 1 -0 -1 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -9 -10 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -8 -7 -7 -6 -6 -7 -7 -9 -10 -10 -9 -7 -6 -6 -6 -7 -8 -8 -7 -7 -7 -8 -10 -12 -14 -14 -12 -12 -12 -12 -12 -11 -11 -12 -11 -11 -11 -11 -8 -6 -6 -6 -5 -4 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -2 -2 -3 -3 -3 -1 3 4 3 1 -1 -1 -0 1 1 -0 -1 -1 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -9 -8 -7 -5 -5 -5 -7 -8 -8 -7 -6 -4 -2 -1 -1 -2 -4 -6 -7 -7 -6 -4 -1 2 4 4 1 -3 -5 -5 1 7 9 8 4 1 1 4 8 11 12 10 7 5 5 7 7 6 6 6 7 9 9 9 10 12 13 15 15 14 13 11 9 9 9 11 13 14 14 15 16 18 18 18 17 16 16 16 16 16 15 16 15 14 14 16 18 20 22 25 27 28 29 28 27 26 24 22 21 20 20 19 19 19 21 21 22 22 22 21 20 20 20 20 20 21 21 21 20 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 20 20 20 20 21 22 22 22 22 22 22 22 22 23 23 23 23 23 24 24 25 25 25 25 25 26 26 26 27 28 28 28 28 28 28 27 26 26 27 27 28 29 30 30 30 29 29 28 28 26 25 24 23 22 21 20 20 19 19 19 20 21 22 23 24 24 25 26 27 28 29 30 30 30 30 30 30 30 30 29 28 28 27 26 25 24 23 23 23 23 23 23 23 23 23 23 24 25 26 26 26 25 24 23 21 20 19 18 18 17 3 3 3 4 4 5 5 5 5 4 3 2 1 -0 -1 -2 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6 -6 -7 -8 -9 -9 -9 -10 -10 -9 -9 -9 -8 -8 -8 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -11 -10 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -8 -7 -8 -8 -8 -7 -6 -6 -6 -8 -10 -12 -13 -14 -13 -14 -14 -13 -10 -8 -11 -14 -15 -14 -11 -11 -9 -7 -6 -5 -3 -2 -2 -2 -1 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -1 1 4 4 2 -1 -2 -1 -0 -0 -0 -0 -0 -1 -1 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -9 -10 -10 -9 -8 -6 -5 -5 -6 -8 -8 -8 -6 -5 -3 -1 -0 -0 -1 -3 -5 -6 -6 -4 -2 -0 2 3 1 -3 -6 -5 -1 5 8 8 5 2 1 3 7 11 12 10 6 4 3 5 6 6 6 6 7 9 10 10 10 11 12 13 13 13 12 10 9 8 9 11 13 14 14 15 15 17 17 17 17 16 16 16 16 16 16 15 14 13 13 15 17 19 21 23 25 26 27 27 26 25 24 23 22 22 21 20 20 20 20 21 21 21 21 20 19 19 18 18 18 18 18 19 19 19 19 19 19 19 18 18 18 18 18 19 19 19 19 19 19 18 19 19 19 20 20 20 21 21 21 20 21 21 21 21 21 21 21 22 22 22 23 24 24 24 24 25 25 26 26 26 26 27 27 27 27 27 26 26 26 26 27 28 29 29 30 29 29 28 28 27 26 25 24 23 22 21 20 19 19 19 20 21 22 23 24 24 25 26 27 27 28 29 29 30 30 30 30 30 30 30 29 28 28 27 26 24 24 23 23 24 24 25 25 25 25 26 26 27 28 28 28 27 25 23 22 20 19 18 18 17 -0 -0 1 1 2 4 5 5 5 4 4 3 3 2 2 1 -0 -0 -1 -1 -2 -2 -3 -4 -5 -6 -6 -7 -8 -9 -10 -10 -10 -10 -9 -9 -9 -8 -8 -8 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -14 -14 -14 -13 -13 -12 -11 -10 -9 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -6 -6 -6 -7 -8 -9 -11 -12 -13 -14 -15 -16 -14 -11 -8 -11 -15 -17 -15 -11 -11 -10 -9 -6 -5 -3 -2 -2 -2 -1 -0 1 2 1 1 -0 -0 -0 -0 -0 -0 -0 -1 -2 -2 -1 1 4 4 2 -0 -1 -2 -2 -1 -1 -0 -0 -0 -1 -1 -1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -5 -6 -6 -7 -7 -7 -8 -8 -8 -8 -9 -9 -9 -9 -10 -11 -11 -10 -8 -7 -6 -6 -6 -7 -7 -7 -7 -6 -5 -3 -1 -0 -0 -1 -3 -4 -5 -4 -3 -1 1 2 -0 -3 -5 -6 -2 4 7 7 5 2 -0 2 5 8 10 9 5 2 1 3 5 6 6 6 7 9 10 10 10 10 11 11 12 11 10 9 8 7 8 10 12 13 14 14 15 16 17 17 16 15 15 15 16 16 15 14 13 11 12 13 16 18 19 21 22 24 25 25 25 24 24 24 23 22 21 20 20 20 20 20 20 20 20 19 18 17 17 17 17 17 16 16 17 17 17 17 17 17 17 16 16 17 16 16 17 17 17 17 17 17 17 17 18 18 18 18 18 18 19 19 19 20 20 19 19 19 20 20 20 20 21 22 23 23 23 24 24 24 25 25 25 26 26 26 26 26 26 25 25 25 25 26 27 28 28 29 29 29 29 29 28 27 26 25 24 23 22 21 20 19 19 20 21 22 23 24 24 25 26 26 27 27 28 29 29 29 29 29 29 30 30 29 28 28 27 26 25 24 24 23 24 25 26 27 27 28 28 29 30 30 30 29 28 26 23 21 20 19 18 18 17 -3 -3 -3 -3 -2 -1 1 2 2 3 3 3 3 3 2 2 2 1 1 1 -0 -1 -2 -2 -3 -5 -6 -7 -7 -8 -9 -10 -10 -10 -9 -9 -9 -8 -8 -8 -9 -9 -9 -9 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -12 -13 -15 -16 -16 -16 -15 -13 -12 -11 -10 -9 -8 -7 -7 -8 -9 -9 -9 -8 -7 -6 -7 -7 -7 -8 -9 -11 -12 -14 -15 -15 -14 -12 -11 -13 -15 -16 -14 -11 -11 -12 -10 -7 -4 -3 -3 -3 -2 -0 1 1 2 2 1 -0 -0 1 1 2 2 1 -0 -1 -0 1 3 4 3 1 -1 -2 -1 -1 -1 -0 -0 -0 -0 -1 -1 -0 -0 1 -0 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -6 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -10 -11 -11 -11 -9 -8 -7 -7 -7 -7 -7 -6 -7 -7 -6 -5 -2 -1 -0 -0 -1 -3 -4 -4 -3 -2 -1 -0 -0 -3 -5 -5 -3 2 6 7 5 2 1 -0 3 6 7 7 5 1 1 3 6 7 6 5 6 8 10 10 10 9 9 9 10 9 9 8 7 7 7 9 11 13 13 14 14 15 16 16 15 14 13 14 15 16 16 14 11 11 11 13 15 17 18 19 21 22 23 24 24 23 22 23 23 23 22 21 20 20 20 19 19 18 17 17 16 15 15 15 15 15 15 15 15 15 14 15 15 15 15 15 14 14 14 15 15 15 16 16 16 16 16 16 16 16 17 17 17 16 16 17 18 18 19 19 19 19 19 19 19 19 19 20 21 21 22 22 22 23 24 24 24 24 25 25 25 25 25 25 25 25 24 25 25 26 27 28 28 29 29 29 29 29 28 27 26 26 25 24 23 22 20 20 20 21 22 24 24 25 25 26 27 27 28 28 28 28 28 28 28 29 29 29 29 28 27 27 26 25 24 24 23 24 24 25 27 28 29 30 30 31 31 31 29 28 26 24 21 20 19 18 18 17 -3 -4 -4 -3 -3 -3 -2 -2 -2 -2 -1 -1 -0 -0 -1 -1 -1 -0 -0 -0 -0 -0 -1 -2 -3 -4 -5 -6 -6 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -12 -14 -16 -17 -17 -16 -15 -14 -13 -12 -11 -9 -8 -7 -6 -6 -6 -7 -7 -7 -8 -8 -7 -6 -7 -9 -11 -12 -13 -13 -13 -12 -12 -12 -14 -15 -17 -16 -12 -11 -12 -10 -7 -5 -5 -5 -4 -2 -0 -0 1 1 1 1 -0 1 2 3 4 4 4 2 -0 1 3 3 3 2 -0 -1 -1 -1 -0 -0 -0 -0 -0 -1 -1 -0 -0 1 1 -0 -1 -1 -1 -1 -1 -1 -2 -3 -4 -4 -5 -6 -6 -7 -8 -8 -9 -9 -9 -9 -9 -10 -10 -11 -11 -11 -10 -9 -8 -8 -8 -7 -7 -6 -6 -6 -7 -6 -5 -2 -1 -0 -0 -1 -3 -4 -4 -3 -1 -0 -0 -2 -5 -6 -4 -0 4 6 5 4 2 1 1 3 5 5 4 1 -0 2 6 8 7 5 5 7 9 9 8 7 7 7 7 7 7 7 7 7 7 9 11 12 13 13 14 15 15 15 14 12 12 13 15 16 15 14 11 10 11 14 16 17 17 17 18 20 22 23 23 22 21 21 22 23 23 21 20 19 18 18 17 16 15 14 14 13 13 12 12 13 13 13 13 13 13 13 14 14 14 14 13 13 13 13 13 14 15 15 16 16 16 16 15 15 15 15 16 16 15 16 16 17 17 18 18 18 19 19 19 19 18 18 18 19 20 20 20 21 21 22 23 24 24 24 24 24 25 25 24 24 24 24 24 24 25 26 27 27 28 29 30 30 30 29 28 27 27 26 25 24 24 22 21 21 21 22 23 24 25 26 27 27 27 28 28 28 28 28 28 28 28 28 28 28 27 27 26 26 25 25 24 23 23 23 24 26 27 29 30 30 31 31 30 29 28 26 24 22 21 19 18 17 17 -0 -0 -0 -0 -0 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -3 -3 -4 -4 -5 -6 -6 -6 -7 -7 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -12 -14 -15 -16 -16 -16 -15 -14 -13 -13 -12 -11 -10 -8 -6 -4 -3 -3 -5 -6 -8 -9 -9 -8 -9 -10 -10 -10 -10 -11 -12 -12 -12 -12 -13 -14 -15 -14 -13 -12 -12 -10 -7 -6 -7 -6 -4 -3 -1 -1 -0 -0 -0 -0 -0 1 2 4 6 6 5 2 1 2 3 3 2 1 -0 -0 -0 1 1 1 1 -0 -0 -1 -0 -0 -0 -0 -0 -0 -1 -1 -2 -2 -2 -2 -3 -3 -4 -5 -6 -6 -6 -7 -7 -8 -9 -9 -10 -10 -10 -10 -10 -11 -11 -10 -10 -9 -9 -9 -8 -8 -6 -6 -6 -6 -7 -6 -4 -2 -1 -1 -1 -1 -3 -4 -4 -2 -0 1 -0 -3 -6 -5 -1 3 5 5 5 4 3 2 2 3 4 3 2 1 2 5 8 7 6 4 5 7 7 6 5 5 6 6 6 5 5 5 6 7 9 10 11 11 12 12 13 13 13 12 10 10 11 14 16 16 14 12 11 12 15 17 18 18 17 17 18 20 21 22 21 20 20 21 22 23 21 19 18 16 16 15 14 14 13 13 12 12 11 11 12 12 12 12 12 12 12 13 13 13 13 13 13 13 14 14 14 14 15 15 16 16 16 16 15 15 16 15 15 15 15 15 16 17 17 18 18 18 18 18 19 19 18 18 18 18 18 19 19 19 20 21 22 23 23 23 23 24 24 24 24 24 24 23 23 23 24 25 26 26 27 29 30 30 30 30 30 30 29 29 28 26 26 24 22 22 22 23 23 24 25 26 27 27 27 28 28 28 28 28 28 28 28 27 27 27 26 26 25 25 25 24 24 23 22 23 23 24 26 27 28 29 30 30 29 28 27 25 25 23 22 20 19 18 16 3 3 3 2 2 1 -0 -1 -3 -5 -6 -6 -7 -7 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -8 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -13 -14 -15 -16 -15 -13 -12 -12 -12 -12 -12 -11 -10 -8 -5 -4 -4 -4 -4 -4 -5 -7 -8 -9 -10 -10 -9 -9 -11 -13 -13 -12 -12 -13 -13 -13 -13 -12 -11 -12 -12 -10 -7 -7 -6 -4 -3 -2 -2 -2 -2 -2 -1 -1 1 3 6 7 6 4 2 1 2 2 2 1 1 -0 1 1 1 1 1 1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -2 -2 -2 -3 -3 -3 -3 -4 -4 -5 -6 -6 -6 -6 -7 -7 -8 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -9 -9 -9 -8 -8 -7 -6 -6 -6 -7 -6 -4 -2 -1 -0 -0 -1 -2 -4 -3 -1 1 2 -0 -3 -4 -3 -0 3 5 5 6 5 4 3 3 4 4 3 2 2 5 8 8 6 4 4 5 6 5 3 3 4 4 5 5 5 6 6 8 9 10 10 9 9 10 11 11 10 9 8 8 10 13 16 16 14 12 11 13 16 19 20 20 19 17 17 19 21 22 22 20 19 19 21 22 22 19 17 15 14 13 12 11 11 11 11 11 10 10 10 10 11 12 12 12 12 12 12 13 13 14 14 14 15 15 15 15 15 15 16 16 16 17 17 16 16 16 16 16 16 16 16 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 19 20 21 22 23 23 23 23 23 23 24 24 23 23 23 22 23 24 25 26 26 28 29 30 31 31 31 31 31 30 30 29 27 26 24 23 23 23 23 24 25 25 26 27 27 28 28 28 28 28 28 28 28 27 27 27 26 25 25 24 24 24 24 23 22 22 22 22 23 25 26 28 28 29 28 28 27 26 25 23 22 20 19 18 16 3 3 2 2 1 1 1 -1 -3 -4 -5 -6 -7 -8 -9 -9 -8 -7 -7 -6 -5 -5 -5 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -12 -13 -14 -14 -13 -12 -12 -12 -12 -12 -11 -10 -9 -8 -7 -7 -7 -6 -5 -3 -3 -4 -6 -7 -9 -9 -9 -11 -11 -11 -12 -13 -13 -13 -13 -12 -12 -14 -12 -10 -10 -9 -8 -8 -6 -5 -4 -4 -4 -4 -4 -4 -3 -2 1 5 6 6 4 2 -0 -0 2 2 1 -0 -0 1 1 1 1 1 1 -0 -0 -0 -0 -0 -0 -0 -1 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -7 -8 -8 -9 -9 -8 -8 -8 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -6 -4 -2 -1 1 1 -0 -2 -4 -3 -1 2 3 1 -1 -2 -1 1 3 4 5 6 5 4 3 3 4 4 3 3 5 7 8 6 4 3 3 4 3 2 1 2 3 4 4 4 5 6 8 10 10 9 8 7 7 8 8 8 7 6 7 9 12 15 17 15 13 12 13 16 19 20 20 19 19 19 20 21 22 22 21 19 18 19 20 20 19 16 14 13 11 9 9 9 10 10 10 9 8 9 9 9 10 11 12 12 12 12 12 13 13 14 15 15 15 15 16 16 16 15 16 16 17 18 18 18 18 17 17 17 16 17 17 17 17 17 17 17 17 17 18 18 18 18 19 19 19 18 18 18 18 18 19 20 21 22 23 24 24 24 23 23 23 23 23 22 22 22 22 23 25 25 27 28 29 30 31 31 31 32 32 31 30 29 28 26 25 24 24 24 24 25 25 26 26 27 28 28 29 29 29 29 28 28 27 27 27 26 25 24 23 23 23 23 23 22 22 22 21 22 23 24 26 26 27 27 27 27 27 26 24 23 21 20 19 18 2 1 -0 -0 -1 -1 -1 -2 -3 -5 -6 -6 -7 -8 -9 -9 -9 -8 -8 -8 -7 -6 -6 -5 -5 -6 -6 -6 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -9 -9 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -10 -9 -9 -8 -8 -8 -9 -9 -8 -6 -5 -5 -6 -7 -8 -9 -9 -10 -9 -9 -10 -11 -13 -13 -12 -12 -13 -14 -12 -9 -8 -9 -8 -8 -6 -6 -5 -5 -6 -6 -6 -6 -4 -2 2 4 4 2 -0 -1 -1 1 1 1 -0 -0 1 2 2 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -2 -3 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -8 -8 -7 -7 -6 -6 -4 -3 -0 1 1 -0 -2 -3 -2 -0 3 3 2 -0 -0 1 2 4 5 7 7 6 4 3 3 4 4 5 5 6 7 6 4 3 3 3 3 2 1 1 2 3 3 4 5 6 8 9 9 8 6 5 5 6 7 7 6 6 7 10 13 15 16 15 12 12 14 16 19 20 19 19 19 19 21 22 22 22 22 20 19 18 19 19 18 16 14 12 10 8 7 7 8 8 8 8 7 7 7 8 9 10 10 11 11 11 12 12 12 13 14 15 15 15 15 16 16 16 15 15 16 17 18 18 18 18 18 18 17 17 17 17 17 17 17 17 17 17 18 18 19 19 19 19 19 19 19 19 19 18 19 19 20 20 21 23 24 24 24 24 24 24 23 22 22 21 21 21 22 23 24 26 28 29 30 30 31 31 32 32 31 31 30 29 28 27 26 25 25 25 25 25 26 26 27 27 28 29 29 29 29 28 28 27 27 27 27 26 25 23 23 22 22 22 22 22 22 21 21 22 22 24 25 25 26 27 27 27 27 26 25 23 22 21 20 -0 -2 -2 -2 -3 -3 -3 -4 -5 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -7 -8 -9 -9 -9 -9 -10 -10 -11 -11 -11 -11 -11 -10 -10 -9 -8 -8 -8 -9 -9 -10 -10 -10 -10 -9 -9 -8 -8 -8 -10 -11 -10 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -11 -12 -13 -13 -13 -14 -14 -11 -8 -8 -9 -9 -8 -7 -6 -6 -6 -7 -7 -7 -6 -4 -2 1 2 -0 -2 -3 -3 -0 1 -0 -1 -1 -0 2 2 1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -7 -7 -7 -6 -6 -6 -5 -4 -3 -0 1 2 1 -2 -3 -2 1 3 4 2 1 -0 1 2 4 6 7 7 5 3 3 3 4 5 6 6 6 5 4 3 2 2 1 1 1 1 2 2 2 3 4 6 8 9 8 6 5 4 4 5 6 6 6 7 8 11 13 14 15 14 12 11 13 16 18 19 18 17 18 19 20 21 22 22 22 21 19 18 18 18 17 15 13 11 9 7 6 6 6 7 7 6 6 5 5 6 7 9 10 10 10 10 11 11 12 12 13 13 14 14 14 14 14 15 15 14 14 16 16 17 17 17 17 17 17 17 17 17 17 17 17 16 17 17 17 18 18 19 19 19 19 19 19 19 19 20 20 20 20 20 20 21 23 24 24 24 24 24 24 23 23 22 21 21 21 21 22 23 26 27 28 29 29 30 30 31 31 31 31 31 30 30 30 29 27 27 26 26 26 26 26 26 27 28 28 29 29 29 29 28 27 27 27 26 26 25 24 23 22 21 21 22 22 22 22 22 21 21 22 23 24 25 26 27 27 27 27 26 25 24 23 22 -3 -3 -4 -5 -5 -4 -4 -5 -6 -5 -6 -6 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -6 -7 -7 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -11 -10 -9 -7 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -8 -8 -8 -9 -10 -9 -8 -8 -9 -9 -9 -8 -8 -8 -8 -9 -10 -10 -11 -12 -13 -14 -14 -14 -13 -10 -7 -7 -8 -10 -9 -8 -7 -7 -7 -8 -8 -8 -7 -4 -2 -0 -1 -3 -4 -4 -2 -0 -0 -2 -2 -1 1 2 1 -1 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -7 -7 -7 -7 -7 -6 -6 -5 -5 -6 -6 -6 -6 -5 -5 -4 -4 -3 -0 2 2 1 -2 -2 -1 2 4 4 2 1 -0 1 3 5 7 7 6 4 2 3 3 5 6 6 6 5 3 2 1 1 1 1 1 1 1 1 1 2 3 6 8 8 8 5 4 3 4 5 6 7 7 7 8 10 12 13 13 13 12 11 12 15 17 17 16 15 16 18 19 20 21 22 22 20 19 17 17 16 15 14 12 10 8 6 5 5 5 5 5 4 4 3 3 4 6 8 9 10 10 10 10 10 11 11 11 12 12 12 12 12 12 12 13 13 13 13 14 15 15 16 15 15 15 15 15 15 15 15 15 15 15 16 16 17 17 18 18 18 18 18 19 19 19 19 20 21 21 21 21 21 22 22 23 24 24 24 25 25 24 24 23 22 21 21 21 22 24 26 27 28 28 28 28 29 30 30 30 31 31 31 31 30 30 29 28 28 27 27 27 27 27 27 27 27 28 29 29 29 28 27 27 27 26 26 25 25 23 22 21 21 21 21 22 22 22 22 22 22 22 23 24 24 26 27 27 27 27 27 27 26 25 -6 -6 -6 -6 -6 -5 -5 -6 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -9 -9 -9 -9 -9 -10 -10 -9 -9 -8 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -8 -8 -9 -10 -10 -10 -10 -10 -10 -9 -9 -7 -6 -5 -4 -5 -6 -7 -7 -8 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -8 -8 -8 -8 -9 -10 -11 -12 -13 -13 -14 -13 -12 -11 -8 -6 -7 -9 -9 -8 -7 -7 -7 -8 -8 -8 -7 -5 -3 -2 -4 -5 -5 -4 -1 -1 -2 -3 -3 -1 -0 -0 -1 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -4 -4 -4 -4 -3 -3 -3 -4 -5 -5 -5 -5 -5 -6 -6 -6 -7 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -2 -0 2 2 1 -1 -1 -0 2 3 3 1 1 1 2 4 6 7 6 4 2 1 2 3 5 6 6 5 3 1 1 1 1 1 1 1 1 1 -0 1 2 5 7 8 7 5 3 3 4 6 7 7 7 7 8 9 10 11 11 11 10 10 10 13 14 14 13 12 13 16 18 19 19 19 19 19 17 16 15 14 13 12 10 8 6 5 4 3 3 3 3 2 2 2 2 3 4 7 10 11 11 10 9 9 9 10 10 10 10 10 10 10 10 11 11 11 11 12 12 13 13 13 13 13 13 13 13 14 14 13 13 13 13 14 14 15 15 16 17 16 16 17 17 18 18 19 19 20 21 21 21 21 22 22 22 23 24 24 24 25 25 25 25 24 23 23 22 22 22 24 26 27 28 28 28 28 28 28 29 29 30 30 31 31 30 30 30 30 29 28 27 27 27 27 27 27 27 27 28 28 28 28 28 27 27 26 26 26 26 25 24 22 22 21 21 22 22 22 22 22 22 22 23 24 24 25 26 27 27 27 28 28 27 27 -9 -8 -8 -7 -7 -7 -6 -6 -6 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -9 -8 -7 -7 -6 -6 -6 -6 -6 -7 -7 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -9 -8 -8 -7 -6 -6 -4 -4 -4 -4 -4 -5 -6 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -9 -10 -10 -11 -12 -12 -11 -10 -12 -12 -11 -9 -11 -11 -8 -7 -7 -7 -7 -8 -8 -6 -5 -4 -4 -5 -5 -3 -2 -1 -3 -4 -4 -2 -0 -0 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -4 -5 -5 -5 -4 -3 -3 -3 -4 -5 -5 -5 -6 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -3 -3 -3 -2 -0 1 1 -0 -0 -0 2 3 3 2 1 1 2 4 5 6 6 4 2 1 1 1 3 4 5 5 4 2 1 -0 1 2 2 2 2 1 1 1 2 5 7 7 6 3 2 2 4 6 8 8 7 6 7 8 9 9 9 8 8 9 10 11 12 11 11 10 11 14 16 17 16 15 15 15 14 13 12 12 11 9 8 6 5 3 2 2 1 1 1 1 -0 -0 1 2 4 7 9 11 11 10 8 8 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 13 13 14 14 15 15 15 15 16 16 16 17 17 18 19 19 20 21 21 22 22 22 23 23 24 24 24 25 25 25 25 25 24 23 23 23 24 26 27 28 28 29 29 28 27 27 27 29 30 30 30 30 30 30 29 29 28 28 28 27 27 27 27 27 27 27 28 28 28 28 27 27 26 26 26 26 26 25 24 23 22 22 22 22 22 22 23 23 23 23 23 24 24 25 26 27 27 28 28 28 27 -9 -10 -10 -10 -10 -9 -8 -7 -7 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -7 -7 -8 -8 -9 -9 -9 -8 -7 -6 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -7 -6 -6 -6 -6 -7 -8 -8 -8 -9 -9 -8 -8 -8 -7 -6 -6 -5 -4 -3 -2 -2 -2 -3 -4 -6 -9 -9 -8 -8 -8 -9 -10 -10 -10 -10 -10 -10 -10 -8 -8 -8 -10 -11 -11 -11 -11 -11 -10 -9 -10 -12 -11 -9 -10 -11 -7 -6 -7 -7 -7 -7 -7 -5 -4 -4 -4 -4 -3 -2 -2 -3 -4 -4 -3 -1 -1 -2 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -4 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -2 -1 -1 -1 -2 -2 -1 -0 1 1 -0 -0 1 2 3 3 2 1 2 3 5 6 6 5 3 1 -0 1 1 2 3 4 5 3 2 -0 -0 1 2 3 3 1 1 1 2 4 6 6 5 2 1 1 4 6 8 8 6 4 5 6 7 7 7 6 6 7 8 9 10 9 8 8 10 13 15 15 14 13 12 12 11 10 9 8 8 7 6 4 3 2 1 -0 -0 -0 -0 -0 -0 -0 1 2 3 6 9 10 10 8 7 6 5 5 6 6 6 7 7 7 8 8 8 8 8 8 8 9 9 9 9 9 10 10 10 10 10 10 10 10 11 11 11 12 12 13 13 14 14 14 15 15 15 16 16 16 17 17 18 19 20 20 21 22 22 22 23 23 23 24 24 25 25 25 25 25 24 24 24 25 26 27 28 28 29 29 29 28 28 28 28 29 29 30 30 29 29 29 28 28 28 28 27 27 27 27 27 27 28 28 28 28 28 27 27 26 26 27 27 27 27 26 25 24 23 23 23 22 22 23 24 24 24 24 24 25 25 26 26 26 27 27 27 27 -7 -8 -9 -9 -10 -9 -9 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -7 -8 -8 -9 -9 -8 -7 -6 -5 -5 -5 -6 -6 -7 -7 -7 -7 -8 -8 -8 -9 -9 -8 -7 -6 -6 -6 -6 -7 -8 -8 -9 -9 -9 -8 -8 -7 -7 -7 -6 -5 -4 -3 -2 -2 -1 -2 -4 -7 -8 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -10 -10 -10 -12 -13 -14 -13 -9 -9 -12 -14 -13 -11 -11 -7 -5 -5 -5 -5 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -4 -5 -3 -1 -1 -2 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -4 -5 -5 -4 -4 -4 -4 -4 -5 -5 -7 -8 -8 -8 -7 -6 -5 -5 -5 -5 -4 -4 -4 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -1 -0 -0 -0 -0 -1 -0 1 1 1 1 2 3 3 3 2 1 1 3 5 6 6 5 4 2 1 1 1 -0 1 2 4 4 3 2 -0 -0 1 3 3 2 -0 -0 2 3 4 5 4 2 1 1 4 6 7 7 5 3 2 4 6 6 5 5 5 6 7 8 7 7 6 6 8 10 13 13 12 10 9 9 9 8 7 7 6 5 4 2 1 -0 -1 -2 -3 -2 -1 -1 -0 -0 -0 1 3 4 8 9 9 7 5 3 3 3 4 4 4 4 5 5 6 6 6 7 7 7 7 7 7 7 7 7 8 8 9 9 9 9 9 9 9 10 10 10 11 11 12 13 13 14 14 14 14 15 15 15 16 16 17 17 18 18 19 20 20 21 21 22 22 23 23 23 24 24 24 25 25 25 25 25 25 26 27 28 29 29 29 29 28 28 28 29 29 29 29 29 29 28 28 27 27 27 27 27 28 28 28 28 28 28 28 29 28 28 28 27 26 26 27 28 28 28 27 26 26 24 24 23 23 23 23 24 25 25 26 26 26 25 25 26 25 25 25 25 25 -5 -6 -7 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -7 -7 -6 -6 -7 -8 -8 -9 -8 -7 -6 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -7 -8 -9 -9 -9 -8 -7 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -7 -6 -6 -5 -4 -4 -4 -5 -6 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -11 -14 -16 -16 -11 -8 -10 -12 -11 -9 -9 -6 -3 -2 -3 -4 -4 -3 -2 -2 -3 -3 -3 -3 -3 -3 -4 -3 -2 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -5 -5 -7 -8 -9 -9 -8 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -3 -2 -1 -0 1 1 1 1 1 1 2 2 3 3 4 4 3 2 2 3 5 6 6 5 4 4 3 2 1 1 1 -0 2 3 4 4 2 -0 -0 1 2 2 -0 -0 1 2 3 3 2 1 1 2 4 6 7 6 3 1 1 3 5 5 5 3 4 6 7 7 6 5 3 4 6 8 10 11 10 8 7 7 7 7 6 5 4 3 2 1 -1 -2 -3 -4 -4 -3 -2 -1 -0 1 1 1 1 3 5 7 7 6 4 2 2 2 3 3 4 4 4 3 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 7 7 7 7 8 8 8 9 9 10 10 11 11 12 12 13 13 14 14 14 15 15 15 16 17 18 18 18 18 18 19 20 21 21 22 22 22 23 23 23 23 23 24 25 25 25 25 26 27 27 29 29 29 29 29 29 29 29 29 29 29 29 28 28 27 27 26 26 27 27 28 28 29 29 29 29 29 29 29 29 28 27 27 27 27 28 28 28 28 27 27 26 25 24 24 24 24 24 25 26 27 27 27 27 26 26 26 26 25 25 24 -5 -5 -6 -7 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -9 -10 -9 -9 -9 -9 -8 -8 -7 -7 -7 -8 -9 -9 -8 -7 -6 -6 -5 -6 -6 -5 -5 -5 -5 -5 -5 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -12 -12 -11 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -8 -7 -7 -8 -9 -9 -9 -9 -10 -10 -11 -11 -10 -11 -14 -18 -18 -14 -10 -11 -13 -13 -12 -8 -6 -3 -2 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -2 -2 -1 -1 -0 -0 -0 -0 -1 -2 -2 -3 -3 -4 -4 -4 -4 -5 -5 -6 -8 -9 -10 -8 -7 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -5 -4 -4 -3 -2 -1 -1 -0 1 1 1 1 1 2 2 3 4 4 4 4 4 3 3 4 6 6 6 5 4 4 3 3 2 1 1 -0 2 3 4 5 3 1 1 1 1 1 -0 -0 1 2 3 2 -0 -0 1 3 5 6 4 2 -0 -0 2 4 5 5 4 3 5 6 6 5 3 1 1 3 5 7 9 8 7 6 5 6 6 4 3 2 1 -0 -0 -2 -3 -3 -4 -4 -3 -1 -0 1 2 1 1 1 2 3 4 5 4 3 1 1 1 2 2 3 3 3 3 3 3 3 3 2 2 3 3 3 3 3 3 4 4 5 4 5 5 5 6 7 7 7 8 8 9 9 9 10 11 11 12 13 13 13 13 13 14 15 15 17 18 18 18 18 18 18 19 20 21 21 22 22 22 22 22 22 23 23 24 24 25 25 25 26 27 28 29 29 29 29 29 29 29 29 29 28 28 28 27 27 27 27 26 27 28 28 29 29 30 30 29 29 29 29 29 29 28 27 27 27 28 29 29 29 28 28 27 26 25 25 24 25 25 26 26 27 28 28 28 27 27 27 26 26 25 25 -6 -7 -7 -8 -9 -9 -10 -10 -9 -9 -9 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -7 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -14 -14 -15 -14 -14 -13 -13 -13 -12 -11 -10 -10 -10 -10 -10 -9 -8 -8 -8 -9 -9 -9 -9 -9 -9 -10 -10 -9 -10 -13 -17 -19 -15 -12 -12 -14 -15 -14 -11 -7 -4 -1 -0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 -1 -1 -1 -1 -1 -0 1 1 1 -0 -1 -1 -2 -2 -2 -3 -4 -4 -4 -5 -6 -7 -8 -9 -8 -7 -5 -4 -4 -4 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -3 -2 -1 -0 -0 -0 1 2 1 1 1 2 3 4 4 4 4 4 4 4 4 5 6 6 6 5 4 4 3 3 3 2 1 1 1 3 5 5 4 2 1 -0 -0 -0 -0 -0 1 1 1 -0 -0 -0 2 4 5 4 1 -1 -1 1 3 4 4 4 3 3 4 4 3 1 -0 -0 1 3 5 5 6 5 4 4 4 4 3 2 1 -0 -1 -1 -2 -2 -3 -3 -2 -1 1 2 3 3 2 2 1 -0 1 2 3 3 2 1 -0 1 1 2 2 2 1 1 1 1 1 1 1 1 1 1 -0 -0 1 1 2 2 2 2 2 2 3 4 4 5 5 5 6 6 7 7 7 8 9 9 10 11 12 12 12 12 13 14 14 16 17 18 18 18 18 18 19 20 21 21 22 22 22 22 22 22 22 23 23 23 23 23 24 25 26 27 28 28 28 28 28 28 29 29 29 29 29 28 28 27 27 27 26 27 28 29 29 30 30 30 30 30 30 30 30 29 28 28 28 28 28 29 29 29 29 29 29 28 27 26 26 25 25 26 26 27 28 28 28 28 28 27 27 27 26 25 -8 -8 -9 -9 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -8 -9 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -9 -10 -11 -12 -14 -15 -16 -17 -18 -17 -16 -16 -15 -13 -13 -13 -12 -12 -12 -12 -11 -10 -9 -9 -10 -9 -8 -7 -7 -8 -9 -8 -9 -13 -17 -18 -16 -15 -15 -15 -16 -15 -12 -9 -5 -2 -0 1 -0 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -1 -1 -0 -0 -0 -0 -0 -0 1 1 2 2 1 1 -0 -0 -1 -1 -1 -2 -3 -4 -4 -5 -5 -6 -7 -7 -6 -5 -4 -4 -4 -5 -5 -5 -4 -4 -4 -3 -3 -3 -4 -4 -4 -4 -5 -5 -4 -4 -3 -2 -1 -0 1 1 2 2 2 2 1 1 2 3 3 3 4 4 4 4 4 4 5 6 6 6 5 5 4 3 3 3 3 2 -0 -0 2 5 6 5 3 2 -0 -1 -1 -0 -0 -0 -0 -1 -1 -0 2 3 4 3 -0 -2 -2 -0 2 4 3 2 2 2 2 2 1 -1 -2 -2 -1 1 2 3 3 2 2 2 2 2 2 -0 -0 -1 -1 -1 -1 -1 -1 -1 -0 1 2 3 3 2 1 -0 -1 -1 -1 1 1 1 -0 -0 -0 -0 -0 1 1 1 -0 -0 -1 -1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 1 1 1 1 2 3 3 4 4 4 5 6 6 7 7 7 9 10 10 10 11 11 12 13 15 16 16 17 17 18 19 19 20 21 21 22 22 22 22 22 22 22 22 22 22 22 23 23 24 25 26 27 27 27 27 27 28 28 29 29 29 29 28 28 27 27 27 27 27 28 28 29 30 30 30 30 30 30 30 30 29 29 28 28 28 28 29 29 29 30 30 30 29 28 27 27 26 26 26 27 27 28 28 29 29 28 28 28 28 27 27 -8 -9 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -8 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -6 -6 -5 -6 -6 -6 -7 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -9 -10 -11 -13 -14 -16 -18 -19 -18 -17 -17 -16 -15 -15 -15 -15 -15 -16 -16 -14 -13 -12 -11 -10 -9 -8 -6 -5 -5 -6 -7 -9 -13 -16 -17 -18 -19 -19 -18 -17 -15 -12 -9 -6 -4 -2 1 1 -1 -2 -1 -1 -0 -0 -0 -0 -1 -1 -1 -1 -0 1 1 1 1 1 1 2 3 3 3 2 1 1 1 -0 -0 -1 -2 -3 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 1 1 1 2 3 3 3 2 2 2 2 2 2 2 3 4 4 4 4 4 5 6 6 6 5 5 4 4 4 4 3 1 -0 -0 2 5 7 6 4 2 -0 -1 -0 -0 -0 -0 -1 -1 -1 1 2 3 2 -0 -2 -2 -1 1 3 2 1 -0 -0 -0 -0 -1 -2 -3 -3 -3 -1 -0 1 1 1 1 1 1 1 -0 -0 -0 -1 -1 -1 -1 -0 1 1 1 2 2 2 2 -0 -1 -3 -3 -3 -2 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 1 1 2 2 3 4 4 5 5 6 7 8 9 9 10 10 11 12 13 14 14 16 16 17 18 19 20 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 23 24 24 25 26 27 26 27 28 29 29 29 29 29 29 28 27 27 27 27 28 28 28 29 30 30 31 31 30 30 30 30 29 29 29 28 28 28 29 29 29 30 30 30 30 29 29 28 28 27 27 27 28 28 29 29 29 29 29 29 29 28 28 -8 -8 -8 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -7 -6 -5 -5 -6 -6 -6 -7 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -9 -10 -11 -12 -13 -15 -17 -18 -17 -17 -16 -16 -17 -17 -17 -18 -19 -19 -19 -17 -15 -14 -13 -12 -12 -10 -8 -6 -3 -3 -4 -7 -10 -12 -15 -17 -19 -18 -18 -17 -16 -13 -9 -4 -1 1 1 1 -1 -1 -1 1 1 1 1 -0 -0 -0 -0 -0 1 2 2 1 2 2 3 3 3 3 3 2 2 2 2 2 1 -0 -1 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -0 1 2 3 4 4 4 4 2 2 2 2 2 2 1 2 3 4 4 4 5 5 6 6 5 5 5 4 5 5 5 3 -0 -1 -1 2 5 8 7 5 2 -0 -0 -0 -0 -1 -1 -1 -1 -1 1 2 2 -0 -1 -1 -0 1 1 1 -0 -1 -2 -1 -1 -2 -3 -3 -3 -3 -3 -2 -1 -1 -1 -0 -0 -0 -0 1 -0 -0 -1 -1 -1 -0 1 1 2 1 1 -0 -0 -1 -2 -3 -5 -5 -5 -3 -2 -1 -0 -0 -0 1 1 1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -2 -3 -3 -3 -3 -3 -3 -2 -1 -1 -0 1 2 2 3 3 4 4 5 6 7 8 8 9 10 11 11 12 13 14 16 16 17 18 19 20 20 21 22 22 22 22 22 22 22 22 22 21 21 22 22 23 24 25 25 26 26 27 28 29 29 29 29 29 29 28 27 27 27 27 28 29 29 30 30 30 31 31 31 31 31 30 29 29 29 29 28 28 28 29 29 29 30 30 30 30 30 29 29 28 28 28 28 29 29 29 30 30 30 30 30 29 29 -7 -7 -7 -8 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -7 -7 -8 -8 -7 -6 -6 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -11 -12 -12 -13 -15 -15 -15 -15 -15 -16 -17 -18 -19 -19 -20 -21 -21 -21 -19 -18 -17 -15 -13 -13 -12 -9 -5 -2 -1 -3 -5 -7 -8 -9 -11 -12 -12 -12 -13 -14 -14 -10 -4 2 4 3 -0 -1 -0 1 1 1 1 -0 -0 -0 -0 -0 1 2 2 1 2 3 3 3 3 3 3 3 3 3 3 2 1 -1 -2 -3 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -5 -5 -4 -3 -3 -2 -2 -1 -0 2 3 4 5 5 5 4 3 3 4 4 3 2 1 2 2 3 4 5 5 5 5 5 5 4 5 5 6 7 6 2 -1 -2 -1 2 7 9 8 5 2 -0 -0 -0 -0 -1 -2 -2 -2 -1 -0 1 1 -0 -1 -0 -0 -0 -0 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 1 1 1 -0 -1 -2 -3 -3 -5 -6 -6 -6 -5 -4 -2 -0 1 1 1 1 1 1 -0 -1 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -3 -2 -2 -1 -0 1 1 1 2 2 3 4 4 5 6 7 8 8 9 10 10 12 14 15 15 16 16 17 18 19 20 21 22 22 22 22 22 22 22 22 21 21 21 22 23 23 24 25 25 26 27 28 29 29 29 29 29 28 27 27 27 27 27 27 28 29 30 30 31 31 31 32 32 31 31 30 30 29 29 29 29 29 29 29 29 29 29 30 30 30 29 29 29 29 29 30 30 30 30 30 30 31 31 31 31 31 -6 -6 -7 -8 -9 -9 -10 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -7 -8 -8 -8 -9 -10 -11 -11 -11 -12 -13 -13 -13 -13 -13 -14 -14 -15 -18 -19 -20 -21 -23 -25 -25 -23 -21 -19 -17 -16 -16 -16 -14 -12 -8 -3 -0 1 1 2 3 2 1 -0 -1 -4 -11 -16 -15 -11 -7 -5 -4 -2 -0 1 1 1 1 1 1 1 -0 -0 1 2 2 2 1 2 3 3 3 3 3 2 3 3 3 3 2 -0 -2 -3 -2 -2 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -5 -4 -4 -3 -2 -2 -1 -0 1 2 3 5 6 6 5 4 4 4 5 5 4 2 1 2 2 3 3 5 5 5 5 5 4 4 5 7 8 7 5 -0 -3 -3 -0 4 8 10 8 5 2 -0 -0 -0 -0 -2 -3 -3 -3 -2 -1 -0 -1 -1 -0 -0 -0 -0 -1 -3 -3 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -3 -2 -2 -2 -2 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -3 -4 -5 -5 -6 -6 -6 -6 -5 -4 -2 -0 1 2 2 1 1 1 1 -0 -1 -2 -2 -2 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -0 -0 1 1 1 2 2 3 4 5 6 6 6 7 9 10 12 14 14 14 15 15 16 17 18 19 19 20 20 21 21 22 22 21 21 21 21 20 21 22 23 24 24 25 25 26 27 28 29 29 29 28 28 27 27 26 26 26 26 27 28 29 30 31 31 31 32 32 32 31 31 30 30 29 29 29 29 29 29 29 29 29 29 29 29 29 29 30 30 30 31 31 31 31 31 31 31 31 32 32 32 -6 -6 -7 -8 -9 -9 -10 -10 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -11 -12 -13 -12 -12 -12 -13 -14 -15 -15 -16 -18 -20 -21 -23 -26 -27 -27 -24 -21 -19 -17 -17 -17 -17 -15 -13 -6 3 8 11 11 12 10 9 8 6 1 -6 -10 -9 -6 -5 -6 -7 -4 -1 1 1 1 2 2 2 1 -0 1 2 2 2 2 1 2 3 3 3 3 2 2 3 3 3 3 -0 -2 -2 -3 -2 -2 -1 -1 -2 -2 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -4 -4 -3 -2 -2 -2 -1 -0 1 2 4 6 7 6 5 4 4 5 5 5 3 2 1 1 2 2 3 5 5 5 5 5 5 5 7 9 9 7 3 -1 -2 -1 1 6 10 10 8 4 2 -0 -0 -0 -1 -2 -4 -4 -4 -3 -2 -2 -2 -1 -0 -0 -0 -1 -2 -3 -3 -2 -2 -2 -2 -2 -3 -4 -5 -5 -5 -4 -3 -2 -2 -3 -3 -1 -0 -0 -0 -1 -2 -2 -3 -3 -4 -5 -6 -7 -6 -6 -6 -5 -4 -2 -0 3 4 4 3 2 1 1 -0 -1 -1 -2 -2 -2 -3 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -2 -1 -0 -0 -0 -0 1 2 2 3 4 4 5 5 6 8 10 12 14 14 13 13 13 14 15 16 17 18 19 19 19 20 20 21 21 21 20 20 20 20 21 23 23 23 24 25 26 27 27 28 28 29 28 28 27 27 25 24 24 24 26 27 28 29 30 31 31 32 33 33 32 32 31 30 30 30 30 30 29 29 29 29 29 29 29 29 29 30 30 31 31 32 32 32 32 32 32 32 32 32 32 32 -7 -7 -7 -8 -9 -9 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -7 -7 -8 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -8 -7 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -13 -14 -15 -16 -18 -20 -22 -24 -25 -27 -27 -25 -22 -19 -18 -18 -17 -16 -17 -16 -12 -8 -3 2 5 7 6 7 8 7 3 -2 -5 -5 -3 -3 -5 -6 -4 -0 2 2 2 2 2 2 1 1 2 2 2 2 1 1 2 3 3 3 2 2 3 3 3 2 1 -1 -2 -3 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -4 -4 -3 -2 -2 -2 -1 -1 -0 2 3 5 6 7 6 5 5 5 5 5 4 3 2 1 1 1 2 3 4 5 4 4 4 5 7 9 11 9 5 1 -1 -2 -0 3 7 10 10 7 4 1 -0 -0 -0 -1 -2 -4 -4 -4 -3 -3 -3 -3 -2 -0 -0 -0 -1 -2 -2 -3 -2 -1 -1 -1 -1 -3 -4 -6 -6 -6 -4 -3 -3 -3 -3 -3 -2 -0 -0 -1 -2 -4 -4 -5 -5 -6 -7 -7 -6 -6 -5 -3 -1 1 3 4 5 5 4 2 1 -0 -1 -1 -2 -2 -3 -3 -4 -4 -5 -6 -6 -6 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -2 -1 -0 -0 -0 -0 -0 1 2 3 3 3 4 4 5 7 9 12 13 13 12 12 12 13 14 15 16 17 17 18 18 18 19 20 20 20 19 19 19 19 20 22 22 22 23 24 25 26 26 27 27 28 28 28 28 27 25 24 23 23 24 25 26 27 29 30 31 32 33 33 33 33 33 32 31 31 31 30 30 29 29 29 29 29 29 29 30 30 30 31 32 33 33 33 33 33 33 33 33 33 33 32 -7 -7 -7 -8 -9 -9 -10 -10 -11 -11 -11 -10 -9 -9 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -7 -7 -6 -5 -5 -4 -4 -5 -6 -6 -7 -8 -8 -8 -8 -9 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -14 -16 -18 -20 -22 -24 -24 -24 -25 -24 -22 -21 -19 -18 -17 -16 -17 -17 -15 -14 -11 -9 -7 -6 -5 -0 4 6 5 3 1 -1 -1 -1 -3 -2 -0 1 2 2 2 3 3 3 2 2 3 3 3 2 1 1 2 2 2 2 2 2 3 3 2 2 -0 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -4 -5 -5 -4 -3 -2 -2 -2 -1 -0 -0 1 2 4 6 7 6 6 5 5 5 5 4 3 2 2 2 2 2 2 3 3 3 3 3 4 6 9 11 11 8 4 -0 -1 -0 2 4 8 9 8 5 2 -0 -0 -0 -0 -2 -3 -4 -4 -4 -4 -4 -4 -3 -2 -1 -0 -0 -0 -1 -2 -3 -2 -2 -1 -1 -1 -3 -4 -6 -6 -6 -4 -4 -4 -4 -4 -3 -2 -1 -1 -3 -4 -5 -6 -6 -6 -6 -7 -7 -5 -4 -2 -0 2 4 5 5 4 2 -0 -2 -3 -3 -3 -3 -3 -4 -4 -5 -6 -6 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -4 -4 -3 -2 -2 -2 -1 -1 -1 -1 -1 -0 1 2 2 2 3 3 3 4 6 8 11 12 12 12 12 12 13 13 14 14 15 16 16 16 17 17 18 19 19 19 18 18 18 19 21 21 21 22 23 23 24 24 25 26 28 28 28 28 27 25 24 23 23 23 24 24 25 26 28 29 30 32 33 33 34 34 33 33 32 32 31 30 30 29 29 29 29 29 30 30 30 31 32 33 33 34 34 34 34 34 34 34 34 33 33 -7 -7 -7 -8 -9 -9 -10 -10 -11 -11 -11 -11 -10 -9 -8 -7 -7 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -7 -7 -6 -5 -4 -3 -3 -4 -5 -5 -6 -7 -8 -8 -9 -9 -10 -11 -12 -12 -12 -13 -13 -12 -12 -12 -11 -11 -11 -13 -15 -17 -20 -22 -22 -23 -24 -24 -24 -22 -20 -18 -17 -17 -17 -17 -15 -12 -9 -9 -11 -13 -12 -8 -2 3 6 8 6 4 2 1 1 3 4 3 2 2 3 3 3 3 3 4 4 4 3 2 2 2 2 2 2 2 2 2 2 2 2 1 -1 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -3 -2 -1 -1 -1 -0 -0 1 2 3 5 7 7 7 6 5 5 4 4 3 3 3 3 2 2 2 2 2 2 2 2 3 5 7 10 11 10 7 3 1 1 1 3 5 7 9 7 4 1 -0 -0 -0 -0 -2 -3 -4 -4 -4 -4 -5 -4 -4 -2 -1 -0 -0 -0 -0 -2 -2 -3 -2 -1 -1 -1 -2 -4 -5 -6 -6 -5 -4 -4 -4 -4 -3 -2 -2 -3 -4 -4 -5 -6 -6 -6 -7 -6 -5 -4 -1 1 3 4 4 3 2 -0 -3 -4 -4 -3 -3 -4 -4 -5 -6 -6 -7 -7 -8 -8 -8 -9 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -7 -7 -7 -7 -6 -6 -5 -5 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -0 -0 1 1 2 2 2 3 4 5 7 9 10 11 11 11 12 12 13 13 13 13 14 14 14 15 16 17 17 17 17 17 17 18 19 20 21 20 21 21 22 22 22 24 25 27 28 28 28 27 26 25 24 24 23 22 23 23 24 25 27 28 30 32 33 34 34 34 34 33 33 32 31 30 30 29 29 29 29 29 30 30 31 32 33 33 34 35 35 35 35 35 35 34 34 33 -7 -7 -7 -8 -9 -10 -10 -10 -11 -11 -11 -11 -10 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -7 -7 -7 -6 -5 -4 -3 -4 -4 -4 -5 -6 -7 -8 -9 -9 -10 -10 -11 -12 -12 -13 -13 -13 -13 -12 -11 -10 -9 -9 -10 -12 -15 -18 -21 -22 -23 -23 -23 -21 -19 -18 -17 -17 -17 -17 -18 -16 -13 -10 -7 -6 -10 -12 -10 -4 3 6 7 6 5 4 4 5 6 5 4 3 4 4 4 4 5 5 4 4 3 3 3 2 2 2 2 2 2 3 3 2 1 -0 -1 -1 -1 -0 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -2 -2 -2 -3 -3 -4 -3 -3 -2 -1 -1 -1 -0 -0 1 2 3 4 6 7 7 7 6 5 4 3 3 3 4 4 3 3 2 2 1 1 1 1 2 3 5 8 10 11 9 6 4 2 2 2 3 4 6 8 6 3 -0 -1 -0 -0 -1 -2 -3 -4 -4 -4 -5 -5 -5 -5 -3 -1 -0 -0 -0 -0 -1 -2 -3 -2 -2 -1 -1 -1 -3 -5 -5 -6 -5 -4 -3 -3 -2 -2 -2 -3 -4 -4 -5 -6 -5 -5 -5 -6 -5 -3 -1 2 4 4 3 2 -0 -2 -4 -5 -5 -4 -4 -4 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -4 -4 -3 -2 -2 -2 -2 -1 -1 -1 -1 -0 -0 1 1 2 2 2 3 3 5 6 8 9 11 11 11 11 12 12 12 12 13 12 13 13 14 15 16 16 16 16 16 16 17 18 19 20 20 20 20 20 20 21 23 24 26 27 27 27 26 26 25 24 24 23 22 22 22 22 23 24 26 28 30 32 33 34 34 34 34 34 33 32 31 31 30 29 29 29 29 29 30 30 31 33 33 35 35 36 36 36 35 35 35 34 34 -6 -6 -7 -7 -8 -9 -9 -10 -11 -11 -11 -11 -11 -10 -9 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -4 -4 -4 -5 -6 -7 -8 -9 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -11 -10 -8 -6 -6 -7 -9 -13 -16 -17 -18 -18 -17 -17 -16 -16 -16 -16 -16 -16 -17 -17 -16 -14 -12 -9 -7 -7 -10 -11 -8 -1 2 4 5 4 4 5 5 6 7 8 9 7 5 5 5 6 5 5 4 4 3 3 3 3 3 3 3 3 3 2 1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -2 -1 -1 -1 -0 -0 -0 1 2 3 4 5 6 6 7 7 6 4 4 3 3 4 4 4 3 3 2 1 1 -0 -0 1 2 4 6 8 10 10 8 6 4 3 3 2 2 3 5 7 5 2 -0 -1 -1 -1 -1 -2 -3 -3 -3 -4 -5 -5 -5 -5 -4 -2 -1 -0 -0 -0 -1 -2 -3 -2 -2 -1 -1 -1 -2 -4 -5 -5 -5 -4 -3 -1 -1 -1 -2 -4 -4 -5 -6 -5 -5 -5 -5 -4 -3 -1 2 4 4 3 1 -2 -4 -5 -6 -5 -4 -3 -4 -5 -6 -7 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -5 -5 -4 -3 -2 -2 -2 -1 -1 -1 -1 -0 -0 -0 -0 1 1 2 2 2 2 2 4 5 7 9 10 10 10 11 11 11 11 12 12 12 12 13 13 14 14 15 15 15 15 16 17 17 18 18 19 19 19 20 20 20 22 23 24 25 25 25 25 25 25 24 24 23 22 22 22 22 22 23 24 25 28 30 32 33 33 34 34 34 33 33 32 32 31 30 29 29 28 28 29 30 31 32 33 35 36 37 37 37 36 36 35 35 35 -5 -6 -6 -6 -7 -7 -8 -9 -10 -10 -9 -9 -9 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -11 -12 -12 -11 -11 -11 -11 -10 -9 -7 -5 -3 -3 -4 -6 -8 -10 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -13 -14 -14 -15 -14 -14 -13 -12 -11 -9 -7 -5 -4 -2 -1 -0 -1 -0 4 10 13 14 11 10 8 7 6 6 6 5 5 4 4 4 3 3 3 4 4 4 3 2 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -0 -0 1 1 2 2 3 4 6 6 6 6 5 4 4 4 4 5 5 4 3 3 2 1 1 -0 -0 -0 2 4 5 7 10 9 9 7 6 5 4 3 2 2 3 4 6 3 -0 -2 -2 -2 -1 -2 -2 -3 -3 -3 -4 -5 -6 -6 -5 -4 -2 -1 -0 -0 -0 -1 -2 -2 -2 -2 -1 -1 -1 -2 -3 -4 -5 -4 -3 -2 -1 -1 -1 -3 -5 -6 -6 -6 -5 -4 -4 -3 -2 -1 2 4 4 3 -0 -2 -4 -6 -6 -6 -5 -4 -3 -5 -6 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -5 -4 -3 -2 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 1 1 1 2 2 2 2 2 3 5 6 8 9 10 10 10 10 11 11 11 11 11 11 12 12 13 13 14 14 14 15 16 16 17 17 17 18 18 19 19 19 20 21 22 22 22 23 23 24 24 24 24 24 23 22 22 22 23 23 22 23 24 26 28 30 31 32 33 33 33 33 33 33 33 33 32 30 29 29 28 29 29 30 31 32 34 36 37 38 38 37 37 36 36 36 -5 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -7 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -8 -8 -8 -9 -10 -10 -11 -12 -11 -11 -10 -10 -11 -11 -11 -12 -12 -11 -11 -10 -9 -8 -5 -3 -1 -1 -1 -2 -3 -3 -1 1 1 -0 -0 -2 -2 -3 -3 -4 -5 -6 -8 -9 -9 -10 -11 -12 -11 -10 -7 -5 -5 -5 -4 -4 -5 -6 -6 -3 4 11 14 13 12 10 8 7 7 7 6 6 5 4 4 3 4 5 5 5 3 2 1 -0 -0 -0 -0 -0 -0 -0 -0 1 -0 -0 -0 -0 -0 -0 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 1 1 2 2 3 5 6 6 6 5 4 4 4 4 4 5 4 3 2 2 1 1 1 1 1 2 4 5 7 9 10 10 8 7 6 5 4 2 1 1 2 4 4 1 -1 -3 -3 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -4 -3 -2 -1 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -1 -1 -2 -4 -6 -8 -8 -7 -5 -3 -1 -0 -0 2 3 4 3 -0 -2 -4 -5 -5 -5 -5 -4 -4 -4 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -3 -2 -2 -2 -1 -0 -0 -0 -0 -0 1 1 1 1 1 1 2 2 2 2 2 3 4 6 8 8 9 9 10 10 10 10 10 10 10 10 11 11 12 12 13 13 14 15 16 16 16 16 16 17 17 18 18 19 19 20 20 20 20 21 21 22 22 23 23 23 23 22 22 22 23 23 23 23 23 24 26 28 30 31 32 32 33 33 33 33 33 33 32 31 30 29 28 28 29 30 30 32 34 36 38 40 40 39 38 37 37 37 -5 -5 -6 -6 -6 -6 -6 -7 -8 -8 -7 -7 -6 -6 -5 -5 -5 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -9 -9 -10 -11 -12 -13 -14 -17 -19 -20 -19 -17 -14 -12 -12 -12 -12 -12 -11 -11 -10 -9 -7 -4 -2 -1 -1 -0 -0 2 6 9 10 9 8 7 6 5 5 4 4 3 2 1 1 -1 -2 -4 -6 -6 -5 -4 -5 -6 -6 -5 -6 -9 -12 -12 -6 4 13 16 15 13 12 10 8 8 8 7 6 5 4 4 5 5 5 5 3 2 1 1 1 1 1 1 -0 -0 1 1 1 -0 -0 -0 -0 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 1 2 2 2 3 4 5 5 5 4 4 4 4 4 4 3 2 1 1 1 2 2 3 3 3 4 6 8 9 10 10 8 6 6 5 4 3 1 -0 1 3 3 2 -1 -3 -4 -4 -3 -3 -3 -3 -3 -4 -4 -5 -4 -4 -4 -4 -4 -3 -2 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -2 -2 -3 -4 -6 -8 -9 -9 -7 -4 -1 2 2 2 2 3 3 1 -1 -3 -5 -5 -5 -5 -4 -4 -4 -5 -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 -6 -6 -6 -6 -6 -5 -5 -5 -4 -3 -3 -2 -1 -1 -0 -0 -0 1 -0 -0 1 1 1 1 2 2 2 3 3 3 3 4 5 6 7 7 8 9 9 10 10 10 10 10 10 10 10 11 11 12 12 13 13 15 15 16 16 16 16 16 16 17 18 18 19 19 19 19 19 19 20 20 20 21 22 23 23 22 22 22 23 23 23 23 23 24 25 26 29 30 31 32 32 32 32 32 33 33 32 32 31 30 29 28 29 29 30 31 33 35 38 41 42 41 40 39 38 38 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -8 -8 -8 -8 -8 -9 -8 -9 -10 -11 -10 -9 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -6 -6 -6 -6 -6 -7 -8 -9 -10 -12 -12 -12 -12 -13 -14 -17 -20 -22 -23 -23 -20 -16 -13 -12 -11 -11 -11 -10 -10 -10 -9 -8 -5 -3 -2 -2 1 5 10 12 13 13 12 11 10 10 9 9 9 9 9 9 8 8 7 5 3 2 2 1 -0 -2 -4 -4 -4 -7 -11 -11 -8 -4 2 10 15 16 15 13 12 10 9 8 8 6 5 5 5 6 5 5 4 3 2 2 2 2 1 1 1 1 2 2 1 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 1 2 2 2 3 4 4 4 3 4 4 4 4 3 2 -0 -0 -0 1 2 3 4 4 4 5 6 8 9 10 9 7 6 5 5 4 4 2 -0 -0 1 2 2 -1 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -4 -6 -8 -10 -10 -9 -6 -2 2 4 4 3 2 1 -0 -1 -2 -3 -4 -4 -5 -5 -4 -4 -4 -6 -6 -6 -5 -5 -6 -6 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -2 -2 -1 -0 1 1 1 1 -0 -0 1 2 2 2 2 2 2 3 3 3 3 4 5 6 6 7 8 8 9 9 9 9 9 9 9 9 10 10 10 11 12 12 13 14 15 16 16 16 16 15 16 16 17 18 18 18 18 18 18 19 19 19 20 20 22 22 22 22 22 22 23 23 23 23 23 23 24 25 27 29 31 31 31 31 31 31 32 32 32 32 31 30 29 28 28 28 29 30 32 34 37 40 42 43 42 42 40 40 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -8 -9 -10 -12 -14 -16 -17 -16 -16 -15 -12 -9 -7 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -7 -6 -5 -5 -5 -5 -6 -7 -8 -9 -10 -12 -12 -13 -12 -12 -13 -15 -17 -18 -20 -20 -20 -17 -14 -11 -10 -9 -9 -8 -8 -8 -9 -9 -9 -7 -5 -4 -0 7 11 13 13 13 13 12 11 10 10 10 10 11 11 11 11 11 11 11 10 10 10 10 9 6 4 2 1 -1 -4 -5 -5 -6 -6 -0 8 14 17 16 16 14 12 11 9 8 7 6 6 6 5 5 4 4 3 3 3 2 2 2 2 2 2 2 1 -0 -0 -1 -1 -2 -2 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 1 2 2 2 3 3 3 3 3 4 4 4 3 1 -1 -1 -1 1 3 4 5 5 5 5 6 8 9 9 8 6 4 4 4 4 4 3 1 -0 -0 1 1 -1 -3 -3 -4 -4 -5 -5 -4 -4 -4 -6 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -4 -6 -7 -9 -11 -11 -8 -4 1 4 6 4 3 1 -0 -1 -1 -2 -3 -4 -4 -5 -4 -4 -4 -5 -6 -6 -5 -5 -5 -6 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -3 -2 -1 -1 -0 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 4 5 6 6 7 8 8 8 9 8 8 9 9 9 9 9 9 10 10 11 12 12 14 15 16 16 16 16 15 15 15 16 17 18 19 19 19 19 18 18 19 19 20 21 21 21 21 21 21 22 22 22 22 23 23 24 24 26 27 29 31 31 31 31 31 31 32 32 32 32 30 29 27 27 27 27 28 30 33 36 39 42 43 44 43 42 41 -5 -5 -5 -5 -6 -6 -6 -7 -7 -6 -6 -7 -7 -8 -9 -10 -12 -14 -15 -15 -14 -13 -11 -9 -8 -7 -6 -6 -6 -7 -8 -8 -8 -9 -9 -9 -8 -8 -7 -6 -5 -5 -5 -5 -6 -6 -7 -8 -9 -10 -11 -11 -10 -10 -10 -12 -13 -13 -13 -14 -15 -15 -13 -10 -8 -6 -5 -4 -3 -4 -5 -6 -9 -9 -8 -5 1 8 11 12 12 12 11 10 9 8 8 7 7 8 8 8 8 7 8 9 11 13 15 16 16 16 14 11 8 6 4 2 -0 -2 -5 -6 -1 6 13 15 18 18 17 14 12 10 9 8 8 7 6 5 5 5 4 4 4 3 3 3 3 2 2 1 1 -0 -1 -1 -1 -2 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -1 -1 -1 -0 1 1 1 2 2 3 3 2 3 3 4 4 3 1 -1 -1 -1 1 3 5 5 6 6 5 6 7 8 8 6 4 2 2 4 4 4 3 1 -0 -0 -0 -0 -1 -3 -3 -4 -4 -5 -5 -5 -4 -5 -6 -6 -6 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -0 -0 -0 -1 -2 -2 -3 -3 -3 -4 -4 -5 -7 -9 -11 -12 -11 -6 -1 4 7 6 3 1 -0 -1 -1 -1 -2 -3 -4 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 -1 -0 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 4 4 5 6 7 7 8 8 8 8 8 8 8 8 9 9 9 9 9 10 11 12 12 14 15 16 16 16 15 15 15 16 17 18 19 19 19 19 19 19 18 19 19 20 21 21 21 21 21 21 22 22 22 22 23 23 23 24 26 27 29 31 31 31 31 31 31 31 31 31 31 29 27 26 26 26 27 29 31 34 37 40 43 44 43 43 42 -5 -5 -5 -5 -6 -6 -7 -7 -7 -6 -6 -7 -7 -7 -8 -9 -10 -11 -12 -12 -11 -10 -9 -8 -8 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -7 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -8 -8 -8 -7 -7 -6 -7 -8 -8 -9 -9 -11 -12 -13 -11 -9 -6 -3 -0 1 1 -0 -1 -2 -6 -9 -9 -5 3 10 11 11 11 10 9 8 7 6 5 4 4 4 4 3 2 1 1 2 4 8 13 16 18 21 21 18 14 12 11 9 6 1 -3 -5 -6 -3 4 12 16 20 21 20 16 14 12 11 10 9 8 8 7 7 6 6 6 5 4 4 4 3 2 1 -0 -0 -0 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 -0 1 1 1 1 1 2 3 3 3 3 2 -0 -1 -1 -0 2 3 5 5 5 5 4 5 6 8 8 6 3 1 1 3 4 5 4 2 -0 -1 -0 -0 -1 -2 -3 -4 -4 -5 -5 -6 -5 -5 -6 -6 -7 -6 -5 -5 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -5 -4 -2 -0 1 -0 -1 -3 -3 -3 -3 -4 -4 -4 -5 -7 -9 -11 -12 -9 -4 2 6 7 6 2 -1 -2 -1 -0 -1 -2 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -3 -2 -1 -1 -1 -0 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 4 4 5 6 7 7 7 7 7 7 7 8 8 8 8 8 8 9 9 10 10 11 12 13 15 15 16 15 15 15 15 16 17 18 19 19 20 20 19 19 19 19 20 20 20 21 21 21 21 21 21 21 22 22 22 22 23 24 25 27 28 30 31 31 31 31 31 31 31 31 30 28 26 25 25 26 27 29 32 35 38 41 43 43 43 42 -5 -4 -4 -4 -5 -6 -6 -6 -7 -6 -6 -6 -6 -6 -7 -7 -9 -9 -10 -10 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -7 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -7 -6 -5 -4 -3 -4 -4 -4 -6 -7 -9 -11 -12 -12 -10 -6 -2 2 5 5 4 3 -1 -4 -8 -8 -4 3 10 10 9 8 6 6 6 4 3 2 2 2 3 3 3 2 -1 -3 -5 -5 -3 2 8 15 21 23 21 18 15 13 9 5 2 -1 -3 -5 -4 -1 8 14 17 21 24 23 19 16 14 13 12 11 10 10 10 9 9 8 8 7 6 5 3 2 1 1 1 1 -0 -1 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 1 2 3 3 2 1 -0 -1 -1 -0 2 3 5 5 5 4 3 3 5 8 8 6 2 -0 -1 2 4 5 5 3 1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -5 -6 -6 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -3 -1 1 1 -1 -3 -4 -4 -4 -4 -4 -4 -6 -7 -9 -10 -10 -6 -1 4 7 7 3 -0 -2 -2 -0 -0 -1 -3 -4 -4 -3 -3 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -5 -4 -4 -4 -3 -2 -1 -1 -1 -0 1 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 5 6 6 6 6 6 6 6 7 7 7 7 8 8 8 8 8 9 9 10 11 12 13 14 15 15 15 14 15 15 16 18 19 19 20 20 19 19 19 19 19 20 20 21 21 21 21 21 21 21 21 21 21 21 22 22 23 24 26 28 29 30 31 31 31 31 31 31 30 29 27 25 24 24 25 27 29 32 35 38 41 42 42 42 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -9 -10 -11 -11 -12 -12 -10 -10 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -7 -7 -6 -6 -5 -5 -5 -5 -6 -7 -8 -8 -7 -6 -4 -3 -3 -3 -3 -3 -4 -5 -6 -8 -10 -11 -10 -7 -2 3 6 6 6 5 3 -3 -5 -5 -3 3 7 8 7 5 3 3 3 1 -1 -1 1 2 4 5 6 7 6 5 3 -1 -4 -6 -5 1 7 9 10 14 14 11 7 5 6 6 4 2 -0 -1 -2 2 8 14 20 26 25 21 18 16 14 14 13 13 13 12 12 12 11 10 8 7 5 3 2 2 2 2 1 1 -0 -0 -1 -1 -2 -2 -2 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 1 3 3 2 1 -1 -1 -1 -0 2 4 5 5 4 3 2 2 4 6 8 7 3 -0 -1 -0 4 5 5 4 1 -1 -2 -2 -2 -3 -3 -3 -3 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -5 -6 -5 -4 -3 -1 -0 -0 -1 -3 -4 -5 -4 -4 -4 -5 -6 -7 -9 -9 -8 -4 1 5 6 5 1 -1 -2 -1 -0 -0 -2 -3 -3 -2 -3 -3 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 -1 -1 -0 1 2 2 2 1 1 -0 1 1 1 2 2 2 2 2 2 2 2 3 3 4 5 5 5 5 5 5 6 6 6 6 6 6 7 8 8 7 7 8 9 9 10 11 13 14 14 14 14 14 14 15 17 17 19 19 19 19 19 19 19 19 20 20 21 21 22 22 22 22 22 21 22 22 22 22 21 22 22 23 25 27 28 30 31 31 31 31 31 31 31 29 26 24 23 23 25 27 29 32 35 38 40 42 42 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -7 -7 -8 -8 -10 -11 -13 -14 -14 -15 -15 -14 -12 -11 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -7 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -3 -2 -2 -3 -3 -4 -4 -4 -4 -4 -5 -6 -5 -2 1 3 5 6 6 6 4 -0 -2 -2 -0 4 6 5 4 2 -0 -2 -3 -4 -5 -4 -2 -0 2 4 6 7 8 10 11 9 6 2 -2 -4 -6 -7 -5 1 6 7 7 7 7 7 7 7 7 8 8 6 6 7 10 15 20 23 24 21 19 16 15 15 14 13 13 13 13 12 11 9 8 5 4 3 3 3 3 2 1 -0 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -2 -2 -1 -0 2 3 2 -0 -1 -1 -1 -0 2 4 5 5 4 2 1 1 3 5 7 7 4 -0 -1 -1 2 4 5 4 2 -1 -3 -3 -3 -3 -4 -3 -3 -3 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -5 -5 -6 -5 -5 -4 -3 -2 -2 -3 -4 -4 -5 -4 -4 -5 -5 -6 -7 -8 -8 -6 -2 2 5 5 2 -1 -2 -2 -1 -0 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -2 -0 -0 -0 -0 -0 1 2 2 2 1 -0 -0 -0 -0 1 1 2 2 2 2 2 2 2 2 2 3 4 4 5 5 5 5 5 5 5 5 5 5 6 6 7 7 7 7 8 8 9 10 11 12 13 13 13 13 13 14 15 16 17 18 19 19 19 19 20 20 20 20 20 21 22 22 22 22 22 22 22 22 23 22 22 21 22 22 23 25 26 28 29 30 30 31 31 31 31 30 28 25 23 22 23 25 27 30 33 35 38 40 41 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -7 -8 -9 -10 -11 -12 -14 -16 -17 -17 -17 -17 -16 -15 -12 -11 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -9 -8 -7 -7 -6 -6 -5 -5 -5 -4 -4 -4 -3 -2 -1 -0 -0 -1 -1 -3 -4 -4 -3 -2 -0 2 4 5 6 7 7 8 7 7 5 4 3 3 4 5 6 5 3 -0 -3 -6 -7 -7 -8 -7 -5 -3 -2 -0 1 3 5 8 10 12 12 11 8 4 -1 -5 -8 -7 -3 -0 3 6 9 10 10 10 11 14 16 17 15 11 8 8 12 19 23 26 25 23 20 18 16 15 15 15 15 14 13 12 10 9 7 6 5 4 4 3 2 -0 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -0 1 2 1 1 -1 -1 -1 -0 1 3 4 4 3 2 1 1 3 5 7 7 4 -0 -2 -2 -0 3 5 4 2 -0 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -6 -5 -5 -4 -3 -4 -4 -4 -5 -5 -4 -4 -4 -5 -6 -7 -7 -7 -4 -0 2 3 3 -0 -2 -2 -1 -1 -1 -2 -2 -1 -1 -2 -2 -3 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -2 -1 -0 -0 -0 -0 -0 1 2 2 2 1 1 -0 -0 -0 1 1 2 2 2 2 2 2 2 2 2 3 3 4 4 4 5 5 5 5 5 5 4 4 4 5 6 6 6 7 7 7 8 9 10 10 11 12 12 12 12 12 13 15 16 16 17 18 18 19 20 20 20 20 20 21 22 22 22 23 23 23 23 23 23 23 22 22 22 22 22 23 25 26 28 29 29 30 31 31 31 31 29 27 24 21 21 23 25 28 30 33 36 38 40 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -7 -9 -10 -11 -12 -13 -15 -16 -16 -16 -15 -15 -15 -14 -12 -10 -10 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -5 -5 -4 -3 -2 -1 -0 1 2 2 1 1 -0 -1 -1 1 4 8 9 10 10 10 10 10 9 8 6 7 7 7 7 7 7 5 2 -1 -4 -7 -7 -8 -8 -8 -6 -5 -4 -4 -4 -4 -5 -4 -1 4 9 13 15 14 10 5 -0 -4 -5 -4 -2 2 6 10 12 13 15 17 20 24 25 23 19 13 11 12 16 22 26 27 26 24 21 18 17 17 17 16 16 14 13 11 10 9 8 7 5 4 2 1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -3 -2 -1 -0 -0 -0 -0 -1 -2 -1 -1 1 2 3 4 2 1 1 1 2 5 7 7 4 -0 -2 -2 -1 1 4 4 2 -0 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -6 -6 -6 -4 -2 -0 2 2 -0 -2 -2 -2 -1 -1 -2 -1 -1 -1 -1 -2 -3 -3 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -3 -2 -1 -0 -0 1 1 1 1 2 2 2 2 1 -0 1 -0 1 1 1 2 2 2 2 2 2 2 2 2 3 3 4 4 5 5 5 5 5 5 4 3 4 4 5 5 5 6 6 7 7 7 8 9 10 10 11 11 11 11 12 13 14 14 15 16 17 18 19 20 20 20 20 21 21 21 22 23 23 23 23 23 24 24 23 22 23 23 23 23 24 25 27 28 28 29 30 31 31 31 31 29 25 22 21 22 24 26 28 31 33 35 37 -4 -4 -4 -4 -4 -4 -5 -5 -5 -7 -8 -10 -10 -11 -13 -14 -15 -16 -16 -14 -13 -13 -12 -11 -10 -10 -10 -10 -9 -9 -9 -8 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -3 -3 -1 -0 1 2 2 2 2 2 2 3 5 8 10 11 11 10 11 11 10 9 7 8 9 8 8 8 7 4 2 -1 -4 -5 -5 -6 -6 -6 -5 -4 -4 -4 -6 -8 -11 -14 -12 -7 -2 1 11 15 16 15 11 6 2 -1 -2 -1 1 5 10 15 18 20 23 27 32 34 33 27 20 15 12 13 17 21 25 27 26 23 20 19 19 19 18 17 15 14 13 12 11 9 8 6 4 2 -0 -0 -1 -1 -1 -2 -2 -2 -3 -3 -2 -2 -2 -3 -2 -1 -1 -0 -0 -1 -2 -3 -2 -1 -0 1 2 2 1 -0 -0 -0 2 4 6 6 5 1 -2 -3 -2 -0 2 3 2 -0 -1 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -4 -4 -5 -6 -6 -5 -4 -1 -0 -0 -0 -2 -2 -2 -1 -1 -2 -1 -1 -1 -1 -2 -3 -3 -3 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -0 -0 1 1 1 1 2 2 3 3 2 1 1 1 -0 1 1 1 2 2 2 2 2 2 2 2 3 3 3 4 5 5 5 5 5 5 4 4 3 3 4 4 4 5 5 6 6 6 7 8 8 9 9 10 10 10 11 11 12 13 13 14 15 16 17 18 19 19 20 20 20 21 21 22 22 23 23 23 24 24 24 24 24 24 24 24 24 24 26 27 27 28 29 30 31 32 32 31 28 24 22 21 23 25 27 29 31 33 35 -4 -4 -4 -5 -5 -5 -5 -5 -6 -7 -8 -9 -10 -11 -13 -15 -16 -16 -16 -15 -14 -13 -12 -10 -9 -9 -10 -9 -9 -9 -9 -8 -7 -7 -6 -6 -7 -8 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -2 -1 -0 1 2 2 2 3 3 4 5 5 5 6 6 6 7 7 6 7 7 7 7 6 5 2 1 -1 -2 -3 -2 -2 -1 -2 -2 -2 -2 -2 -2 -4 -6 -10 -13 -13 -13 -15 -0 7 13 18 18 16 12 7 4 2 -0 2 7 12 17 21 24 29 35 40 43 41 35 28 20 13 9 10 16 21 26 27 25 23 22 22 21 20 19 18 16 15 14 13 11 8 6 3 1 -0 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -3 -3 -2 -1 -1 -0 -0 -1 -2 -2 -2 -0 1 1 1 -0 -0 -1 -0 2 4 6 6 4 1 -1 -3 -2 -1 -0 1 1 -0 -1 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -4 -5 -6 -6 -6 -6 -6 -5 -5 -5 -4 -3 -3 -4 -4 -4 -5 -5 -5 -3 -2 -1 -1 -2 -2 -2 -1 -1 -1 -1 -0 -0 -1 -1 -2 -2 -3 -3 -3 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -0 -0 1 1 1 1 2 3 4 4 3 2 1 1 1 1 2 1 1 1 1 1 2 2 2 3 3 3 4 4 5 5 5 5 5 5 4 4 4 4 3 4 4 5 5 5 5 6 7 7 8 8 8 8 9 9 10 10 11 12 13 13 14 15 15 17 17 18 19 19 19 20 21 21 22 22 23 23 24 25 25 25 25 25 25 25 25 25 26 27 28 28 29 30 31 33 33 32 29 25 23 24 25 27 28 30 31 32 -4 -4 -4 -4 -4 -5 -5 -5 -6 -7 -8 -8 -9 -10 -11 -13 -15 -16 -16 -15 -14 -14 -12 -10 -9 -9 -9 -9 -9 -9 -8 -8 -7 -6 -6 -6 -8 -9 -10 -10 -10 -9 -8 -7 -7 -6 -6 -6 -6 -6 -7 -6 -5 -4 -4 -3 -2 -1 -0 1 -0 -1 -2 -2 -3 -3 -3 -2 -0 1 2 3 4 4 4 4 4 2 -0 -1 -2 -1 -1 1 2 3 2 1 1 -0 -0 1 1 2 -1 -5 -10 -13 -13 -7 -8 -0 9 15 19 18 16 13 10 7 3 4 7 13 18 22 27 34 41 46 47 45 41 34 25 16 8 5 9 17 25 28 27 26 25 25 24 23 22 21 19 18 16 14 11 9 6 3 2 1 1 1 -0 -0 -1 -1 -2 -2 -3 -3 -3 -2 -1 -1 -1 -1 -1 -2 -1 -1 -0 1 1 -0 -0 -1 -1 1 3 5 5 4 1 -1 -3 -2 -2 -0 -0 -0 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -4 -3 -3 -2 -3 -4 -5 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -4 -4 -4 -5 -5 -4 -3 -2 -1 -1 -2 -2 -1 -1 -1 -0 -0 -0 -0 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -4 -5 -5 -5 -5 -5 -5 -4 -2 -2 -2 -1 -1 -0 1 1 1 1 2 3 4 4 3 2 2 1 2 2 2 2 1 1 1 2 2 2 2 3 3 3 3 4 4 4 5 5 5 5 4 4 4 4 3 3 3 4 4 4 5 5 5 6 6 7 7 8 7 8 9 9 9 11 11 12 13 13 14 15 16 16 17 18 18 18 19 19 20 21 21 22 23 24 25 26 26 26 26 25 25 25 26 27 27 28 29 30 31 32 34 35 33 29 26 24 26 27 28 29 30 31 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -7 -8 -7 -8 -9 -11 -13 -14 -14 -13 -13 -13 -11 -10 -10 -10 -9 -8 -8 -8 -8 -7 -6 -6 -6 -6 -8 -9 -9 -9 -10 -10 -9 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -3 -2 -2 -2 -3 -6 -7 -8 -7 -6 -6 -6 -5 -4 -1 2 3 3 3 3 2 -2 -4 -4 -3 -1 2 4 5 5 3 2 -0 -1 -0 2 3 4 3 1 -3 -8 -14 -12 -7 -5 -4 7 14 18 19 18 16 13 9 7 7 10 14 20 28 33 35 38 40 41 40 36 30 19 9 4 6 13 22 27 30 30 29 29 28 27 26 24 22 20 17 15 12 9 6 4 3 2 2 1 1 -0 -1 -1 -2 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 1 2 3 4 3 1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -5 -4 -3 -3 -2 -3 -4 -5 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -4 -3 -2 -1 -1 -0 -0 1 1 -0 1 1 1 -0 -1 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -6 -5 -5 -5 -4 -4 -5 -6 -5 -5 -3 -2 -2 -2 -2 -1 -0 -0 -0 1 1 2 3 4 4 4 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 4 4 4 5 5 5 5 5 5 4 3 3 3 3 3 4 4 4 4 5 5 6 6 7 7 7 8 8 8 9 10 11 11 12 12 13 14 14 15 16 17 17 18 18 18 19 20 21 22 23 25 26 26 26 26 25 25 25 25 26 26 27 28 29 30 31 34 35 36 33 29 26 26 27 28 29 29 30 -5 -5 -4 -4 -5 -5 -6 -6 -6 -7 -7 -8 -7 -7 -8 -9 -10 -11 -11 -11 -11 -11 -10 -10 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -8 -7 -6 -6 -6 -7 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -2 -3 -4 -7 -8 -9 -8 -6 -6 -6 -7 -7 -6 -3 -0 1 2 2 1 -2 -4 -6 -6 -5 -2 -0 2 3 2 1 -1 -3 -4 -3 -1 1 3 5 5 3 -2 -6 -9 -10 -7 -8 -2 6 13 17 19 19 17 15 13 12 10 11 16 19 17 15 15 18 24 30 33 29 21 11 4 6 15 24 30 33 34 34 33 32 31 29 27 24 21 18 15 12 9 7 5 4 3 2 1 1 -0 -1 -2 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -0 1 1 1 1 1 1 2 2 1 -0 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -2 -3 -5 -6 -6 -6 -5 -4 -4 -3 -3 -3 -4 -4 -4 -5 -6 -5 -4 -3 -2 -1 1 1 2 2 2 2 2 2 1 1 -0 -1 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -6 -6 -6 -6 -7 -7 -7 -8 -8 -9 -9 -9 -9 -9 -8 -8 -9 -8 -7 -6 -5 -4 -4 -4 -5 -6 -5 -4 -3 -2 -2 -2 -2 -1 -0 -0 -0 1 1 2 3 3 4 4 4 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 4 4 4 5 5 5 5 4 4 3 3 3 3 3 3 3 4 4 4 5 5 6 6 7 7 8 7 8 9 10 10 11 11 12 12 13 14 14 15 15 16 17 17 17 18 20 21 22 24 25 25 26 26 25 25 25 25 25 25 26 27 28 29 30 33 35 36 36 33 28 26 27 28 29 29 29 -5 -5 -5 -5 -5 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -9 -8 -8 -7 -7 -6 -6 -6 -6 -6 -7 -8 -8 -8 -9 -9 -8 -7 -7 -6 -6 -7 -7 -6 -6 -5 -5 -5 -5 -4 -4 -2 -2 -2 -4 -7 -8 -8 -7 -6 -5 -5 -7 -8 -9 -7 -5 -3 -1 1 1 -1 -4 -5 -6 -7 -6 -4 -3 -1 -0 -0 -1 -2 -4 -5 -5 -4 -2 -0 3 5 4 2 -1 -5 -8 -11 -9 -6 -0 8 14 17 19 19 19 19 18 16 13 9 5 2 1 1 3 7 14 18 20 17 10 4 5 15 26 33 37 38 38 37 35 34 31 29 26 22 19 16 13 10 8 6 4 3 2 2 1 -0 -2 -3 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -0 1 1 1 1 1 1 -0 -0 -1 -2 -2 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -3 -2 -2 -2 -2 -3 -5 -5 -5 -6 -5 -4 -4 -3 -3 -3 -4 -4 -5 -5 -5 -5 -3 -1 -0 2 3 4 4 4 3 3 2 2 1 -0 -1 -1 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6 -6 -6 -7 -7 -8 -8 -9 -10 -11 -12 -11 -11 -10 -9 -9 -10 -9 -8 -7 -5 -4 -3 -3 -4 -5 -5 -4 -3 -2 -2 -2 -2 -1 -1 -0 -0 -0 1 1 2 3 3 3 3 3 2 2 2 2 2 3 3 3 3 2 2 2 2 2 2 2 2 2 2 3 3 4 4 5 5 5 5 5 4 4 4 3 4 3 3 3 3 4 4 4 5 6 6 6 7 7 7 8 8 9 9 11 11 12 12 13 13 13 14 14 15 16 16 17 18 20 21 23 23 24 25 25 25 25 25 25 25 25 26 26 27 28 29 31 34 36 37 35 30 27 26 26 28 28 29 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -3 -4 -5 -6 -6 -5 -4 -5 -5 -6 -8 -10 -10 -9 -7 -4 -1 -1 -1 -3 -4 -4 -5 -6 -6 -5 -4 -3 -1 -1 -1 -1 -3 -4 -5 -4 -3 -1 1 2 3 2 -0 -3 -6 -9 -10 -8 -4 3 9 13 16 18 20 22 20 16 11 7 4 3 1 -1 -2 -2 3 8 10 9 6 -0 6 14 24 32 40 41 42 41 39 36 34 32 28 24 20 16 14 12 9 7 5 4 3 2 -0 -2 -3 -4 -5 -4 -3 -2 -1 -1 -1 -1 -1 -0 1 1 1 1 -0 -0 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -5 -4 -3 -2 -2 -2 -3 -3 -4 -4 -5 -5 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -2 -1 2 4 5 6 6 5 4 3 2 1 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -7 -8 -9 -10 -11 -12 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -5 -4 -3 -2 -3 -4 -5 -4 -3 -2 -2 -2 -2 -2 -1 -1 -1 -0 1 1 1 1 1 2 3 3 2 2 2 2 2 3 3 3 3 3 2 2 2 2 1 2 2 2 2 2 3 3 4 4 4 5 5 5 5 5 5 4 4 3 3 3 3 3 4 4 5 5 5 5 5 6 6 7 7 8 8 10 11 11 12 12 12 12 12 13 14 15 15 16 17 19 20 21 22 23 23 24 24 24 24 24 24 25 25 25 25 27 28 30 33 35 36 35 32 28 26 25 26 27 28 -6 -6 -6 -5 -5 -5 -6 -6 -6 -7 -8 -8 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -6 -6 -5 -5 -5 -6 -5 -5 -5 -5 -5 -4 -3 -3 -4 -5 -7 -9 -11 -13 -12 -10 -7 -4 -2 -2 -2 -2 -2 -2 -2 -4 -5 -5 -4 -2 -1 -0 -0 -0 -1 -2 -2 -2 -2 -1 -1 -0 -0 -0 -1 -2 -4 -7 -9 -9 -6 -0 5 8 10 13 16 15 13 10 8 7 7 6 4 -0 -4 -4 -1 3 5 4 -1 -0 7 13 19 31 40 43 44 43 42 39 37 34 30 26 22 18 15 13 10 8 6 4 2 1 -1 -3 -4 -5 -4 -3 -3 -2 -2 -2 -1 -0 -0 1 1 1 -0 -2 -2 -2 -2 -3 -3 -3 -3 -3 -4 -3 -3 -3 -3 -3 -4 -5 -5 -5 -4 -4 -4 -4 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -3 -2 -2 -2 -3 -3 -3 -3 -2 -1 1 3 5 6 7 7 6 5 3 2 1 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -7 -8 -9 -11 -12 -13 -14 -14 -14 -13 -13 -12 -11 -11 -10 -9 -9 -8 -5 -3 -1 -1 -2 -4 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -1 -0 -0 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 2 1 1 1 1 2 1 1 2 2 3 4 4 4 5 5 5 5 5 5 5 4 4 4 3 3 3 3 3 4 4 4 4 4 5 5 6 6 7 7 8 9 11 11 11 11 11 11 12 13 14 14 15 16 18 18 20 21 22 22 23 23 23 23 23 24 24 24 24 25 26 27 29 31 33 34 35 34 30 27 24 25 26 26 -5 -5 -5 -5 -5 -5 -6 -7 -7 -8 -9 -9 -9 -9 -9 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -9 -8 -7 -7 -7 -8 -8 -8 -8 -7 -7 -6 -5 -5 -6 -6 -6 -5 -5 -5 -5 -6 -6 -6 -7 -7 -6 -6 -5 -4 -4 -4 -4 -4 -3 -2 -2 -1 -2 -4 -7 -10 -12 -14 -13 -11 -9 -7 -4 -3 -2 -1 -0 1 1 -1 -2 -4 -4 -3 -2 -1 -0 1 1 1 1 1 1 1 -0 -1 -3 -4 -4 -3 -2 -2 -4 -6 -7 -4 -0 2 4 5 7 7 7 7 7 6 7 9 9 7 3 1 -0 1 1 1 -1 -2 1 5 8 14 27 38 45 47 46 44 41 39 36 32 27 23 19 16 14 11 9 7 5 2 -0 -2 -3 -4 -4 -3 -3 -2 -2 -1 -0 -0 1 1 -0 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -3 -3 -4 -5 -5 -5 -5 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -3 -2 -2 -2 -2 -3 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -0 2 3 4 6 6 6 5 4 2 1 -0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -5 -5 -6 -6 -6 -6 -7 -8 -9 -11 -13 -14 -15 -14 -14 -14 -13 -13 -12 -11 -10 -9 -9 -8 -7 -5 -2 -0 -0 -1 -3 -4 -4 -3 -2 -2 -2 -2 -3 -3 -3 -2 -1 -0 -0 -0 -0 -0 -0 1 2 2 2 2 2 2 2 2 3 3 3 3 2 2 1 1 1 1 1 1 2 2 3 3 3 4 4 4 5 5 5 5 5 4 4 4 3 3 3 3 3 3 4 4 4 4 4 4 5 5 6 6 7 8 10 10 10 10 10 11 11 12 12 13 14 15 16 17 18 19 21 21 21 22 22 22 22 23 24 24 24 24 25 26 28 30 32 33 34 34 32 28 25 24 24 25 -5 -5 -5 -5 -5 -5 -7 -7 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -11 -10 -9 -8 -8 -8 -8 -9 -9 -10 -11 -12 -11 -9 -8 -8 -10 -9 -9 -9 -9 -7 -6 -6 -5 -5 -5 -4 -3 -3 -3 -4 -5 -5 -6 -6 -6 -5 -4 -2 -1 -1 -1 -1 -0 1 1 1 1 1 -1 -5 -8 -10 -11 -11 -10 -9 -8 -5 -4 -3 -2 -0 2 2 1 -1 -3 -4 -5 -4 -3 -2 -0 1 2 3 3 4 5 5 3 -0 -3 -6 -7 -5 -2 -1 -1 -3 -3 -1 1 1 1 2 4 5 5 5 5 6 8 10 11 11 10 8 6 4 1 -1 -2 -1 -0 -1 -1 9 24 37 45 49 48 46 44 41 37 32 28 24 20 17 15 13 10 7 5 2 -0 -2 -3 -3 -3 -3 -2 -1 -0 -0 1 1 -0 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -2 -1 -2 -2 -3 -3 -3 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -0 1 2 3 3 4 4 4 3 2 1 -0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -7 -8 -9 -11 -12 -14 -15 -15 -14 -13 -13 -13 -12 -11 -10 -9 -9 -8 -8 -7 -5 -2 -0 1 -0 -3 -4 -4 -3 -2 -2 -2 -2 -3 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -0 1 2 2 2 1 1 2 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 2 2 3 3 3 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 6 6 7 8 9 10 10 10 10 10 11 11 12 12 14 14 16 17 18 19 20 21 21 22 22 22 22 23 23 23 23 24 25 26 28 31 32 33 33 33 30 26 23 23 24 -5 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -8 -9 -10 -12 -13 -13 -13 -12 -11 -9 -8 -8 -8 -8 -8 -9 -10 -11 -13 -13 -11 -8 -8 -9 -9 -9 -9 -9 -8 -7 -7 -7 -6 -6 -4 -2 -2 -2 -3 -4 -6 -6 -5 -2 -0 2 2 3 3 4 5 6 7 6 6 5 4 3 -0 -3 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 -1 -1 -0 1 -0 -1 -4 -5 -6 -6 -5 -4 -3 -2 -1 1 3 6 9 9 7 3 -2 -7 -9 -8 -5 -2 -2 -3 -2 -0 -0 -0 -0 3 5 5 4 5 4 6 9 12 14 17 17 16 12 7 2 -0 -0 -2 -6 -9 -5 4 17 31 44 50 51 49 46 42 37 32 28 24 21 19 16 14 11 8 5 3 -0 -1 -2 -2 -2 -2 -1 -0 -0 -0 -0 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -5 -4 -2 -1 -1 -1 -2 -3 -3 -3 -4 -3 -3 -2 -1 -0 -0 -0 -0 -0 -0 1 2 2 3 3 3 2 2 1 -0 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -6 -7 -7 -7 -7 -8 -9 -10 -12 -13 -14 -15 -14 -13 -13 -12 -12 -11 -10 -9 -8 -8 -8 -7 -5 -4 -1 1 1 -0 -3 -4 -4 -3 -2 -2 -2 -3 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -1 -1 -0 1 2 2 1 1 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 1 2 2 3 2 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 5 6 7 8 9 10 10 9 9 9 10 11 11 12 12 14 15 17 18 19 20 21 21 21 21 22 22 23 23 23 23 24 25 27 29 31 32 33 33 31 28 23 22 22 -6 -5 -5 -4 -4 -5 -5 -6 -6 -7 -8 -8 -9 -10 -12 -14 -15 -14 -13 -11 -9 -8 -8 -8 -8 -9 -9 -10 -11 -13 -14 -12 -8 -6 -6 -7 -7 -7 -8 -8 -7 -7 -7 -7 -6 -6 -4 -3 -3 -4 -6 -7 -6 -4 -2 -2 -2 1 3 7 11 13 16 16 16 15 13 11 7 5 2 1 -1 -0 -1 -1 -0 -0 -1 -1 -2 -2 -2 -1 -1 -0 -0 -1 -3 -4 -5 -6 -5 -5 -6 -6 -6 -5 -1 4 9 11 10 6 1 -4 -7 -8 -8 -8 -7 -5 -3 -0 -0 -1 -0 2 4 5 5 5 4 6 10 14 19 23 23 21 16 8 5 4 1 -4 -9 -12 -11 -4 7 27 42 49 52 51 47 42 36 32 28 26 23 20 18 15 13 9 6 4 2 1 -0 -0 -1 -1 -0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -3 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -2 -1 -0 -0 -0 -0 -0 1 1 2 2 2 2 2 1 1 -0 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -12 -14 -14 -14 -13 -13 -12 -11 -11 -10 -9 -8 -8 -7 -7 -5 -4 -2 -0 1 1 -0 -2 -4 -4 -3 -2 -2 -2 -4 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 -0 -0 1 1 1 2 2 2 2 2 3 3 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 7 8 9 9 9 9 9 9 9 9 10 11 12 13 15 16 18 19 20 21 21 21 21 22 23 23 23 23 23 24 25 27 29 31 32 32 31 29 24 21 21 -5 -5 -4 -4 -4 -4 -5 -6 -6 -7 -8 -8 -9 -10 -12 -14 -14 -14 -12 -10 -9 -8 -8 -9 -9 -9 -10 -10 -11 -12 -11 -9 -7 -5 -5 -6 -7 -7 -8 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -6 -7 -8 -9 -9 -9 -9 -8 -5 -2 3 9 13 17 20 22 22 21 18 15 11 8 5 3 1 -1 -1 -0 -0 -0 -1 -2 -3 -3 -3 -3 -2 -1 -1 -1 -2 -3 -4 -4 -5 -6 -7 -8 -9 -9 -7 -1 4 8 9 8 4 -0 -4 -7 -9 -10 -9 -7 -3 1 1 -0 -0 1 2 4 4 4 5 7 14 20 25 28 28 24 17 11 6 3 -0 -4 -7 -10 -10 -7 5 22 37 48 53 52 46 40 36 32 30 27 24 22 20 17 14 11 9 6 4 2 1 1 -0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -3 -2 -1 -0 -1 -1 -1 -2 -3 -3 -3 -3 -2 -1 -0 -0 -0 -0 -0 1 1 2 2 2 2 1 -0 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -8 -8 -9 -11 -12 -13 -14 -14 -13 -13 -12 -11 -10 -9 -9 -8 -8 -7 -6 -6 -4 -2 -1 1 1 1 -0 -2 -4 -4 -4 -2 -2 -2 -4 -5 -5 -5 -4 -4 -3 -3 -2 -2 -2 -3 -3 -3 -2 -1 -0 -0 1 -0 -0 -0 -0 1 1 -0 -0 -0 1 1 1 -0 -0 -1 -1 -0 -0 -0 -0 1 1 1 1 1 2 2 3 3 3 3 3 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 4 5 6 7 8 9 8 8 9 9 9 8 8 10 11 12 13 15 16 17 19 20 20 20 21 21 22 22 23 24 24 24 25 26 28 29 31 32 31 30 26 21 19 -5 -4 -4 -4 -4 -4 -5 -6 -6 -7 -8 -9 -9 -10 -11 -12 -12 -12 -12 -11 -9 -9 -9 -9 -10 -10 -11 -12 -12 -12 -10 -7 -5 -5 -6 -7 -7 -8 -8 -8 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -6 -6 -7 -8 -9 -11 -10 -9 -8 -6 -2 2 7 12 17 21 23 22 21 18 15 12 8 5 2 -1 -1 -0 -0 -2 -2 -3 -3 -3 -4 -4 -3 -1 -0 -0 -0 -0 -1 -2 -3 -5 -7 -9 -10 -11 -9 -6 -2 3 6 8 7 5 1 -2 -6 -8 -8 -6 -3 -1 -1 -0 -0 -1 -0 2 4 6 8 13 21 28 31 30 28 24 19 13 7 2 -2 -3 -3 -4 -6 -6 6 22 36 46 51 50 45 40 36 33 31 29 26 24 21 19 17 14 11 8 5 4 2 1 -0 -1 -1 -2 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 -0 -0 -0 -0 -1 -2 -2 -3 -3 -2 -1 -0 -0 -0 -0 -0 -0 1 1 2 2 1 -0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -5 -6 -6 -7 -7 -7 -7 -8 -8 -9 -9 -10 -12 -13 -14 -14 -13 -13 -12 -11 -9 -9 -8 -8 -7 -7 -6 -5 -4 -3 -2 -0 1 1 1 -0 -2 -3 -4 -4 -2 -2 -2 -4 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -1 -2 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 1 2 2 2 2 2 2 2 2 1 2 2 2 3 3 3 3 3 3 3 2 2 2 4 5 6 7 8 8 8 8 8 8 8 8 8 9 11 12 14 15 16 17 18 19 19 20 20 21 21 23 24 24 24 24 25 26 28 29 30 31 30 27 22 18 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -8 -8 -9 -9 -9 -10 -10 -11 -11 -11 -10 -10 -10 -10 -10 -12 -13 -14 -14 -13 -11 -7 -5 -6 -7 -7 -7 -7 -8 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -4 -4 -5 -6 -7 -9 -11 -11 -11 -11 -10 -9 -8 -5 -2 3 9 14 16 18 19 19 17 14 11 7 3 1 -0 1 -0 -1 -2 -2 -2 -3 -4 -4 -2 -0 1 2 2 2 1 -1 -3 -5 -6 -8 -10 -11 -11 -10 -7 -4 1 5 7 6 4 1 -2 -5 -6 -6 -4 -1 -0 -0 -1 -2 -2 -0 5 10 17 20 24 24 21 19 19 20 19 15 8 1 -1 -1 -1 -3 -6 -6 3 17 30 37 42 43 41 38 36 34 32 30 28 25 23 21 19 16 13 10 7 5 3 1 -1 -1 -2 -3 -3 -3 -3 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -2 -2 -0 -0 -0 -0 -0 -1 -1 -2 -2 -2 -1 -0 -0 1 1 1 -0 1 1 1 1 -0 -1 -2 -3 -3 -4 -4 -3 -3 -3 -3 -4 -3 -3 -3 -3 -3 -3 -4 -5 -5 -6 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -11 -12 -14 -14 -14 -13 -12 -11 -10 -8 -8 -8 -7 -6 -6 -6 -5 -4 -2 -1 -0 1 1 1 -0 -1 -3 -5 -4 -3 -2 -2 -4 -5 -5 -5 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 -0 -0 1 1 1 1 1 1 1 1 1 1 2 2 3 3 3 3 3 2 1 1 2 4 5 6 7 8 8 8 7 7 7 7 7 8 9 10 12 13 14 15 16 17 18 19 19 20 21 22 23 24 24 24 24 25 26 27 29 30 30 29 25 17 -3 -3 -3 -5 -5 -5 -6 -7 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -11 -11 -12 -13 -14 -15 -15 -15 -11 -7 -5 -5 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -3 -3 -4 -5 -6 -8 -10 -10 -11 -11 -11 -11 -11 -11 -11 -9 -5 -0 4 8 12 15 16 15 13 11 8 5 3 3 3 2 1 -0 -0 -1 -2 -3 -3 -1 1 2 3 3 3 2 -0 -2 -4 -6 -7 -9 -11 -12 -13 -12 -9 -5 -0 3 4 4 4 2 -1 -4 -5 -3 -1 -0 -0 -2 -4 -4 -1 5 15 14 12 8 5 3 3 5 10 13 10 5 2 -0 -1 -2 -5 -9 -10 -3 10 25 36 37 34 29 30 33 34 33 31 29 26 25 22 20 17 14 11 8 5 2 -1 -1 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -2 -2 -1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -0 -0 1 1 1 1 -0 1 1 1 -0 -1 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -5 -6 -6 -7 -7 -8 -8 -8 -8 -8 -9 -9 -9 -11 -12 -13 -15 -14 -14 -12 -10 -9 -8 -8 -7 -7 -6 -6 -6 -6 -5 -3 -2 -1 -0 1 1 1 -0 -1 -3 -4 -4 -4 -3 -3 -4 -5 -5 -5 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -3 -4 -3 -3 -2 -1 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -0 -0 1 -0 -0 -0 -0 -0 -0 1 1 2 2 2 2 2 2 1 1 1 2 3 4 5 6 7 7 7 7 6 6 6 6 7 8 9 11 12 13 13 14 15 16 17 18 18 19 21 22 24 24 24 24 24 25 26 28 29 29 29 27 20 -3 -3 -3 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -10 -10 -10 -11 -12 -13 -14 -14 -15 -15 -15 -14 -11 -7 -6 -5 -6 -7 -7 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -3 -4 -5 -6 -8 -10 -11 -11 -11 -11 -11 -11 -12 -12 -11 -9 -6 -2 2 6 9 10 10 9 9 7 6 6 6 5 4 2 2 2 1 -1 -2 -0 2 3 3 3 3 3 2 -0 -3 -4 -5 -7 -9 -10 -11 -12 -13 -12 -10 -6 -2 1 4 5 4 -0 -2 -3 -2 -0 1 -0 -3 -6 -8 -5 4 5 3 -1 -4 -5 -7 -7 -4 1 4 4 2 1 -0 -0 -3 -8 -13 -14 -9 3 19 28 30 29 29 29 29 31 33 32 30 28 26 24 22 19 16 12 8 4 1 -1 -2 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 1 1 1 -0 -0 -0 -0 -0 -0 1 1 1 1 1 1 1 1 -0 -1 -3 -3 -4 -4 -4 -4 -4 -4 -5 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -8 -8 -8 -8 -8 -9 -9 -10 -11 -12 -13 -14 -14 -14 -12 -10 -9 -8 -8 -7 -7 -6 -6 -6 -6 -6 -5 -4 -2 -1 -0 -0 1 1 -0 -1 -3 -4 -4 -4 -3 -3 -4 -5 -6 -5 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -5 -4 -3 -3 -3 -4 -4 -5 -4 -3 -3 -3 -3 -2 -3 -4 -4 -5 -5 -6 -6 -5 -4 -3 -3 -2 -2 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 1 1 1 1 2 2 1 1 -0 1 1 2 3 4 5 6 7 7 6 5 5 5 5 6 7 8 9 10 11 11 12 13 14 15 16 17 18 20 21 23 24 25 25 24 24 24 26 27 28 29 28 23 -3 -2 -3 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -10 -10 -11 -11 -13 -13 -14 -15 -15 -15 -13 -10 -7 -6 -6 -6 -6 -7 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -4 -3 -3 -3 -5 -7 -9 -11 -12 -12 -12 -12 -12 -12 -12 -11 -10 -7 -4 -0 3 6 6 6 6 6 6 6 7 8 8 7 5 3 4 5 4 3 1 3 4 4 4 4 4 3 2 -1 -2 -3 -3 -4 -6 -9 -12 -12 -12 -12 -11 -10 -8 -3 1 4 3 1 -0 -1 -1 -0 2 1 -4 -10 -14 -10 -3 -0 -1 -4 -4 -6 -10 -12 -10 -6 -3 -2 -0 1 2 -0 -4 -10 -15 -18 -14 -2 11 21 27 32 34 33 32 30 29 32 31 29 27 26 23 20 16 12 7 3 -0 -2 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -4 -4 -4 -4 -3 -3 -2 -2 -2 -1 -0 -0 1 1 1 1 -0 -0 -0 -0 -0 1 1 1 1 1 1 1 1 -0 -1 -2 -3 -4 -4 -5 -5 -5 -4 -4 -4 -4 -3 -3 -4 -4 -4 -4 -5 -6 -7 -7 -8 -8 -8 -8 -8 -9 -9 -10 -10 -11 -13 -14 -14 -14 -14 -12 -10 -9 -8 -8 -8 -7 -6 -6 -6 -6 -6 -6 -5 -4 -3 -1 -0 -0 -0 -0 -0 -1 -3 -4 -5 -5 -4 -4 -5 -6 -6 -5 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -4 -3 -3 -4 -5 -5 -6 -5 -5 -5 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 1 1 1 1 1 -0 -0 -0 -0 1 2 3 4 5 6 6 5 4 4 4 4 5 6 7 8 9 10 11 11 11 12 13 14 16 17 19 21 23 24 25 25 25 23 23 23 25 26 27 28 25 -2 -2 -4 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -10 -10 -10 -11 -12 -13 -13 -14 -12 -9 -8 -6 -5 -5 -6 -6 -7 -7 -7 -7 -8 -8 -7 -7 -7 -7 -8 -8 -7 -7 -5 -3 -3 -4 -6 -7 -10 -11 -12 -13 -14 -14 -15 -14 -13 -11 -9 -5 -0 5 8 8 8 7 7 6 6 7 9 9 9 8 7 7 8 9 7 3 2 4 4 4 4 4 4 4 3 2 -0 -3 -4 -5 -6 -8 -11 -13 -12 -11 -11 -11 -12 -9 -3 1 2 1 -1 -1 -0 1 2 -1 -6 -13 -15 -9 -4 -3 -4 -4 -5 -8 -9 -10 -11 -12 -10 -6 -2 1 2 -0 -4 -10 -16 -18 -16 -8 4 17 30 38 40 38 33 30 31 34 33 32 30 27 25 21 17 12 7 2 -1 -2 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -1 -1 -1 -0 -0 1 1 1 1 -0 -0 -0 -0 -0 1 1 1 1 1 1 1 1 -1 -2 -3 -4 -4 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -5 -6 -7 -8 -8 -8 -9 -9 -9 -9 -10 -11 -11 -12 -12 -14 -14 -14 -13 -12 -11 -9 -8 -8 -8 -8 -7 -6 -6 -5 -6 -6 -6 -5 -4 -3 -1 -0 -0 -0 -0 -0 -1 -2 -4 -5 -5 -5 -5 -6 -7 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -8 -7 -6 -5 -5 -5 -5 -5 -6 -6 -7 -7 -6 -6 -5 -4 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -0 2 3 3 4 5 5 5 4 3 3 3 4 4 5 7 8 9 10 10 10 11 12 12 14 15 17 19 22 24 25 26 26 24 23 23 23 24 25 27 26 -2 -3 -4 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -9 -8 -8 -8 -8 -9 -9 -9 -10 -11 -10 -10 -8 -6 -4 -3 -3 -3 -3 -4 -5 -6 -7 -7 -8 -7 -7 -7 -8 -8 -9 -8 -8 -5 -5 -5 -6 -7 -8 -9 -10 -11 -13 -14 -15 -15 -14 -14 -13 -12 -8 -3 2 6 8 9 9 9 8 9 10 11 11 10 9 8 8 7 5 3 2 3 4 4 4 4 4 5 5 5 4 1 -1 -3 -4 -4 -6 -9 -11 -10 -10 -10 -11 -10 -8 -5 -2 -1 -1 -2 -1 -1 -0 -1 -3 -6 -8 -9 -7 -6 -4 -4 -4 -6 -8 -9 -12 -13 -14 -13 -10 -6 -1 1 -1 -5 -9 -14 -16 -16 -10 -0 14 27 35 39 39 36 34 37 38 37 35 33 30 27 23 18 12 7 3 -1 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -4 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 -0 1 1 1 1 1 -0 -0 -0 -0 -0 -0 1 1 1 1 1 1 -0 -2 -3 -3 -4 -5 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -7 -8 -8 -9 -9 -9 -9 -10 -11 -12 -13 -13 -13 -14 -14 -14 -13 -11 -11 -9 -8 -8 -8 -8 -7 -6 -5 -5 -5 -5 -6 -6 -5 -4 -3 -1 -0 -0 -0 -1 -1 -1 -2 -4 -6 -6 -6 -6 -6 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -5 -6 -6 -7 -8 -9 -10 -9 -8 -7 -6 -5 -5 -6 -6 -7 -7 -7 -6 -6 -6 -6 -5 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 -0 -1 -1 -1 -0 -0 -1 -1 -2 -2 -1 -0 2 2 3 4 5 5 4 3 2 2 2 3 4 5 7 8 9 9 9 10 11 11 12 14 16 18 21 23 25 26 27 26 24 22 22 22 24 26 26 -2 -4 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -8 -9 -10 -10 -9 -8 -6 -3 -1 -0 1 1 -0 -3 -4 -6 -7 -7 -7 -7 -7 -7 -8 -9 -9 -8 -7 -7 -7 -8 -8 -8 -9 -9 -10 -13 -14 -14 -14 -13 -13 -13 -12 -10 -7 -4 -1 1 4 6 8 9 10 12 13 12 10 7 5 3 2 3 3 4 4 5 5 5 4 4 4 5 5 4 2 -0 -1 -2 -3 -5 -7 -8 -8 -10 -11 -11 -9 -7 -5 -4 -3 -3 -2 -2 -3 -3 -3 -4 -6 -7 -8 -8 -8 -5 -3 -5 -8 -11 -12 -12 -13 -14 -14 -12 -7 -2 -0 -0 -4 -9 -11 -13 -14 -14 -10 1 14 25 33 36 37 38 38 39 39 38 36 33 29 25 19 13 8 3 -1 -4 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -4 -5 -6 -5 -5 -4 -3 -3 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 -0 1 1 1 1 1 -0 -0 -0 -0 -0 -0 -0 1 1 -0 -0 -1 -2 -3 -3 -4 -5 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -4 -5 -6 -7 -8 -8 -9 -9 -9 -10 -11 -12 -13 -14 -15 -15 -15 -15 -14 -13 -11 -10 -10 -9 -8 -8 -7 -7 -6 -5 -5 -5 -5 -5 -5 -6 -5 -4 -3 -1 -0 -0 -1 -1 -1 -1 -3 -4 -6 -7 -7 -7 -7 -7 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -6 -7 -8 -10 -11 -11 -10 -8 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 -0 1 2 3 4 4 3 2 1 1 1 2 3 4 5 6 7 8 8 9 9 10 11 12 14 16 19 22 24 26 27 27 26 24 22 22 23 24 26 -3 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -10 -10 -9 -8 -6 -3 -1 -0 1 1 -0 -1 -3 -4 -5 -4 -4 -5 -6 -6 -6 -7 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -11 -13 -13 -13 -12 -11 -11 -12 -12 -11 -9 -8 -6 -5 -3 -1 1 5 8 10 9 9 6 4 1 -2 -0 2 3 4 5 5 5 4 4 3 3 4 4 4 2 -0 -1 -2 -3 -4 -4 -4 -8 -10 -11 -10 -9 -7 -6 -5 -4 -3 -3 -3 -3 -3 -3 -5 -7 -8 -10 -11 -9 -6 -5 -7 -10 -12 -13 -14 -16 -16 -16 -13 -8 -3 -0 1 -2 -5 -8 -11 -14 -17 -16 -11 -2 7 15 22 25 28 31 33 35 36 37 36 32 27 21 15 8 2 -2 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -5 -4 -4 -4 -4 -5 -6 -5 -5 -4 -3 -3 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -0 -0 1 1 1 1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -2 -3 -3 -4 -4 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -4 -5 -6 -7 -8 -8 -9 -9 -9 -10 -11 -13 -15 -16 -16 -16 -17 -17 -15 -13 -12 -10 -10 -10 -9 -8 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -3 -1 -1 -1 -1 -2 -2 -2 -3 -5 -6 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -9 -9 -9 -9 -9 -9 -9 -8 -7 -7 -7 -7 -8 -8 -8 -8 -7 -8 -10 -12 -13 -12 -10 -9 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -3 -2 -1 1 2 3 3 3 2 1 1 -0 1 2 3 3 5 6 7 7 8 8 8 9 11 13 14 18 20 22 25 27 29 28 26 24 22 22 22 24 -4 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -6 -6 -7 -7 -7 -8 -8 -9 -10 -10 -10 -9 -9 -8 -7 -4 -2 -1 -1 -0 -0 -1 -2 -3 -3 -2 -3 -3 -4 -4 -5 -6 -7 -8 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -12 -12 -11 -10 -10 -10 -11 -11 -10 -10 -10 -9 -9 -8 -5 -1 2 4 3 3 1 -0 -3 -2 -0 2 3 4 5 5 5 5 4 2 3 3 3 3 1 -1 -3 -5 -5 -4 -1 -3 -6 -9 -10 -10 -8 -7 -6 -6 -5 -4 -3 -3 -3 -3 -5 -7 -9 -11 -12 -12 -10 -7 -7 -8 -11 -12 -14 -17 -18 -19 -17 -14 -9 -3 2 5 3 -2 -8 -12 -11 -11 -12 -13 -12 -9 -4 -2 1 5 10 14 22 31 37 38 35 30 24 16 9 2 -2 -5 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -4 -4 -4 -5 -5 -6 -5 -5 -4 -3 -3 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -0 -0 1 1 1 -0 -0 -0 -1 -1 -1 -1 -1 -0 -0 -1 -2 -2 -3 -3 -4 -4 -4 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -4 -5 -6 -7 -8 -8 -9 -9 -9 -10 -11 -13 -15 -17 -18 -19 -19 -18 -17 -14 -12 -11 -11 -11 -10 -9 -8 -7 -6 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -2 -1 -1 -2 -2 -3 -3 -4 -5 -6 -7 -8 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -10 -11 -10 -10 -10 -9 -8 -8 -8 -9 -9 -10 -9 -9 -8 -8 -9 -11 -12 -12 -11 -10 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -3 -3 -2 -1 -1 -2 -2 -2 -2 -2 -3 -3 -4 -5 -5 -4 -3 -0 1 2 3 3 2 1 -0 -0 1 1 2 2 4 5 6 6 7 7 8 8 9 11 13 16 18 21 24 27 30 30 30 27 24 22 22 23 -4 -5 -6 -6 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -5 -4 -4 -4 -5 -6 -8 -8 -8 -9 -9 -10 -10 -10 -9 -8 -8 -7 -5 -4 -3 -2 -2 -1 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -4 -6 -8 -9 -9 -9 -9 -10 -10 -10 -10 -11 -11 -11 -11 -9 -9 -8 -9 -10 -10 -10 -10 -11 -12 -13 -13 -10 -6 -3 -4 -4 -3 -2 -2 -3 -3 -1 1 2 3 5 6 6 4 3 2 2 3 3 2 -1 -4 -7 -8 -7 -3 -1 -2 -5 -7 -9 -9 -8 -7 -6 -6 -5 -4 -4 -4 -4 -5 -7 -9 -11 -12 -13 -13 -11 -8 -7 -8 -10 -12 -15 -18 -20 -20 -18 -14 -8 -2 -0 1 -0 -3 -7 -9 -10 -12 -13 -14 -12 -9 -7 -5 -4 -3 -0 6 13 20 28 37 37 33 26 18 11 3 -2 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -3 -4 -4 -4 -4 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -4 -5 -6 -7 -8 -8 -9 -9 -10 -10 -11 -13 -15 -17 -18 -19 -20 -20 -19 -17 -14 -12 -12 -11 -12 -11 -9 -8 -7 -5 -5 -4 -3 -4 -4 -4 -4 -5 -5 -6 -5 -5 -3 -2 -2 -2 -4 -4 -4 -4 -5 -6 -8 -9 -10 -10 -10 -10 -10 -11 -11 -11 -12 -13 -13 -13 -12 -12 -11 -12 -11 -11 -10 -10 -10 -10 -10 -11 -10 -10 -9 -8 -9 -10 -12 -12 -11 -11 -9 -9 -9 -9 -9 -9 -8 -7 -7 -7 -6 -6 -6 -7 -7 -6 -6 -6 -5 -5 -5 -5 -4 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -5 -2 -0 2 4 3 3 1 1 -0 -0 -0 1 1 2 3 4 5 5 6 7 7 8 9 12 14 16 20 23 26 29 31 32 31 28 24 22 22 -5 -5 -6 -5 -5 -5 -6 -7 -7 -7 -6 -6 -5 -5 -4 -4 -4 -4 -3 -4 -4 -4 -5 -7 -8 -9 -10 -10 -10 -10 -10 -10 -9 -8 -7 -7 -5 -4 -4 -3 -3 -2 -2 -3 -4 -5 -3 -2 -2 -2 -1 -0 -0 -0 -2 -5 -7 -8 -8 -8 -9 -9 -9 -9 -10 -10 -10 -10 -9 -8 -8 -8 -9 -10 -11 -11 -11 -12 -13 -14 -13 -11 -7 -7 -8 -8 -6 -4 -4 -4 -3 -1 -0 1 2 4 5 5 4 3 3 3 4 4 1 -3 -7 -10 -12 -9 -4 -1 -1 -3 -6 -7 -7 -7 -7 -7 -6 -4 -4 -4 -5 -5 -7 -9 -11 -12 -12 -13 -13 -11 -8 -7 -8 -10 -13 -16 -19 -20 -21 -18 -13 -6 -3 -1 -1 -1 -3 -5 -7 -10 -13 -14 -13 -11 -9 -7 -6 -5 -6 -6 -3 4 13 24 33 36 35 29 22 13 4 -3 -6 -7 -6 -6 -5 -5 -5 -4 -4 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -5 -6 -7 -8 -8 -9 -10 -10 -11 -11 -12 -14 -16 -18 -19 -20 -21 -20 -19 -17 -15 -14 -13 -12 -12 -11 -9 -8 -6 -5 -4 -3 -3 -3 -3 -3 -4 -5 -5 -6 -6 -5 -4 -3 -2 -3 -5 -5 -5 -4 -5 -5 -7 -9 -10 -11 -10 -10 -10 -10 -11 -11 -13 -14 -14 -15 -14 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -12 -11 -10 -9 -8 -8 -8 -10 -11 -11 -11 -10 -9 -9 -9 -9 -10 -9 -8 -7 -7 -6 -6 -6 -7 -7 -7 -7 -7 -6 -5 -5 -5 -5 -4 -3 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -6 -8 -7 -5 -1 3 4 5 4 2 1 -0 -0 -0 -0 -0 1 2 3 3 4 5 6 6 7 8 10 13 15 18 21 25 28 31 34 35 32 28 25 23 -5 -5 -6 -6 -6 -6 -6 -7 -6 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -7 -9 -10 -10 -11 -11 -10 -10 -10 -10 -9 -9 -8 -7 -6 -5 -4 -4 -4 -3 -3 -3 -5 -5 -5 -3 -3 -4 -4 -2 1 3 3 2 -1 -3 -5 -5 -5 -6 -6 -7 -8 -9 -9 -8 -8 -8 -7 -8 -8 -8 -10 -11 -13 -14 -15 -13 -13 -12 -11 -9 -10 -11 -10 -8 -6 -5 -4 -3 -1 -1 -0 1 3 3 3 2 3 4 5 6 4 -0 -5 -8 -11 -12 -10 -7 -3 -2 -3 -5 -6 -7 -7 -7 -6 -4 -4 -4 -5 -7 -8 -10 -11 -11 -11 -13 -14 -13 -11 -9 -8 -9 -11 -14 -18 -20 -22 -21 -18 -10 -4 -2 -1 -1 -1 -2 -3 -6 -10 -13 -14 -12 -11 -9 -8 -5 -5 -8 -9 -8 -5 5 14 22 29 33 31 23 14 5 -2 -6 -6 -6 -5 -5 -5 -4 -4 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -5 -6 -7 -8 -8 -9 -10 -11 -12 -12 -13 -14 -15 -16 -17 -19 -19 -20 -19 -18 -17 -16 -15 -14 -13 -12 -11 -10 -9 -6 -5 -3 -2 -2 -2 -3 -3 -3 -4 -5 -6 -6 -6 -5 -4 -4 -4 -5 -6 -6 -5 -5 -5 -7 -8 -10 -10 -10 -10 -10 -10 -11 -12 -13 -14 -15 -16 -15 -15 -14 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -11 -10 -8 -6 -6 -7 -10 -12 -11 -10 -9 -9 -9 -9 -10 -9 -8 -8 -7 -6 -6 -6 -7 -7 -7 -8 -7 -6 -6 -5 -5 -5 -4 -4 -3 -2 -2 -2 -3 -4 -4 -4 -4 -5 -5 -7 -9 -10 -9 -4 1 5 7 6 4 3 2 1 -0 -1 -0 -0 -0 2 3 3 4 5 5 6 7 9 11 14 17 20 24 27 30 34 37 37 33 29 25 -5 -5 -6 -6 -7 -7 -6 -6 -6 -5 -4 -4 -4 -4 -4 -4 -3 -4 -5 -6 -6 -7 -8 -10 -11 -11 -10 -10 -10 -10 -10 -10 -10 -9 -8 -7 -6 -5 -5 -4 -4 -4 -3 -3 -4 -4 -4 -5 -5 -5 -6 -6 -3 1 5 7 7 5 3 2 1 1 1 -1 -4 -6 -7 -6 -6 -6 -6 -7 -8 -8 -8 -9 -11 -14 -16 -16 -15 -13 -12 -11 -10 -10 -11 -11 -10 -7 -5 -3 -3 -2 -1 -1 -0 2 2 1 -0 1 3 5 5 3 -1 -5 -9 -10 -11 -10 -8 -6 -5 -4 -5 -6 -7 -8 -7 -5 -4 -4 -6 -7 -9 -10 -10 -11 -11 -12 -14 -16 -15 -12 -9 -9 -10 -11 -15 -19 -23 -24 -22 -17 -8 -3 -0 -0 -0 1 1 -2 -6 -10 -12 -12 -12 -10 -8 -5 -4 -6 -8 -10 -11 -7 -2 4 12 20 26 27 23 15 5 -1 -3 -4 -4 -5 -5 -4 -4 -4 -5 -5 -5 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -2 -1 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -1 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -8 -9 -11 -12 -12 -13 -13 -14 -15 -15 -16 -16 -17 -18 -18 -18 -17 -16 -16 -15 -14 -14 -13 -12 -10 -9 -6 -4 -2 -1 -1 -2 -2 -3 -3 -4 -5 -6 -6 -6 -5 -5 -5 -5 -6 -7 -7 -6 -5 -5 -6 -7 -9 -10 -11 -10 -10 -10 -10 -12 -13 -14 -15 -16 -16 -15 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -12 -12 -11 -9 -6 -4 -5 -8 -10 -11 -11 -10 -9 -9 -9 -9 -10 -9 -9 -8 -7 -6 -6 -7 -7 -7 -8 -8 -7 -6 -6 -5 -5 -5 -5 -4 -3 -3 -3 -4 -4 -5 -5 -5 -5 -6 -7 -9 -11 -12 -9 -1 5 9 9 7 5 3 2 -0 -0 -1 -1 -1 -0 2 2 3 4 4 4 6 7 10 13 16 19 22 26 29 33 37 39 38 34 28 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -3 -3 -4 -5 -6 -6 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -7 -6 -6 -6 -5 -4 -4 -4 -3 -2 -2 -2 -3 -6 -6 -7 -8 -8 -7 -3 1 5 8 10 8 8 8 8 8 7 5 2 -2 -3 -2 -3 -5 -6 -7 -7 -6 -7 -9 -11 -14 -16 -17 -16 -15 -12 -11 -10 -11 -12 -13 -11 -7 -5 -3 -2 -2 -2 -1 -0 1 -0 -1 -2 -1 2 4 4 2 -2 -6 -8 -9 -10 -10 -10 -8 -7 -6 -6 -7 -7 -7 -6 -5 -5 -6 -7 -8 -9 -10 -11 -11 -12 -14 -16 -17 -16 -13 -12 -10 -10 -11 -16 -22 -25 -24 -20 -15 -7 -1 2 2 2 3 2 -0 -4 -8 -10 -10 -10 -8 -6 -5 -5 -6 -8 -10 -10 -8 -6 -1 5 13 18 21 19 14 6 1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -6 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -7 -9 -10 -12 -13 -13 -13 -14 -15 -14 -14 -15 -15 -15 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -12 -11 -9 -6 -4 -2 -0 -0 -1 -2 -2 -3 -3 -5 -5 -6 -7 -6 -6 -6 -6 -6 -7 -7 -7 -6 -5 -5 -6 -8 -9 -10 -10 -10 -10 -10 -12 -13 -14 -15 -15 -15 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -12 -12 -13 -12 -10 -6 -4 -3 -5 -8 -10 -11 -10 -8 -8 -8 -9 -10 -10 -10 -10 -8 -7 -7 -7 -7 -7 -8 -8 -8 -7 -6 -6 -6 -5 -5 -4 -4 -3 -4 -4 -4 -5 -6 -7 -6 -6 -7 -9 -12 -15 -13 -6 3 10 12 10 8 6 3 1 -0 -1 -1 -1 -1 1 1 2 3 4 4 5 6 8 10 14 17 21 24 27 31 36 39 41 39 32 -8 -7 -7 -5 -5 -5 -5 -6 -5 -5 -5 -4 -4 -3 -3 -3 -3 -4 -5 -6 -6 -7 -8 -8 -8 -8 -7 -7 -7 -8 -9 -9 -9 -8 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -2 -2 -2 -3 -5 -6 -8 -8 -7 -6 -3 -0 2 5 7 7 7 8 9 11 10 8 5 3 2 1 -0 -2 -4 -4 -4 -4 -5 -7 -9 -12 -16 -18 -19 -17 -14 -12 -11 -12 -14 -13 -11 -7 -4 -3 -3 -3 -2 -2 -2 -0 -1 -1 -2 -1 2 3 3 1 -3 -5 -8 -10 -11 -10 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -7 -8 -10 -11 -12 -12 -13 -14 -16 -17 -15 -12 -10 -10 -11 -16 -20 -22 -20 -17 -13 -7 -2 2 4 4 5 4 2 -2 -5 -7 -8 -8 -7 -5 -4 -5 -7 -8 -9 -8 -7 -7 -5 -0 7 13 18 19 14 7 3 1 -0 -2 -2 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -3 -2 -2 -2 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 -1 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -7 -8 -9 -11 -12 -13 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -13 -13 -13 -12 -9 -7 -3 -1 -0 1 -0 -1 -1 -2 -3 -4 -4 -6 -7 -7 -7 -7 -6 -6 -7 -8 -8 -7 -6 -5 -5 -7 -9 -9 -10 -10 -10 -10 -11 -12 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -15 -15 -15 -14 -13 -13 -13 -13 -12 -8 -5 -2 -2 -6 -9 -10 -10 -8 -8 -8 -9 -10 -11 -11 -11 -10 -9 -7 -7 -7 -6 -7 -8 -9 -8 -7 -6 -6 -6 -5 -5 -5 -5 -4 -4 -5 -5 -7 -7 -7 -7 -8 -9 -12 -15 -17 -12 -3 7 14 13 12 9 6 3 1 -1 -2 -2 -2 -0 -0 2 3 3 4 4 5 7 9 12 15 19 22 25 29 33 38 41 42 37 -9 -8 -7 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -4 -5 -6 -6 -6 -7 -7 -7 -7 -7 -6 -6 -6 -7 -8 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -2 -3 -5 -6 -7 -7 -7 -6 -4 -2 -0 1 2 2 2 3 6 8 8 8 7 7 6 4 2 1 -1 -2 -2 -2 -2 -4 -7 -11 -15 -20 -21 -18 -15 -12 -12 -14 -14 -13 -10 -6 -4 -3 -3 -3 -3 -4 -2 -1 -1 -1 -1 1 2 3 3 -0 -4 -7 -10 -11 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -8 -10 -12 -12 -12 -12 -13 -16 -17 -17 -16 -15 -12 -10 -10 -12 -14 -15 -15 -14 -11 -7 -3 1 4 5 7 7 6 1 -3 -7 -9 -8 -5 -4 -4 -6 -7 -8 -8 -7 -7 -7 -6 -2 4 10 16 17 13 9 5 3 2 1 -1 -2 -3 -4 -4 -5 -5 -5 -5 -5 -6 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 -0 -0 -0 -0 -1 -1 -1 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -8 -9 -10 -12 -13 -14 -15 -15 -14 -14 -13 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -14 -13 -13 -12 -12 -13 -13 -12 -10 -7 -3 -0 1 2 1 -0 -1 -2 -3 -4 -4 -5 -6 -7 -8 -8 -7 -7 -7 -8 -8 -8 -7 -5 -5 -6 -7 -8 -9 -10 -10 -10 -11 -12 -13 -14 -14 -14 -13 -13 -14 -15 -15 -16 -16 -15 -15 -14 -14 -13 -13 -13 -13 -11 -7 -3 -1 -3 -6 -8 -9 -9 -8 -8 -8 -9 -11 -11 -12 -11 -11 -9 -7 -6 -6 -6 -7 -8 -8 -8 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -6 -8 -8 -8 -8 -9 -12 -15 -18 -18 -11 2 12 16 15 13 9 6 3 -0 -2 -3 -3 -2 -1 1 2 3 3 4 5 6 7 10 13 16 20 23 26 30 35 40 43 40 -9 -7 -6 -6 -6 -6 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -5 -6 -7 -7 -6 -6 -6 -6 -7 -7 -7 -6 -5 -5 -5 -6 -7 -7 -6 -5 -4 -4 -5 -5 -5 -5 -5 -6 -6 -5 -3 -3 -4 -4 -5 -7 -8 -9 -8 -6 -4 -3 -2 -1 -2 -3 -3 -2 -0 2 5 7 7 7 7 6 4 2 1 -0 -0 -1 -2 -4 -6 -10 -15 -19 -18 -16 -13 -12 -13 -14 -14 -12 -9 -6 -4 -3 -3 -4 -5 -4 -3 -2 -2 -1 -0 1 3 3 1 -2 -6 -9 -10 -10 -10 -9 -9 -8 -7 -9 -9 -9 -8 -8 -8 -8 -7 -6 -7 -11 -12 -13 -12 -12 -12 -15 -17 -18 -19 -17 -15 -13 -11 -10 -9 -9 -9 -9 -10 -10 -9 -6 -2 2 5 8 10 9 5 -0 -5 -7 -5 -3 -3 -4 -5 -6 -7 -7 -7 -7 -7 -7 -4 1 7 13 15 14 11 8 7 5 3 1 -1 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -1 -1 -1 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -8 -8 -9 -9 -10 -10 -12 -14 -15 -16 -16 -16 -15 -14 -13 -12 -12 -12 -12 -12 -12 -12 -12 -12 -13 -13 -12 -12 -12 -12 -12 -12 -13 -12 -10 -7 -3 -0 2 3 2 -0 -1 -2 -3 -3 -4 -4 -5 -7 -8 -8 -7 -8 -8 -8 -8 -9 -8 -6 -5 -4 -5 -7 -9 -10 -10 -10 -11 -12 -13 -14 -14 -13 -13 -13 -14 -15 -16 -17 -16 -16 -16 -15 -15 -14 -14 -14 -14 -13 -10 -5 -0 -0 -2 -6 -8 -9 -8 -8 -8 -9 -10 -11 -12 -12 -12 -11 -9 -7 -6 -6 -6 -7 -8 -8 -7 -7 -6 -6 -7 -7 -7 -7 -6 -5 -5 -6 -8 -9 -9 -9 -9 -12 -14 -17 -20 -18 -6 7 15 17 16 13 9 5 2 -1 -3 -3 -3 -2 -0 1 2 3 3 4 5 6 8 10 13 17 20 23 27 32 37 42 42 -8 -7 -6 -6 -6 -5 -4 -4 -4 -4 -3 -3 -3 -3 -4 -5 -6 -6 -7 -7 -7 -7 -6 -6 -7 -7 -7 -6 -5 -5 -5 -5 -5 -6 -6 -5 -4 -4 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -6 -8 -9 -11 -11 -11 -10 -7 -4 -2 -2 -2 -3 -5 -6 -6 -4 -2 1 3 4 4 4 4 3 2 -0 -0 -1 -2 -2 -3 -5 -8 -12 -13 -13 -12 -11 -11 -13 -13 -13 -11 -9 -6 -4 -3 -3 -4 -4 -4 -4 -3 -2 -1 -0 1 2 1 -1 -4 -7 -9 -10 -10 -9 -8 -7 -7 -8 -9 -9 -9 -8 -8 -8 -8 -7 -7 -10 -12 -13 -13 -12 -12 -13 -16 -19 -20 -19 -18 -16 -14 -12 -10 -7 -4 -3 -5 -7 -9 -9 -7 -4 -1 4 9 12 11 7 2 -2 -3 -2 -2 -3 -4 -4 -5 -6 -7 -7 -7 -7 -7 -5 1 8 13 16 15 13 12 10 7 5 3 -0 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -5 -6 -7 -8 -8 -8 -9 -10 -11 -12 -14 -15 -17 -19 -19 -17 -16 -14 -12 -12 -12 -12 -12 -13 -13 -13 -13 -12 -12 -13 -12 -12 -12 -12 -12 -12 -12 -13 -12 -11 -7 -3 1 3 4 2 1 -0 -1 -2 -2 -3 -4 -5 -6 -7 -8 -8 -8 -8 -8 -8 -9 -8 -7 -6 -4 -4 -6 -8 -9 -10 -11 -12 -12 -13 -13 -13 -12 -12 -12 -13 -14 -16 -17 -17 -17 -16 -16 -15 -15 -15 -15 -15 -14 -13 -9 -3 1 1 -2 -6 -8 -8 -8 -8 -8 -9 -11 -12 -13 -13 -13 -11 -9 -7 -5 -5 -6 -7 -8 -8 -8 -7 -7 -7 -8 -8 -8 -7 -6 -5 -6 -8 -10 -10 -9 -10 -11 -14 -16 -19 -20 -14 1 11 17 18 16 12 7 3 -1 -3 -3 -4 -3 -2 -0 1 2 3 4 5 6 7 9 11 14 17 21 24 29 34 40 42 -8 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -8 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -6 -6 -5 -5 -5 -6 -8 -10 -12 -14 -15 -15 -14 -11 -8 -4 -2 -0 -1 -3 -5 -6 -6 -5 -4 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -6 -7 -9 -9 -9 -9 -10 -11 -12 -12 -12 -11 -9 -7 -5 -3 -3 -3 -4 -5 -4 -3 -2 -0 -0 1 1 1 -1 -4 -7 -9 -10 -9 -7 -7 -7 -8 -8 -9 -9 -8 -8 -8 -8 -8 -8 -10 -12 -14 -14 -13 -12 -12 -14 -16 -18 -18 -19 -18 -16 -15 -14 -12 -5 -1 1 -0 -4 -8 -9 -9 -7 -2 3 8 11 11 7 4 2 2 1 -1 -3 -4 -4 -4 -5 -6 -7 -8 -8 -7 -3 3 9 13 16 19 17 15 13 10 8 5 2 -0 -2 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -0 -0 -1 -1 -1 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -5 -6 -7 -8 -8 -9 -9 -10 -12 -14 -16 -18 -19 -20 -20 -20 -18 -15 -13 -12 -12 -12 -13 -14 -14 -14 -14 -14 -14 -14 -13 -12 -12 -12 -12 -12 -12 -12 -13 -13 -12 -8 -3 1 4 4 3 1 -0 -1 -1 -2 -2 -3 -4 -5 -7 -8 -9 -9 -9 -8 -9 -9 -9 -8 -7 -4 -4 -4 -6 -8 -10 -11 -12 -13 -13 -13 -13 -12 -12 -12 -12 -13 -15 -16 -17 -17 -17 -16 -16 -15 -15 -15 -15 -15 -14 -12 -7 -1 2 1 -2 -6 -7 -8 -8 -8 -8 -10 -11 -13 -14 -14 -13 -11 -8 -6 -4 -3 -4 -6 -8 -8 -7 -7 -7 -8 -9 -9 -8 -7 -6 -6 -8 -10 -11 -10 -10 -11 -13 -14 -16 -19 -19 -7 5 14 18 18 15 11 6 1 -2 -4 -5 -4 -3 -1 1 2 2 3 4 5 6 8 9 12 15 18 21 25 31 37 41 -7 -7 -6 -5 -5 -4 -4 -4 -4 -5 -5 -4 -4 -4 -3 -3 -3 -4 -5 -6 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -2 -3 -3 -4 -5 -5 -5 -5 -4 -5 -6 -8 -11 -14 -16 -18 -18 -17 -16 -13 -10 -7 -3 -1 -1 -2 -3 -3 -3 -3 -4 -5 -6 -7 -7 -5 -4 -4 -4 -5 -5 -5 -5 -6 -7 -8 -9 -8 -7 -7 -8 -8 -9 -10 -11 -11 -10 -9 -7 -5 -3 -3 -4 -5 -5 -4 -3 -2 -1 1 1 1 -0 -2 -5 -8 -9 -9 -8 -7 -7 -8 -8 -8 -9 -8 -8 -8 -8 -9 -10 -10 -11 -14 -15 -14 -13 -12 -12 -13 -15 -16 -18 -17 -16 -16 -17 -17 -12 -5 1 5 4 -1 -6 -9 -9 -7 -4 2 6 9 9 7 6 6 5 3 -2 -4 -3 -2 -1 -3 -6 -8 -9 -9 -6 -2 4 10 17 22 21 20 17 15 13 11 8 6 3 1 -1 -2 -2 -3 -4 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -0 -0 -1 -1 -1 -2 -2 -3 -3 -3 -4 -4 -4 -4 -5 -6 -7 -8 -8 -8 -9 -11 -13 -15 -17 -19 -20 -21 -22 -21 -20 -17 -14 -12 -12 -12 -14 -15 -15 -16 -16 -16 -16 -16 -16 -15 -13 -13 -13 -13 -13 -14 -13 -13 -13 -13 -10 -5 1 5 5 4 2 1 -0 -0 -1 -1 -2 -3 -4 -6 -8 -9 -10 -10 -9 -9 -9 -9 -9 -8 -6 -4 -3 -5 -7 -10 -12 -12 -13 -13 -13 -13 -12 -12 -12 -12 -13 -14 -15 -17 -17 -18 -17 -16 -16 -16 -15 -15 -15 -15 -14 -11 -4 2 4 1 -3 -6 -8 -7 -7 -7 -9 -10 -12 -13 -14 -14 -13 -10 -7 -5 -2 -2 -3 -6 -8 -8 -8 -8 -8 -8 -9 -9 -8 -7 -7 -8 -10 -12 -11 -10 -10 -12 -14 -15 -14 -21 -13 -1 10 16 17 16 13 8 3 -1 -4 -5 -5 -4 -3 -1 1 2 2 3 4 5 7 8 11 13 15 18 22 27 34 39 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -4 -4 -5 -5 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 1 1 1 -1 -2 -3 -4 -4 -3 -4 -5 -7 -10 -14 -17 -19 -20 -19 -17 -17 -16 -13 -10 -7 -4 -4 -3 -2 -2 -1 -2 -4 -5 -7 -7 -7 -5 -4 -5 -5 -6 -5 -5 -6 -7 -9 -11 -11 -10 -8 -6 -6 -7 -8 -9 -10 -10 -10 -9 -8 -5 -4 -4 -4 -4 -4 -3 -2 -1 -0 -0 -0 -0 -1 -3 -6 -8 -9 -9 -8 -8 -8 -8 -8 -9 -10 -10 -10 -10 -10 -11 -12 -12 -13 -15 -15 -15 -12 -11 -11 -13 -15 -15 -15 -15 -15 -16 -18 -17 -13 -5 2 8 6 1 -4 -7 -9 -8 -5 -0 4 6 7 8 8 8 7 1 -4 -5 -2 -0 -1 -3 -5 -8 -11 -10 -6 -1 6 14 21 23 23 22 21 19 17 15 12 9 6 4 2 1 -1 -2 -3 -4 -5 -5 -5 -5 -4 -3 -2 -2 -1 -0 -0 1 1 1 1 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -5 -6 -6 -7 -7 -8 -9 -11 -13 -16 -18 -20 -21 -22 -22 -22 -22 -20 -17 -14 -12 -12 -12 -13 -14 -15 -16 -16 -17 -18 -18 -18 -16 -15 -14 -14 -14 -14 -14 -14 -14 -14 -13 -11 -6 -0 5 7 5 3 2 1 -0 -0 -1 -1 -2 -3 -5 -7 -9 -10 -10 -10 -10 -10 -9 -9 -9 -8 -5 -4 -4 -6 -9 -11 -12 -13 -13 -13 -13 -13 -12 -12 -12 -12 -13 -14 -16 -17 -18 -17 -17 -16 -16 -15 -15 -15 -15 -15 -14 -9 -1 5 5 -0 -4 -7 -7 -7 -7 -7 -9 -11 -12 -14 -14 -14 -12 -9 -6 -3 -1 -1 -4 -8 -9 -8 -8 -8 -9 -9 -9 -8 -7 -7 -7 -10 -12 -13 -10 -10 -11 -13 -14 -13 -18 -16 -7 4 11 14 15 14 11 5 -0 -3 -5 -5 -5 -4 -2 -0 1 1 2 3 5 6 8 10 11 13 15 18 23 30 36 -7 -6 -6 -6 -5 -5 -5 -5 -5 -4 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -1 -0 -0 -0 -0 1 1 1 1 2 2 2 4 4 4 4 3 2 2 -0 -1 -2 -3 -5 -7 -9 -11 -14 -17 -18 -19 -18 -17 -17 -16 -14 -12 -9 -7 -6 -5 -3 -1 -0 -2 -4 -5 -7 -7 -5 -5 -5 -5 -5 -6 -7 -7 -7 -8 -10 -11 -12 -10 -8 -6 -5 -5 -6 -9 -10 -10 -10 -9 -6 -5 -4 -3 -3 -4 -4 -3 -2 -1 -1 -0 -0 -0 -1 -4 -6 -8 -9 -10 -10 -9 -8 -7 -7 -8 -9 -10 -10 -11 -12 -13 -13 -13 -14 -15 -17 -15 -11 -10 -11 -13 -13 -13 -13 -13 -14 -14 -16 -16 -14 -7 3 8 7 3 -1 -6 -9 -9 -6 -1 3 5 6 7 9 9 6 -0 -3 -2 1 1 1 -1 -5 -11 -14 -11 -6 -0 7 13 17 19 22 25 25 23 22 19 16 13 10 8 6 5 3 2 -0 -1 -3 -3 -4 -4 -4 -3 -2 -1 -0 1 1 1 1 1 1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -4 -5 -6 -6 -7 -7 -7 -8 -10 -13 -16 -19 -21 -22 -22 -23 -22 -22 -21 -19 -16 -14 -12 -12 -12 -12 -12 -13 -14 -14 -16 -17 -19 -19 -18 -17 -16 -15 -15 -15 -15 -14 -14 -14 -13 -12 -9 -2 5 8 7 5 3 2 1 1 -0 -1 -1 -2 -4 -6 -8 -10 -11 -11 -11 -10 -9 -9 -9 -9 -7 -5 -4 -5 -7 -10 -11 -13 -13 -13 -13 -13 -12 -12 -12 -11 -11 -12 -14 -16 -17 -18 -17 -17 -16 -15 -15 -15 -15 -15 -15 -13 -6 3 7 3 -1 -5 -8 -7 -7 -7 -7 -9 -11 -13 -14 -14 -13 -11 -8 -4 -1 -0 -2 -6 -8 -9 -9 -9 -9 -9 -10 -9 -8 -7 -6 -8 -12 -14 -11 -10 -11 -13 -14 -13 -14 -15 -12 -0 6 10 12 13 12 8 2 -2 -4 -5 -5 -4 -3 -1 -0 -0 1 2 4 5 7 9 10 12 13 15 19 25 32 -8 -7 -6 -5 -4 -3 -3 -3 -4 -4 -6 -6 -6 -6 -5 -5 -5 -4 -3 -2 -1 -0 -0 -0 -0 -0 1 2 2 1 1 1 2 2 3 3 4 4 5 6 6 6 5 5 4 2 1 -2 -4 -5 -7 -9 -12 -14 -16 -17 -17 -17 -17 -16 -16 -15 -12 -10 -8 -7 -6 -3 -1 -1 -2 -3 -5 -6 -5 -4 -4 -4 -4 -5 -7 -8 -8 -8 -9 -10 -11 -11 -10 -8 -6 -4 -4 -7 -9 -10 -10 -9 -7 -4 -3 -3 -3 -4 -5 -5 -4 -2 -1 -1 -0 -0 -1 -3 -5 -7 -9 -11 -11 -12 -10 -7 -6 -6 -7 -9 -10 -11 -12 -14 -14 -13 -13 -14 -17 -17 -14 -11 -9 -10 -11 -11 -12 -12 -12 -13 -13 -15 -17 -16 -11 -1 6 7 5 1 -5 -10 -10 -6 -0 3 3 4 7 9 9 5 1 -0 -0 -0 1 2 -1 -7 -15 -16 -12 -6 1 8 12 16 21 27 29 28 28 26 24 21 18 15 12 11 9 7 5 4 2 1 -0 -1 -1 -1 -1 -0 -0 1 2 2 2 1 1 -0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -4 -5 -6 -6 -7 -7 -7 -7 -9 -12 -16 -19 -21 -23 -23 -22 -22 -21 -20 -19 -18 -16 -15 -13 -12 -11 -10 -10 -11 -11 -13 -14 -16 -17 -18 -19 -19 -18 -17 -17 -16 -15 -14 -13 -14 -13 -13 -10 -5 3 9 9 7 5 4 2 2 1 -0 -1 -1 -3 -5 -7 -9 -10 -11 -11 -11 -10 -10 -10 -10 -9 -8 -5 -4 -5 -7 -10 -12 -12 -13 -13 -13 -13 -13 -12 -11 -11 -11 -13 -14 -16 -17 -17 -17 -16 -15 -15 -15 -15 -15 -15 -15 -12 -2 6 6 2 -3 -7 -7 -7 -6 -6 -7 -9 -12 -13 -14 -14 -11 -9 -6 -2 1 -1 -5 -8 -9 -9 -9 -9 -9 -9 -9 -9 -7 -6 -7 -10 -14 -12 -10 -10 -12 -14 -13 -12 -13 -14 -4 3 6 7 9 11 9 4 -1 -4 -5 -5 -5 -4 -2 -0 -0 -0 1 2 4 6 7 9 10 12 13 16 20 27 -9 -7 -6 -4 -4 -3 -3 -3 -4 -5 -6 -6 -6 -5 -5 -6 -6 -6 -5 -4 -2 -2 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 1 1 3 4 5 6 6 6 5 5 4 3 -1 -3 -5 -6 -8 -9 -11 -12 -14 -15 -15 -15 -16 -16 -16 -14 -11 -9 -8 -8 -6 -5 -3 -2 -2 -3 -4 -4 -4 -3 -3 -3 -4 -6 -7 -8 -8 -8 -9 -10 -10 -10 -9 -7 -6 -5 -5 -7 -9 -9 -9 -7 -5 -4 -3 -2 -3 -5 -6 -5 -4 -2 -1 -0 -1 -2 -3 -4 -6 -8 -10 -12 -13 -11 -8 -6 -4 -5 -6 -9 -11 -12 -13 -13 -13 -12 -12 -14 -17 -17 -13 -9 -8 -10 -10 -11 -11 -11 -11 -12 -13 -16 -17 -17 -11 -4 4 7 8 2 -5 -11 -11 -5 1 3 3 2 5 8 8 5 2 -0 -2 -2 1 3 -0 -10 -17 -17 -13 -5 4 10 15 20 25 29 30 32 33 31 29 26 23 20 18 16 14 12 10 8 7 6 4 3 3 2 1 1 2 3 3 3 2 1 1 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -5 -5 -6 -6 -7 -6 -6 -6 -7 -10 -14 -18 -21 -23 -23 -22 -21 -20 -19 -18 -17 -17 -16 -16 -15 -13 -11 -10 -9 -9 -9 -10 -12 -13 -15 -16 -17 -18 -19 -18 -18 -16 -14 -13 -13 -14 -14 -13 -12 -9 -0 8 11 9 7 5 4 3 2 1 -0 -1 -2 -4 -5 -8 -9 -11 -11 -11 -11 -10 -10 -10 -11 -10 -8 -5 -4 -5 -7 -10 -11 -12 -13 -13 -13 -13 -12 -11 -11 -11 -11 -13 -15 -16 -17 -17 -16 -16 -15 -15 -15 -15 -15 -15 -15 -9 2 7 5 -1 -6 -8 -7 -6 -6 -5 -8 -10 -12 -13 -14 -11 -9 -6 -4 -1 -0 -4 -7 -9 -10 -10 -9 -9 -8 -10 -9 -7 -6 -5 -7 -12 -13 -11 -9 -11 -13 -14 -12 -12 -12 -6 1 2 2 3 7 7 5 -0 -4 -5 -5 -5 -4 -4 -2 -1 -1 -1 1 3 5 6 7 8 10 12 14 17 22 -10 -8 -6 -5 -6 -5 -4 -3 -3 -3 -3 -2 -2 -3 -4 -5 -5 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -4 -4 -3 -1 2 3 4 5 5 5 5 5 4 1 -2 -4 -6 -7 -8 -9 -11 -12 -13 -14 -14 -14 -15 -15 -14 -12 -10 -8 -8 -8 -7 -6 -4 -3 -2 -3 -3 -3 -3 -2 -2 -3 -4 -5 -7 -7 -8 -9 -9 -8 -8 -8 -8 -7 -6 -6 -6 -6 -7 -8 -8 -7 -5 -3 -2 -2 -3 -5 -6 -6 -5 -3 -1 -1 -3 -4 -4 -5 -7 -9 -11 -13 -12 -10 -7 -4 -3 -4 -6 -9 -11 -12 -11 -12 -12 -12 -13 -16 -18 -16 -12 -9 -8 -9 -10 -10 -10 -10 -11 -12 -14 -15 -17 -16 -11 -5 1 7 7 2 -5 -10 -11 -4 2 4 2 2 5 7 8 5 2 -3 -4 -1 3 5 -2 -11 -17 -18 -13 -5 6 14 19 21 23 26 31 34 37 36 33 30 28 26 23 21 19 17 15 14 12 10 9 8 7 7 6 6 5 4 3 2 1 1 1 1 -0 -0 -1 -1 -2 -2 -2 -2 -3 -4 -5 -6 -6 -6 -7 -7 -6 -6 -6 -9 -13 -17 -21 -23 -23 -22 -19 -18 -16 -15 -15 -15 -15 -16 -16 -16 -14 -12 -11 -9 -8 -8 -8 -9 -10 -11 -13 -15 -17 -18 -18 -18 -16 -15 -13 -13 -13 -14 -14 -13 -12 -5 5 10 11 9 6 5 4 3 2 1 -0 -1 -3 -4 -6 -8 -10 -11 -12 -12 -11 -10 -10 -11 -11 -10 -7 -4 -3 -4 -7 -9 -11 -12 -13 -13 -13 -13 -12 -11 -11 -11 -11 -13 -15 -16 -16 -17 -16 -15 -15 -15 -14 -14 -15 -15 -13 -5 4 7 2 -4 -7 -8 -7 -5 -5 -6 -9 -11 -12 -12 -11 -8 -6 -5 -5 -4 -4 -7 -10 -12 -11 -11 -9 -7 -9 -9 -8 -6 -4 -4 -9 -13 -12 -9 -10 -13 -14 -13 -11 -10 -7 -1 1 -0 -2 -2 2 3 1 -4 -5 -5 -5 -5 -5 -4 -3 -3 -2 -0 1 3 4 5 7 9 10 11 14 18 -12 -11 -10 -9 -7 -6 -5 -5 -4 -2 -2 -1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -8 -8 -8 -7 -7 -6 -6 -4 -1 1 3 4 5 5 5 5 5 3 -0 -2 -4 -6 -7 -9 -10 -12 -12 -13 -13 -14 -14 -14 -14 -12 -10 -8 -6 -7 -7 -7 -6 -5 -4 -3 -3 -3 -2 -1 -1 -1 -2 -4 -6 -7 -8 -9 -9 -8 -7 -6 -7 -8 -9 -9 -7 -5 -5 -7 -9 -9 -8 -6 -3 -2 -2 -4 -6 -7 -7 -5 -2 -1 -2 -3 -4 -4 -5 -7 -10 -12 -12 -11 -9 -5 -2 -2 -3 -6 -9 -11 -11 -11 -12 -12 -13 -15 -18 -18 -15 -11 -8 -8 -9 -10 -10 -9 -10 -11 -13 -14 -16 -16 -14 -10 -7 -2 3 6 3 -3 -9 -9 -4 1 3 2 4 5 6 6 4 1 -3 -4 -1 5 5 -1 -10 -16 -19 -16 -4 8 15 17 16 17 21 27 34 39 39 36 34 32 30 28 26 24 23 21 19 17 16 14 13 12 11 10 9 7 5 4 3 2 1 1 1 -0 -1 -1 -2 -2 -2 -3 -3 -5 -6 -7 -7 -7 -7 -7 -6 -6 -8 -11 -16 -20 -23 -23 -22 -18 -15 -14 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -12 -11 -9 -8 -8 -8 -8 -8 -9 -11 -13 -16 -17 -17 -16 -15 -13 -13 -13 -13 -14 -14 -13 -10 -1 8 12 11 9 7 6 5 4 3 2 1 -1 -3 -4 -7 -9 -11 -12 -13 -12 -11 -11 -11 -11 -12 -10 -7 -3 -2 -4 -7 -9 -11 -13 -13 -13 -13 -13 -12 -12 -11 -11 -11 -14 -15 -16 -16 -16 -15 -15 -15 -14 -14 -14 -14 -14 -10 -2 6 5 -1 -6 -7 -7 -5 -5 -6 -8 -10 -11 -11 -11 -10 -8 -7 -9 -9 -8 -9 -13 -14 -14 -13 -10 -7 -8 -9 -9 -7 -5 -3 -5 -11 -13 -10 -8 -12 -14 -13 -11 -10 -7 -3 -1 -1 -2 -4 -4 -2 -1 -3 -5 -6 -5 -5 -6 -5 -5 -4 -3 -1 1 2 3 4 5 6 7 9 11 14 -15 -14 -12 -10 -9 -8 -7 -6 -4 -2 -2 -1 -1 -2 -3 -4 -5 -5 -4 -4 -5 -4 -3 -3 -4 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -5 -4 -2 1 3 4 5 5 5 5 4 2 -0 -2 -4 -6 -8 -9 -11 -12 -12 -13 -13 -13 -14 -14 -12 -10 -8 -6 -5 -6 -6 -7 -7 -7 -6 -5 -3 -1 -1 -0 -1 -1 -3 -5 -5 -7 -8 -9 -9 -7 -5 -5 -7 -9 -10 -8 -6 -5 -6 -9 -11 -11 -9 -6 -3 -1 -2 -4 -6 -7 -7 -4 -2 -0 -1 -3 -3 -4 -6 -8 -10 -12 -12 -10 -7 -4 -2 -2 -3 -5 -9 -10 -10 -10 -11 -12 -14 -16 -17 -16 -13 -10 -9 -9 -10 -9 -8 -9 -10 -11 -13 -15 -16 -15 -12 -11 -10 -5 1 5 4 -3 -8 -8 -4 1 2 3 4 5 5 4 2 -1 -4 -4 -1 2 2 -2 -9 -16 -21 -17 -5 6 14 14 10 8 11 21 35 40 40 39 36 35 33 32 31 29 27 26 24 22 20 19 17 16 14 13 11 9 6 5 4 3 2 1 -0 -1 -1 -2 -2 -2 -3 -4 -5 -6 -7 -8 -8 -8 -8 -7 -8 -10 -14 -19 -22 -24 -23 -19 -15 -12 -12 -12 -12 -12 -11 -11 -12 -12 -12 -12 -12 -12 -11 -11 -10 -9 -9 -8 -7 -6 -7 -9 -12 -14 -16 -16 -15 -14 -13 -13 -13 -14 -15 -14 -13 -7 2 10 13 11 10 8 6 5 4 4 2 1 -1 -2 -5 -8 -10 -12 -13 -12 -12 -11 -11 -11 -11 -12 -10 -6 -2 -2 -4 -7 -10 -12 -12 -13 -14 -13 -13 -13 -11 -10 -10 -12 -13 -15 -16 -16 -15 -15 -15 -14 -14 -14 -14 -14 -13 -8 1 6 2 -3 -7 -7 -6 -5 -7 -9 -12 -11 -12 -14 -14 -12 -11 -10 -11 -12 -14 -17 -18 -17 -16 -13 -8 -6 -8 -9 -9 -6 -3 -2 -7 -12 -12 -8 -10 -13 -13 -13 -10 -8 -5 -3 -2 1 2 -1 -3 -4 -3 -5 -6 -6 -5 -6 -7 -7 -6 -4 -1 1 2 3 3 3 3 5 6 8 10 -15 -14 -13 -12 -11 -8 -5 -3 -2 -1 -1 -0 -0 -1 -3 -5 -6 -6 -5 -5 -5 -4 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -5 -5 -6 -6 -6 -5 -2 -0 1 3 3 4 4 4 4 2 1 -2 -3 -6 -7 -9 -11 -11 -12 -13 -13 -14 -14 -13 -11 -9 -6 -5 -5 -5 -6 -8 -9 -9 -7 -5 -2 -0 -0 -0 -1 -2 -3 -4 -5 -7 -8 -10 -9 -7 -5 -6 -8 -10 -10 -8 -5 -4 -8 -10 -11 -11 -9 -6 -2 -0 -1 -4 -7 -8 -7 -5 -2 -0 -0 -1 -3 -4 -7 -8 -10 -11 -10 -7 -6 -3 -2 -1 -2 -6 -8 -8 -9 -9 -11 -13 -15 -16 -16 -14 -12 -11 -10 -10 -10 -8 -8 -8 -9 -10 -13 -16 -15 -14 -12 -12 -10 -6 -0 4 2 -4 -8 -7 -3 -0 2 4 5 6 5 2 -1 -3 -4 -4 -2 -3 -4 -5 -10 -16 -19 -18 -11 -0 7 8 5 2 4 16 31 39 41 40 38 37 36 35 34 33 31 30 28 26 24 23 21 20 18 16 13 11 9 7 5 4 3 2 1 -0 -1 -1 -2 -3 -4 -5 -6 -8 -9 -10 -10 -9 -9 -11 -13 -17 -22 -24 -24 -21 -16 -12 -11 -11 -12 -12 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -9 -10 -10 -11 -10 -8 -6 -5 -5 -7 -10 -12 -14 -15 -15 -14 -12 -12 -13 -14 -15 -14 -12 -6 4 12 14 12 10 8 7 6 5 4 3 2 -0 -3 -5 -8 -11 -12 -13 -12 -12 -11 -11 -11 -12 -12 -10 -6 -2 -2 -4 -7 -10 -12 -13 -14 -14 -14 -14 -13 -11 -10 -10 -11 -13 -14 -15 -15 -15 -15 -14 -14 -14 -13 -14 -14 -11 -6 3 3 -1 -6 -9 -10 -9 -9 -12 -13 -12 -14 -16 -17 -16 -14 -10 -9 -10 -14 -17 -19 -20 -20 -18 -12 -7 -8 -9 -10 -8 -4 -2 -3 -8 -14 -8 -9 -11 -14 -14 -11 -9 -7 -6 -5 -0 6 7 4 -0 -2 -5 -7 -7 -6 -5 -8 -8 -7 -5 -2 1 3 3 2 2 2 3 4 5 6 -13 -12 -11 -9 -6 -2 -0 1 -0 -0 -1 -0 -1 -3 -4 -6 -7 -8 -7 -7 -7 -6 -3 -2 -1 -0 1 1 1 -0 -0 -1 -1 -1 -2 -3 -4 -5 -6 -6 -5 -3 -2 -1 -0 1 2 3 3 2 1 -1 -2 -4 -6 -7 -9 -10 -10 -10 -11 -12 -14 -13 -12 -10 -8 -6 -5 -5 -6 -7 -10 -10 -9 -7 -4 -1 -0 -0 -0 -1 -1 -2 -3 -5 -7 -9 -9 -9 -8 -8 -8 -10 -11 -9 -6 -4 -7 -9 -10 -11 -11 -10 -5 -2 -1 -2 -4 -7 -8 -7 -4 -0 1 1 -0 -2 -4 -7 -10 -11 -10 -8 -7 -5 -3 -1 -1 -4 -7 -8 -7 -6 -8 -12 -14 -15 -15 -15 -14 -13 -13 -13 -12 -9 -6 -6 -7 -8 -11 -14 -15 -15 -13 -12 -11 -10 -7 -2 2 -1 -4 -6 -5 -3 -0 3 5 6 6 3 -0 -2 -4 -5 -4 -5 -5 -4 -5 -9 -13 -16 -17 -13 -3 7 10 7 -0 -1 10 23 35 42 41 39 38 37 37 36 35 34 32 31 30 28 26 25 23 20 18 16 13 11 9 8 6 4 3 2 -0 -1 -2 -3 -4 -5 -7 -9 -10 -11 -11 -11 -12 -14 -17 -20 -24 -25 -24 -20 -13 -10 -10 -11 -12 -12 -11 -11 -11 -11 -11 -10 -10 -9 -9 -8 -8 -8 -9 -10 -11 -11 -9 -6 -4 -4 -5 -8 -11 -14 -15 -14 -12 -12 -12 -13 -15 -15 -14 -11 -4 6 13 14 13 11 10 8 7 7 6 4 2 -0 -3 -6 -10 -12 -12 -13 -13 -12 -11 -11 -11 -12 -12 -11 -6 -2 -2 -4 -7 -11 -13 -14 -15 -15 -15 -14 -12 -11 -10 -10 -12 -13 -14 -15 -15 -15 -14 -14 -14 -13 -13 -13 -12 -10 -3 1 -1 -7 -13 -15 -14 -14 -14 -14 -14 -17 -19 -19 -18 -16 -12 -9 -8 -11 -16 -18 -20 -21 -21 -18 -11 -8 -9 -11 -10 -7 -3 -1 -3 -12 -8 -8 -10 -13 -15 -12 -10 -9 -9 -9 -5 3 9 9 4 -1 -4 -6 -7 -6 -4 -7 -9 -9 -7 -3 1 3 3 2 1 -0 -0 1 3 3 -10 -9 -6 -3 -0 2 2 1 -0 -1 -3 -3 -4 -5 -6 -7 -8 -8 -8 -8 -8 -8 -6 -5 -4 -3 -2 -1 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -4 -5 -5 -4 -3 -2 -2 -2 -2 -1 -0 -0 -1 -2 -3 -4 -4 -6 -7 -8 -8 -9 -9 -10 -12 -13 -12 -11 -9 -7 -5 -5 -5 -6 -8 -9 -9 -8 -5 -3 -1 -0 1 1 1 -0 -2 -4 -6 -8 -9 -10 -10 -10 -10 -10 -10 -7 -5 -4 -6 -8 -8 -9 -11 -11 -8 -4 -2 -1 -2 -6 -8 -8 -6 -2 2 3 2 1 -1 -4 -8 -10 -10 -8 -7 -7 -6 -4 -2 -2 -4 -6 -6 -4 -4 -8 -11 -13 -14 -15 -15 -14 -14 -15 -14 -11 -7 -5 -5 -7 -8 -10 -13 -16 -17 -14 -11 -10 -10 -8 -3 -1 -2 -4 -5 -6 -3 -0 3 6 8 6 3 -0 -3 -5 -5 -5 -5 -5 -5 -7 -9 -12 -16 -19 -13 -4 4 9 6 -0 -0 7 19 32 41 42 41 39 38 39 37 36 35 34 33 32 31 29 27 25 23 21 18 16 14 12 10 8 6 4 2 1 -1 -2 -4 -5 -7 -9 -10 -11 -12 -12 -14 -16 -18 -22 -26 -27 -25 -20 -13 -9 -9 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -8 -8 -8 -9 -10 -12 -12 -11 -10 -7 -4 -3 -4 -7 -10 -12 -13 -13 -12 -12 -12 -13 -14 -15 -14 -11 -3 7 13 14 13 11 10 10 9 8 7 5 3 -0 -4 -7 -10 -12 -13 -13 -13 -13 -12 -11 -12 -13 -13 -11 -6 -2 -2 -5 -9 -12 -14 -15 -15 -15 -15 -14 -12 -10 -9 -10 -11 -12 -14 -14 -15 -14 -14 -14 -14 -13 -12 -12 -12 -10 -7 -6 -9 -14 -15 -14 -13 -15 -15 -16 -19 -21 -22 -20 -16 -15 -13 -12 -13 -16 -17 -18 -19 -21 -20 -17 -12 -9 -12 -12 -10 -6 -2 -0 -6 -8 -7 -8 -13 -16 -15 -12 -11 -12 -13 -12 -4 6 10 6 1 -4 -6 -7 -7 -4 -5 -8 -12 -9 -4 1 3 4 2 -0 -1 -1 -0 2 2 -7 -5 -3 -1 1 1 -0 -2 -3 -5 -6 -7 -7 -7 -7 -8 -9 -9 -9 -8 -7 -7 -8 -8 -7 -8 -8 -7 -6 -5 -6 -5 -5 -5 -5 -4 -3 -3 -4 -4 -5 -4 -3 -3 -3 -3 -3 -2 -2 -1 -1 -2 -3 -4 -5 -6 -7 -8 -8 -8 -9 -10 -11 -11 -11 -11 -10 -7 -5 -5 -5 -5 -6 -8 -9 -8 -6 -4 -2 -1 -0 1 1 2 -0 -2 -4 -6 -8 -9 -10 -12 -13 -13 -11 -7 -2 -1 -5 -7 -7 -8 -10 -10 -10 -8 -4 -2 -1 -4 -7 -8 -7 -4 1 3 4 3 2 -1 -5 -8 -9 -8 -7 -8 -9 -9 -7 -3 -3 -5 -6 -4 -1 -4 -8 -11 -12 -14 -14 -14 -14 -15 -15 -14 -11 -8 -6 -6 -6 -6 -10 -15 -19 -18 -12 -9 -10 -12 -8 -4 -2 -2 -4 -6 -5 -3 -1 3 7 7 6 3 -1 -4 -5 -5 -5 -4 -5 -5 -6 -9 -14 -20 -19 -14 -6 2 7 5 2 2 7 16 26 33 39 41 42 41 40 38 37 36 36 35 34 33 32 30 28 26 24 21 19 17 14 12 10 7 4 2 -0 -2 -3 -5 -6 -8 -10 -11 -12 -13 -14 -16 -19 -22 -25 -28 -27 -22 -15 -9 -8 -8 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -10 -10 -11 -12 -12 -12 -11 -11 -9 -5 -3 -4 -6 -9 -11 -12 -12 -12 -12 -12 -14 -14 -14 -13 -10 -1 8 14 14 13 12 12 11 10 10 8 6 3 -1 -4 -8 -11 -13 -14 -14 -14 -13 -12 -12 -13 -13 -13 -10 -6 -3 -3 -6 -10 -13 -14 -15 -15 -15 -15 -14 -11 -9 -8 -9 -10 -12 -13 -14 -14 -14 -14 -13 -13 -12 -11 -12 -14 -13 -11 -11 -13 -15 -14 -14 -16 -16 -17 -19 -22 -23 -20 -17 -17 -17 -16 -16 -16 -16 -17 -19 -22 -21 -19 -14 -11 -12 -13 -13 -9 -5 -0 -1 -7 -9 -8 -12 -18 -19 -17 -15 -15 -17 -17 -9 3 10 8 2 -3 -6 -8 -7 -3 -1 -4 -11 -10 -5 -0 3 4 2 -0 -1 -1 -1 1 1 -5 -3 -2 -2 -2 -2 -4 -5 -7 -8 -8 -8 -7 -7 -7 -7 -8 -9 -9 -8 -8 -7 -7 -7 -7 -7 -8 -8 -7 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -3 -3 -3 -3 -4 -3 -2 -2 -2 -2 -2 -4 -5 -6 -7 -7 -7 -8 -8 -10 -10 -10 -11 -11 -10 -7 -5 -4 -4 -5 -5 -6 -8 -8 -7 -5 -4 -3 -1 -0 1 2 1 -0 -1 -4 -7 -9 -11 -13 -15 -17 -15 -10 -3 2 -0 -4 -5 -5 -7 -8 -10 -10 -7 -4 -1 -2 -5 -7 -7 -5 -1 2 4 4 3 2 -1 -5 -7 -8 -6 -7 -10 -11 -11 -7 -5 -6 -6 -5 -1 -0 -2 -6 -10 -12 -14 -13 -13 -14 -15 -14 -12 -11 -9 -8 -7 -6 -7 -10 -16 -19 -16 -11 -9 -11 -10 -7 -4 -4 -4 -4 -5 -5 -4 -3 1 5 6 6 3 -1 -4 -4 -3 -2 -3 -4 -5 -7 -12 -18 -20 -19 -14 -7 -0 3 3 2 5 11 20 28 34 40 44 44 43 42 40 39 38 37 37 36 35 34 32 31 29 26 24 22 19 17 14 11 8 5 2 -0 -1 -3 -5 -7 -9 -10 -12 -13 -14 -16 -18 -21 -24 -27 -28 -26 -19 -12 -8 -6 -6 -7 -8 -8 -8 -8 -9 -9 -9 -9 -9 -10 -10 -11 -11 -12 -13 -12 -12 -12 -12 -12 -10 -7 -3 -2 -4 -7 -10 -11 -12 -12 -11 -12 -13 -14 -13 -13 -8 -0 8 13 13 13 13 13 13 12 11 9 6 3 -1 -5 -9 -12 -13 -14 -14 -14 -13 -12 -12 -13 -13 -12 -10 -6 -3 -4 -7 -11 -13 -14 -14 -15 -15 -15 -13 -10 -8 -7 -8 -10 -12 -12 -13 -14 -13 -13 -13 -12 -11 -11 -15 -16 -14 -12 -13 -13 -12 -14 -17 -17 -17 -17 -18 -19 -18 -18 -19 -19 -18 -17 -16 -16 -16 -18 -21 -21 -20 -18 -16 -14 -15 -15 -13 -9 -4 -0 -7 -11 -10 -13 -20 -21 -19 -17 -18 -21 -22 -14 -1 8 8 3 -2 -6 -8 -7 -2 2 1 -6 -11 -7 -2 1 2 1 -0 -1 -2 -2 -0 1 -4 -4 -4 -4 -4 -5 -5 -6 -7 -8 -10 -10 -10 -9 -8 -8 -10 -10 -9 -9 -9 -9 -9 -8 -8 -7 -7 -6 -5 -5 -5 -4 -5 -5 -6 -6 -5 -5 -5 -5 -6 -6 -5 -5 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -4 -5 -6 -7 -7 -7 -8 -10 -10 -10 -10 -10 -9 -8 -6 -5 -4 -4 -5 -5 -7 -7 -7 -5 -4 -4 -3 -2 -1 1 2 2 -0 -3 -6 -9 -12 -14 -17 -19 -19 -16 -8 1 4 -1 -2 -2 -2 -4 -8 -10 -9 -6 -3 -2 -3 -5 -6 -5 -3 -0 3 4 4 3 1 -2 -5 -6 -5 -6 -8 -11 -12 -11 -9 -8 -8 -8 -4 -0 -0 -2 -6 -10 -12 -12 -12 -13 -13 -13 -12 -12 -11 -10 -10 -9 -8 -8 -11 -16 -17 -15 -12 -10 -9 -7 -6 -5 -4 -4 -4 -5 -5 -4 -3 -0 3 6 6 3 -0 -1 -1 -0 -0 -3 -5 -7 -10 -15 -18 -20 -18 -13 -8 -4 -2 1 4 9 18 27 35 40 45 47 46 45 44 42 41 40 39 39 38 36 35 34 32 30 29 26 24 22 18 15 12 8 6 3 2 -1 -3 -5 -7 -9 -11 -12 -14 -15 -17 -20 -23 -26 -28 -28 -24 -17 -10 -6 -4 -5 -5 -5 -5 -5 -6 -7 -7 -7 -8 -9 -10 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -11 -8 -4 -1 -3 -7 -10 -12 -12 -11 -11 -12 -13 -13 -13 -12 -8 -1 9 12 12 12 13 14 14 13 12 9 7 3 -2 -6 -10 -12 -13 -14 -15 -14 -13 -12 -12 -12 -12 -11 -9 -5 -4 -5 -9 -12 -14 -14 -14 -15 -15 -14 -12 -9 -7 -7 -8 -10 -11 -12 -13 -13 -13 -13 -12 -11 -11 -14 -17 -18 -14 -10 -9 -10 -13 -18 -19 -18 -17 -15 -13 -15 -19 -21 -20 -18 -17 -16 -15 -15 -16 -19 -18 -19 -19 -18 -18 -19 -18 -15 -13 -12 -5 -8 -13 -14 -16 -20 -20 -19 -18 -20 -23 -22 -19 -14 -0 5 3 -1 -6 -9 -7 -2 4 6 2 -9 -8 -3 -0 -0 -0 -1 -2 -2 -3 -3 -2 -5 -5 -4 -5 -5 -6 -6 -7 -8 -10 -11 -11 -11 -10 -9 -9 -12 -14 -12 -11 -11 -12 -12 -11 -10 -9 -8 -5 -3 -3 -2 -2 -3 -4 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -6 -6 -5 -5 -5 -5 -5 -4 -2 -2 -2 -3 -5 -6 -6 -7 -8 -10 -10 -10 -10 -9 -8 -7 -7 -5 -4 -4 -4 -5 -6 -7 -7 -6 -4 -3 -2 -2 -1 -1 1 1 -0 -2 -6 -9 -12 -15 -18 -21 -21 -21 -16 -7 2 1 1 2 3 3 -4 -8 -10 -9 -6 -3 -3 -4 -5 -5 -4 -1 2 4 4 4 2 -0 -2 -4 -4 -4 -5 -7 -11 -13 -13 -11 -11 -10 -8 -4 -1 -1 -4 -8 -10 -11 -11 -11 -12 -12 -12 -12 -12 -12 -13 -14 -14 -12 -9 -11 -16 -17 -14 -11 -9 -7 -6 -6 -5 -4 -5 -5 -4 -4 -4 -3 -1 1 4 5 2 -0 -0 1 1 -1 -3 -6 -9 -13 -17 -19 -18 -15 -12 -10 -9 -6 -1 5 16 28 38 46 50 51 50 49 47 45 44 43 42 41 40 40 38 37 35 34 31 30 28 26 23 20 17 13 10 8 5 2 -0 -3 -6 -8 -10 -12 -13 -15 -17 -19 -21 -24 -26 -28 -26 -21 -14 -8 -4 -4 -3 -2 -2 -2 -2 -3 -4 -5 -6 -8 -9 -10 -10 -10 -10 -11 -12 -12 -12 -12 -12 -12 -11 -8 -2 -1 -3 -7 -11 -12 -12 -11 -11 -11 -12 -12 -12 -12 -9 -1 7 9 10 10 13 15 15 15 13 11 7 2 -3 -8 -12 -13 -14 -14 -14 -14 -12 -11 -10 -11 -11 -10 -8 -5 -4 -6 -10 -13 -14 -14 -14 -14 -15 -13 -10 -7 -6 -7 -8 -9 -11 -12 -12 -12 -12 -12 -11 -10 -12 -16 -19 -14 -8 -6 -9 -14 -18 -19 -18 -17 -15 -12 -13 -19 -21 -21 -19 -17 -16 -15 -14 -15 -17 -17 -18 -19 -18 -18 -21 -22 -21 -19 -20 -14 -12 -15 -17 -18 -20 -19 -18 -17 -21 -23 -21 -17 -15 -15 -5 1 -1 -6 -9 -9 -4 3 9 7 -3 -7 -5 2 4 2 -1 -3 -3 -4 -7 -7 -5 -5 -6 -6 -6 -6 -7 -7 -9 -11 -12 -13 -12 -11 -10 -10 -12 -14 -14 -13 -14 -16 -16 -15 -13 -13 -11 -8 -3 -1 -0 -0 -1 -2 -3 -5 -5 -6 -6 -5 -6 -6 -7 -7 -8 -8 -8 -7 -7 -7 -6 -5 -4 -2 -2 -2 -3 -4 -6 -7 -8 -10 -11 -11 -10 -9 -7 -7 -7 -6 -5 -4 -4 -4 -5 -6 -7 -6 -5 -3 -2 -2 -2 -2 -2 -1 -0 -1 -4 -8 -12 -15 -18 -21 -22 -21 -18 -13 -6 -2 -1 1 5 9 5 -2 -8 -11 -10 -6 -3 -3 -4 -4 -4 -2 1 4 4 4 3 1 -1 -4 -4 -2 -1 -3 -7 -12 -15 -14 -12 -11 -9 -7 -5 -3 -4 -6 -9 -9 -9 -9 -11 -11 -12 -12 -12 -13 -15 -17 -19 -19 -13 -9 -12 -15 -15 -12 -10 -8 -7 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -2 1 4 4 5 4 3 2 2 -0 -4 -8 -12 -16 -18 -18 -17 -14 -13 -14 -14 -11 -6 7 22 35 46 53 55 54 52 50 48 47 46 45 44 43 42 41 39 38 36 35 33 31 29 27 24 21 18 14 11 9 6 3 -1 -4 -6 -9 -11 -13 -15 -16 -18 -19 -21 -24 -26 -26 -22 -17 -10 -7 -5 -4 -3 -1 -0 -0 -0 -1 -2 -4 -5 -6 -8 -8 -9 -9 -10 -11 -12 -13 -13 -12 -12 -12 -11 -8 -3 -1 -3 -8 -11 -12 -11 -10 -10 -10 -11 -12 -12 -12 -11 -1 5 8 8 9 12 15 16 16 14 10 6 1 -4 -9 -12 -13 -14 -14 -15 -13 -11 -10 -9 -10 -10 -9 -7 -5 -4 -8 -11 -13 -14 -13 -14 -14 -14 -12 -9 -6 -5 -6 -8 -10 -11 -12 -12 -12 -12 -12 -10 -10 -13 -16 -13 -12 -12 -13 -15 -17 -18 -19 -18 -16 -14 -14 -18 -21 -20 -18 -17 -15 -14 -13 -15 -17 -17 -18 -19 -19 -18 -20 -23 -25 -25 -22 -18 -16 -16 -19 -18 -17 -16 -16 -15 -20 -21 -20 -17 -13 -18 -14 -8 -4 -6 -10 -10 -6 1 9 10 4 -4 -8 -4 -1 -2 -4 -4 -5 -8 -12 -13 -5 -6 -6 -6 -7 -7 -7 -8 -9 -10 -12 -14 -14 -14 -12 -11 -12 -13 -14 -15 -16 -20 -20 -18 -17 -17 -17 -14 -8 -3 1 2 -0 -1 -3 -4 -5 -6 -6 -5 -5 -6 -7 -7 -7 -8 -8 -7 -7 -7 -6 -5 -5 -4 -4 -3 -2 -3 -4 -6 -8 -10 -11 -11 -10 -9 -7 -6 -6 -6 -6 -5 -4 -4 -4 -5 -6 -6 -6 -3 -2 -0 -0 -2 -2 -2 -2 -2 -3 -6 -10 -13 -16 -20 -22 -21 -18 -15 -11 -6 -4 -3 -0 6 10 6 -2 -9 -11 -8 -5 -4 -4 -4 -3 -1 1 3 3 3 3 1 -1 -4 -4 -2 1 1 -2 -8 -14 -15 -14 -11 -8 -7 -6 -5 -5 -6 -9 -9 -8 -8 -9 -11 -11 -11 -12 -15 -17 -19 -22 -23 -20 -12 -10 -11 -13 -12 -10 -8 -7 -6 -7 -6 -5 -5 -4 -4 -4 -4 -4 -3 -1 2 4 5 6 6 5 4 2 -2 -6 -10 -13 -15 -16 -15 -14 -14 -17 -19 -20 -19 -10 1 14 26 41 52 56 55 53 51 50 49 48 47 46 46 44 43 41 39 38 36 34 32 29 27 25 22 19 15 12 8 5 2 -1 -4 -7 -10 -12 -15 -17 -18 -19 -20 -22 -23 -24 -21 -17 -12 -9 -8 -7 -5 -3 -1 1 2 2 1 -0 -1 -3 -4 -6 -7 -8 -9 -10 -11 -12 -13 -13 -13 -12 -12 -12 -8 -3 -1 -4 -9 -12 -12 -11 -9 -9 -10 -11 -11 -11 -13 -10 -2 5 6 5 8 11 15 17 16 14 10 5 -0 -5 -10 -12 -13 -14 -15 -14 -12 -10 -9 -9 -10 -10 -8 -6 -4 -6 -9 -12 -14 -13 -12 -13 -14 -13 -10 -7 -5 -5 -7 -8 -10 -11 -11 -12 -12 -12 -11 -10 -10 -11 -12 -16 -18 -17 -16 -16 -18 -19 -18 -17 -16 -17 -19 -20 -18 -16 -17 -16 -13 -11 -15 -18 -18 -19 -20 -22 -20 -19 -20 -24 -26 -22 -20 -18 -15 -17 -17 -14 -13 -14 -12 -15 -17 -18 -18 -13 -15 -16 -14 -9 -8 -10 -12 -9 -2 8 11 8 -0 -7 -9 -9 -9 -9 -9 -10 -14 -16 -16 -6 -7 -7 -7 -7 -8 -8 -8 -8 -9 -12 -15 -16 -15 -14 -13 -12 -12 -13 -14 -16 -19 -20 -18 -18 -19 -21 -21 -16 -10 -4 -1 -1 -2 -4 -5 -6 -6 -7 -7 -8 -9 -8 -6 -7 -8 -7 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -3 -3 -5 -7 -9 -10 -9 -9 -9 -8 -6 -6 -6 -6 -6 -5 -4 -4 -4 -5 -6 -6 -4 -2 -0 1 -1 -2 -4 -5 -4 -5 -6 -9 -11 -14 -18 -21 -21 -19 -16 -14 -8 -6 -6 -5 -1 5 7 5 -1 -7 -8 -6 -5 -4 -4 -3 -1 1 2 3 3 3 2 -0 -3 -5 -3 -0 3 2 -2 -8 -13 -15 -12 -6 -4 -4 -5 -5 -6 -9 -9 -8 -7 -7 -10 -10 -11 -12 -15 -18 -19 -21 -23 -25 -18 -12 -9 -10 -12 -11 -9 -7 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -2 -0 2 5 6 8 7 7 5 2 -2 -6 -10 -14 -17 -18 -15 -14 -16 -20 -22 -22 -21 -17 -10 -0 18 38 51 57 57 54 53 52 51 50 50 49 48 46 44 42 40 38 36 34 32 30 27 25 22 18 15 11 8 5 1 -2 -5 -9 -12 -15 -17 -18 -19 -20 -21 -21 -22 -19 -15 -11 -10 -10 -10 -9 -7 -5 -2 -0 2 2 3 3 2 -0 -3 -6 -7 -8 -8 -9 -10 -11 -12 -13 -13 -13 -13 -12 -8 -3 -1 -5 -9 -12 -12 -11 -9 -8 -9 -11 -11 -11 -13 -10 -3 5 4 3 5 9 14 16 16 13 9 4 -1 -7 -10 -12 -14 -14 -14 -13 -11 -9 -8 -8 -9 -9 -7 -5 -5 -7 -10 -13 -14 -13 -12 -13 -13 -12 -9 -6 -5 -6 -7 -8 -10 -11 -12 -12 -12 -12 -12 -11 -11 -12 -16 -18 -17 -16 -16 -18 -19 -18 -17 -16 -17 -19 -20 -18 -18 -18 -18 -15 -14 -16 -18 -19 -21 -23 -25 -24 -21 -19 -21 -24 -23 -22 -19 -14 -14 -16 -16 -14 -14 -9 -9 -13 -17 -18 -13 -12 -13 -15 -14 -13 -12 -13 -12 -6 4 10 9 2 -4 -9 -13 -13 -12 -14 -15 -18 -19 -16 -6 -7 -7 -8 -8 -9 -9 -9 -8 -9 -11 -14 -15 -15 -14 -13 -13 -13 -13 -12 -11 -10 -12 -12 -12 -15 -19 -20 -18 -13 -7 -2 -2 -2 -3 -3 -4 -5 -5 -7 -8 -9 -8 -7 -7 -8 -7 -7 -7 -7 -7 -7 -6 -5 -5 -5 -5 -4 -3 -4 -6 -8 -9 -8 -7 -7 -8 -7 -6 -6 -6 -6 -6 -5 -4 -4 -4 -4 -4 -4 -2 -0 1 1 -1 -3 -6 -7 -7 -8 -9 -10 -12 -15 -18 -19 -18 -17 -15 -10 -7 -6 -7 -5 -2 2 5 5 -1 -4 -5 -4 -5 -6 -4 -1 2 3 3 3 3 2 1 -1 -4 -4 -2 1 3 3 -1 -7 -11 -11 -7 -4 -4 -4 -4 -6 -8 -10 -9 -7 -7 -8 -9 -10 -12 -15 -17 -18 -20 -22 -24 -22 -16 -11 -9 -9 -10 -9 -7 -5 -5 -6 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -0 3 5 8 10 11 10 7 3 -1 -5 -10 -14 -17 -15 -14 -16 -19 -21 -22 -21 -18 -15 -14 -10 10 32 49 57 56 56 54 53 53 53 52 51 49 47 45 43 41 39 37 35 32 30 28 25 21 18 14 11 7 3 -0 -4 -8 -12 -15 -17 -18 -19 -20 -20 -21 -18 -15 -11 -9 -9 -10 -11 -11 -11 -9 -7 -4 -2 -0 2 4 5 4 2 -1 -4 -5 -6 -7 -8 -10 -11 -12 -13 -13 -13 -13 -12 -8 -3 -3 -6 -9 -11 -12 -10 -8 -7 -9 -10 -10 -11 -13 -12 -0 5 3 1 2 6 11 14 15 13 8 2 -3 -8 -11 -13 -13 -14 -14 -13 -10 -8 -8 -8 -8 -7 -7 -6 -7 -8 -11 -13 -13 -12 -12 -12 -13 -11 -8 -5 -5 -6 -7 -9 -10 -11 -12 -12 -14 -16 -16 -15 -16 -17 -17 -16 -15 -15 -17 -18 -18 -17 -16 -16 -18 -20 -21 -20 -20 -19 -17 -16 -18 -20 -22 -25 -27 -27 -25 -23 -21 -22 -23 -25 -24 -20 -14 -11 -14 -16 -16 -15 -9 -6 -8 -15 -19 -12 -9 -9 -12 -14 -14 -15 -15 -13 -9 -1 6 7 3 -1 -7 -12 -13 -13 -16 -19 -20 -19 -16 -7 -8 -8 -8 -8 -9 -9 -9 -9 -9 -10 -11 -11 -12 -13 -13 -13 -12 -10 -8 -7 -7 -7 -8 -9 -10 -12 -13 -14 -11 -7 -2 -2 -1 -1 -2 -4 -4 -5 -6 -8 -9 -9 -8 -8 -8 -7 -7 -7 -6 -7 -7 -7 -5 -5 -5 -6 -6 -5 -5 -6 -6 -8 -7 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -4 -3 -3 -2 -1 1 1 -0 -3 -5 -8 -10 -10 -9 -9 -11 -12 -15 -17 -17 -16 -16 -12 -9 -7 -6 -6 -6 -5 -2 1 1 -0 -1 -2 -4 -7 -5 -2 1 3 4 5 4 3 1 -0 -2 -3 -3 -1 1 3 2 -2 -7 -9 -6 -4 -4 -4 -4 -5 -7 -8 -9 -8 -7 -7 -7 -9 -12 -17 -19 -19 -17 -18 -21 -21 -20 -15 -10 -8 -8 -8 -6 -4 -3 -5 -6 -6 -5 -4 -4 -3 -3 -3 -3 -3 -2 -0 3 6 10 13 14 12 9 5 1 -4 -10 -15 -15 -14 -15 -17 -20 -22 -21 -18 -14 -12 -15 -12 1 19 37 48 54 56 55 55 55 55 54 52 50 48 46 43 41 39 37 35 33 31 28 24 21 17 14 10 6 2 -3 -7 -11 -14 -16 -17 -17 -17 -17 -14 -11 -8 -6 -6 -7 -8 -9 -10 -11 -11 -10 -8 -7 -5 -3 1 4 6 6 3 -0 -2 -4 -4 -6 -7 -9 -10 -12 -12 -13 -13 -13 -13 -8 -4 -4 -6 -10 -11 -10 -8 -7 -7 -8 -9 -10 -11 -13 -12 -0 4 3 -1 -2 2 7 12 13 11 6 1 -4 -8 -11 -13 -14 -14 -13 -11 -9 -7 -7 -7 -8 -8 -9 -9 -8 -9 -11 -13 -13 -12 -11 -12 -12 -9 -6 -5 -6 -6 -8 -9 -11 -12 -13 -17 -20 -20 -19 -20 -19 -18 -16 -15 -16 -17 -18 -17 -16 -15 -15 -16 -19 -20 -21 -22 -21 -18 -17 -20 -22 -24 -27 -28 -27 -26 -25 -26 -26 -27 -27 -26 -22 -16 -11 -11 -13 -16 -16 -10 -5 -4 -8 -15 -11 -8 -8 -8 -11 -13 -16 -16 -14 -12 -5 1 4 2 1 -3 -9 -14 -16 -15 -17 -17 -15 -12 -8 -8 -8 -8 -8 -9 -10 -10 -11 -11 -10 -10 -10 -11 -13 -14 -14 -13 -10 -9 -9 -10 -11 -11 -10 -10 -11 -11 -11 -9 -6 -3 -2 -1 -1 -2 -4 -5 -5 -6 -8 -10 -10 -9 -8 -8 -8 -8 -7 -7 -7 -8 -7 -5 -5 -5 -6 -7 -7 -8 -7 -6 -6 -6 -5 -5 -5 -6 -7 -7 -7 -7 -6 -5 -5 -5 -5 -3 -3 -2 -1 -1 -1 -0 -0 -2 -4 -7 -11 -12 -11 -10 -9 -11 -14 -16 -15 -14 -15 -13 -11 -8 -7 -6 -7 -8 -8 -6 -3 -0 1 1 -1 -5 -7 -5 -1 1 4 6 6 5 3 1 -1 -1 -2 -2 -1 1 3 1 -3 -5 -5 -3 -4 -5 -6 -5 -5 -5 -6 -7 -6 -5 -6 -8 -11 -17 -21 -20 -16 -11 -12 -17 -21 -20 -15 -10 -7 -6 -5 -3 -3 -4 -6 -6 -5 -4 -3 -3 -3 -2 -2 -3 -3 -2 -0 3 7 11 15 16 15 12 8 3 -3 -9 -13 -14 -15 -16 -19 -21 -22 -19 -15 -9 -11 -15 -15 -7 9 25 37 46 52 56 57 57 56 55 53 51 48 46 44 42 39 38 36 33 31 28 24 20 17 13 9 4 -2 -7 -10 -11 -10 -9 -8 -7 -7 -6 -5 -4 -5 -5 -5 -6 -7 -8 -9 -9 -9 -10 -9 -9 -8 -6 -1 4 8 7 5 2 -0 -2 -3 -5 -7 -8 -10 -11 -12 -13 -13 -13 -13 -8 -4 -4 -7 -9 -10 -9 -8 -6 -6 -8 -9 -10 -12 -15 -8 -1 3 2 -2 -3 -1 4 8 10 8 4 -1 -5 -9 -12 -14 -14 -13 -12 -10 -8 -7 -7 -9 -11 -13 -13 -11 -9 -10 -12 -13 -12 -11 -11 -12 -10 -8 -5 -5 -7 -8 -9 -11 -12 -14 -18 -21 -21 -21 -22 -22 -20 -17 -16 -17 -18 -19 -17 -15 -14 -14 -16 -19 -20 -22 -22 -21 -19 -18 -21 -23 -24 -27 -28 -27 -25 -24 -26 -26 -27 -28 -28 -25 -18 -11 -8 -9 -13 -13 -9 -4 -0 -1 -8 -9 -8 -7 -7 -9 -11 -14 -16 -14 -13 -8 -3 -0 2 1 -2 -6 -13 -19 -8 -6 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -13 -13 -12 -12 -13 -12 -11 -11 -12 -12 -12 -12 -13 -12 -9 -7 -5 -4 -4 -2 -2 -3 -5 -5 -5 -6 -8 -9 -9 -9 -8 -8 -8 -8 -7 -8 -8 -8 -7 -6 -5 -5 -6 -6 -8 -9 -8 -6 -5 -5 -5 -4 -5 -5 -6 -7 -8 -8 -7 -5 -4 -4 -4 -3 -3 -1 -1 -2 -2 -2 -1 -1 -2 -5 -9 -12 -13 -12 -9 -10 -14 -16 -15 -13 -12 -13 -12 -10 -9 -7 -6 -6 -8 -10 -9 -5 -1 1 1 -3 -6 -7 -5 -2 1 5 6 7 5 2 -0 -0 -0 -0 -1 -0 2 2 -0 -1 -3 -2 -3 -5 -6 -6 -5 -5 -4 -3 -3 -3 -4 -6 -10 -16 -21 -22 -19 -13 -7 -11 -17 -21 -19 -14 -9 -6 -5 -4 -3 -3 -5 -6 -6 -4 -1 -1 -1 -2 -2 -2 -3 -4 -3 -1 3 8 12 16 18 16 13 10 6 -0 -6 -11 -13 -15 -17 -20 -21 -20 -17 -10 -7 -11 -16 -18 -13 -3 10 26 40 48 53 56 57 57 57 54 51 49 46 44 43 41 38 36 33 30 27 24 20 16 11 6 -0 -5 -7 -4 -1 1 2 2 1 1 -0 -1 -2 -3 -4 -5 -6 -7 -8 -8 -9 -10 -10 -11 -12 -12 -9 -4 3 7 8 6 3 1 -0 -2 -4 -6 -8 -10 -11 -12 -13 -13 -13 -12 -8 -4 -4 -7 -9 -10 -9 -7 -6 -6 -8 -9 -10 -13 -12 -7 -1 2 -0 -2 -3 -3 -1 4 6 5 1 -3 -6 -10 -13 -14 -14 -12 -11 -10 -9 -9 -14 -16 -17 -17 -15 -12 -10 -11 -12 -13 -11 -10 -11 -11 -10 -8 -8 -9 -10 -11 -13 -16 -19 -22 -22 -22 -21 -22 -23 -22 -19 -17 -18 -19 -19 -18 -16 -14 -14 -16 -18 -19 -21 -21 -21 -19 -20 -21 -22 -23 -26 -27 -26 -24 -23 -25 -26 -26 -27 -28 -25 -19 -11 -5 -3 -7 -8 -8 -3 3 4 -4 -7 -9 -9 -6 -6 -10 -13 -15 -15 -13 -11 -7 -2 -0 -0 -2 -4 -10 -20 6 12 8 -0 -6 -8 -9 -9 -9 -8 -7 -6 -7 -7 -6 -6 -6 -7 -9 -11 -11 -11 -11 -11 -11 -10 -10 -12 -12 -12 -13 -14 -13 -8 -6 -5 -4 -4 -3 -2 -4 -6 -6 -7 -7 -7 -7 -8 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -6 -5 -5 -6 -5 -6 -8 -8 -7 -6 -5 -4 -4 -5 -6 -6 -7 -9 -9 -7 -5 -4 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -4 -6 -10 -13 -14 -11 -10 -12 -15 -16 -15 -12 -12 -12 -12 -10 -8 -6 -6 -7 -10 -10 -7 -4 -1 -0 -1 -5 -7 -7 -6 -3 1 4 6 7 5 3 2 2 2 1 1 1 1 2 1 -1 -1 -2 -4 -5 -7 -8 -6 -4 -0 2 1 -1 -4 -8 -13 -18 -21 -21 -18 -10 -7 -11 -16 -20 -18 -12 -7 -5 -4 -3 -3 -5 -6 -7 -6 -2 -0 -0 -1 -1 -1 -2 -3 -4 -4 -1 3 8 14 19 20 17 14 11 9 5 -1 -6 -10 -13 -16 -19 -19 -18 -14 -9 -9 -12 -17 -19 -16 -10 2 16 30 35 38 43 50 56 57 55 52 50 48 46 43 41 39 36 33 31 27 23 19 14 7 2 -1 -1 5 8 10 10 9 8 7 6 5 3 -0 -2 -4 -5 -7 -8 -9 -10 -11 -12 -12 -13 -14 -14 -12 -7 1 6 8 7 4 2 1 -1 -4 -6 -8 -10 -12 -13 -13 -13 -12 -11 -7 -3 -4 -7 -9 -9 -8 -6 -6 -7 -8 -9 -11 -13 -12 -7 -4 -3 -4 -5 -6 -7 -6 -2 1 1 -1 -3 -6 -11 -14 -15 -13 -13 -14 -14 -13 -16 -18 -18 -18 -18 -16 -14 -11 -11 -13 -11 -10 -10 -11 -12 -13 -13 -14 -15 -16 -18 -21 -23 -24 -23 -22 -22 -22 -22 -21 -20 -18 -18 -18 -19 -17 -16 -15 -15 -16 -17 -18 -19 -21 -23 -22 -21 -21 -22 -23 -26 -26 -25 -23 -22 -24 -25 -26 -26 -25 -25 -19 -11 -3 3 1 -2 -4 -2 3 4 -2 -8 -11 -11 -6 -6 -9 -12 -14 -15 -14 -12 -8 -4 -2 -1 -2 -2 -5 -11 12 20 16 6 -2 -8 -9 -9 -8 -6 -5 -4 -5 -5 -4 -3 -4 -6 -8 -10 -11 -11 -11 -10 -9 -9 -10 -12 -12 -12 -13 -13 -12 -9 -6 -5 -4 -3 -2 -2 -3 -5 -6 -7 -7 -6 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -6 -8 -9 -8 -6 -4 -4 -5 -7 -8 -9 -10 -9 -8 -6 -4 -4 -4 -3 -3 -3 -3 -2 -1 -1 -1 -0 -0 -2 -4 -7 -11 -14 -14 -12 -11 -13 -17 -18 -15 -11 -11 -12 -12 -10 -7 -7 -7 -7 -7 -5 -5 -5 -4 -3 -3 -5 -7 -6 -6 -5 -2 2 6 7 6 4 3 4 4 3 2 2 3 3 1 -0 -1 -2 -4 -7 -9 -9 -6 -1 5 7 5 1 -3 -8 -13 -17 -20 -21 -15 -8 -7 -11 -17 -19 -15 -10 -6 -5 -4 -4 -5 -6 -8 -8 -5 -2 -0 1 -0 1 -0 -2 -4 -6 -5 -2 3 10 17 21 22 19 16 15 13 9 3 -3 -9 -12 -15 -17 -18 -17 -12 -9 -10 -13 -18 -19 -18 -14 -6 5 10 14 22 31 40 46 52 54 52 51 48 46 44 41 39 37 34 31 28 23 17 10 5 3 7 12 14 14 13 13 13 13 13 11 9 6 2 -1 -4 -6 -7 -9 -10 -12 -13 -13 -13 -13 -14 -13 -13 -9 -2 4 7 7 5 3 2 -1 -4 -7 -9 -11 -12 -13 -12 -12 -11 -10 -5 -3 -5 -8 -10 -10 -8 -7 -7 -7 -9 -11 -15 -16 -14 -11 -10 -10 -10 -10 -13 -13 -10 -7 -5 -3 -4 -5 -8 -11 -15 -17 -18 -18 -19 -16 -16 -18 -19 -20 -19 -16 -14 -11 -9 -12 -12 -10 -9 -10 -12 -17 -18 -19 -19 -20 -20 -23 -25 -25 -23 -23 -23 -22 -20 -19 -18 -17 -17 -17 -17 -16 -15 -15 -15 -16 -16 -17 -18 -21 -25 -26 -24 -22 -22 -23 -26 -26 -24 -22 -23 -24 -24 -24 -24 -23 -24 -20 -13 -3 6 7 5 2 1 2 2 -2 -8 -13 -14 -9 -7 -8 -11 -14 -14 -14 -13 -9 -4 -3 -1 -0 1 1 -3 -2 9 22 15 5 -7 -8 -8 -7 -6 -4 -4 -5 -5 -4 -4 -6 -7 -9 -10 -11 -11 -12 -10 -9 -10 -11 -13 -14 -14 -12 -10 -8 -9 -7 -6 -6 -4 -3 -1 -1 -1 -2 -3 -4 -4 -3 -3 -5 -6 -7 -7 -7 -7 -7 -6 -5 -5 -4 -4 -5 -6 -5 -5 -5 -7 -9 -9 -8 -6 -5 -4 -5 -7 -10 -10 -9 -7 -5 -4 -4 -3 -3 -3 -3 -4 -3 -1 -0 -1 -1 -0 -0 -0 -4 -9 -13 -16 -16 -13 -13 -15 -18 -18 -13 -10 -11 -13 -11 -7 -6 -5 -5 -6 -5 -5 -6 -7 -5 -4 -4 -5 -5 -5 -6 -6 -5 -2 2 4 4 4 4 4 5 5 5 5 5 5 3 2 -0 -3 -6 -9 -11 -11 -7 2 9 11 9 5 -0 -6 -12 -16 -19 -18 -13 -9 -9 -14 -18 -16 -12 -9 -6 -4 -4 -4 -6 -8 -9 -8 -5 -2 1 1 2 2 1 -1 -4 -6 -6 -4 1 9 18 24 25 23 22 22 19 13 6 -1 -8 -12 -14 -16 -16 -12 -8 -7 -11 -18 -20 -20 -19 -16 -12 -8 -2 5 11 17 25 34 41 46 50 49 48 46 43 42 39 38 35 32 27 20 13 9 9 13 15 15 14 13 13 15 17 18 18 16 12 8 3 -2 -5 -7 -8 -10 -11 -13 -13 -12 -11 -10 -11 -12 -13 -11 -5 3 6 6 5 4 3 -1 -4 -8 -10 -11 -12 -11 -11 -11 -10 -8 -4 -4 -7 -11 -12 -12 -11 -10 -10 -11 -14 -17 -19 -18 -16 -15 -14 -13 -12 -14 -16 -16 -15 -14 -10 -10 -9 -9 -10 -14 -21 -23 -22 -20 -18 -16 -17 -19 -19 -18 -14 -12 -9 -7 -9 -11 -9 -8 -8 -11 -18 -20 -20 -19 -19 -20 -23 -24 -25 -24 -23 -23 -21 -19 -18 -17 -16 -16 -16 -16 -16 -16 -16 -16 -17 -17 -17 -18 -21 -26 -27 -26 -25 -25 -26 -26 -25 -24 -22 -24 -23 -22 -22 -22 -22 -23 -21 -15 -6 6 10 11 9 5 2 1 -1 -7 -15 -16 -12 -8 -7 -10 -13 -13 -14 -12 -10 -5 -3 -0 3 4 5 3 -2 2 13 24 14 -6 -7 -7 -6 -5 -5 -5 -6 -7 -6 -6 -7 -9 -9 -10 -10 -10 -10 -10 -10 -10 -11 -13 -15 -16 -13 -10 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -3 -2 -2 -2 -2 -1 -2 -3 -4 -5 -6 -5 -4 -4 -3 -2 -2 -3 -4 -5 -5 -5 -4 -5 -7 -10 -10 -9 -7 -4 -3 -4 -7 -9 -9 -7 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -1 -0 1 1 -1 -6 -11 -17 -19 -16 -13 -13 -16 -18 -16 -12 -10 -11 -11 -8 -6 -5 -5 -6 -5 -5 -6 -7 -6 -5 -5 -4 -4 -4 -5 -6 -7 -6 -4 -2 -1 -0 2 4 6 6 6 6 7 8 7 6 4 1 -4 -8 -11 -14 -14 -7 2 9 12 12 7 -0 -6 -10 -14 -17 -16 -14 -11 -12 -14 -15 -13 -11 -8 -6 -4 -3 -3 -6 -8 -9 -9 -6 -2 1 2 2 2 2 -1 -4 -7 -8 -5 1 9 18 25 29 31 31 28 23 17 8 -1 -8 -13 -14 -14 -11 -7 -4 -7 -15 -20 -23 -21 -18 -13 -11 -7 -4 -0 2 5 12 19 27 34 37 41 43 43 42 41 40 38 35 30 24 18 15 16 19 18 14 12 10 10 12 15 19 22 22 19 14 8 2 -3 -5 -7 -9 -10 -12 -13 -12 -10 -8 -8 -10 -11 -12 -12 -7 2 5 5 4 4 2 -2 -6 -9 -10 -11 -10 -10 -10 -10 -10 -7 -7 -9 -14 -17 -18 -18 -16 -15 -16 -17 -18 -19 -20 -18 -16 -16 -15 -12 -13 -15 -17 -19 -19 -18 -19 -18 -15 -10 -10 -17 -21 -22 -21 -20 -16 -15 -15 -15 -15 -11 -9 -8 -7 -7 -9 -9 -8 -7 -12 -18 -21 -21 -19 -19 -20 -22 -23 -24 -23 -24 -23 -21 -18 -18 -17 -17 -16 -16 -16 -16 -17 -18 -18 -20 -21 -20 -19 -20 -24 -26 -27 -28 -29 -28 -28 -26 -25 -24 -24 -22 -20 -19 -20 -22 -23 -22 -18 -11 1 9 14 16 12 6 4 1 -6 -15 -16 -13 -9 -8 -11 -12 -13 -14 -13 -11 -6 -2 2 5 7 8 6 4 1 3 26 23 -6 -7 -7 -6 -5 -5 -6 -7 -8 -7 -6 -7 -9 -9 -9 -10 -10 -10 -9 -9 -10 -10 -11 -11 -12 -12 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -7 -6 -6 -5 -5 -3 -1 -1 -1 -2 -2 -3 -3 -2 -1 -1 -1 -1 -2 -3 -4 -3 -4 -3 -4 -6 -9 -11 -11 -9 -6 -4 -2 -4 -7 -9 -8 -5 -4 -4 -5 -5 -6 -5 -4 -3 -3 -3 -2 -1 -0 1 1 1 -2 -8 -14 -20 -19 -16 -13 -14 -17 -17 -14 -10 -9 -10 -9 -6 -4 -4 -5 -5 -5 -5 -6 -6 -6 -6 -5 -4 -4 -4 -5 -6 -6 -7 -6 -5 -4 -2 -1 2 4 4 5 6 9 11 11 10 7 1 -4 -9 -14 -16 -14 -7 -1 4 7 8 6 2 -3 -7 -13 -16 -16 -14 -11 -11 -13 -14 -12 -10 -8 -5 -2 -1 -2 -5 -9 -10 -10 -6 -1 1 2 2 3 3 -0 -4 -8 -9 -5 -0 8 17 26 33 36 35 32 27 18 7 -3 -10 -13 -14 -11 -7 -2 -1 -7 -17 -22 -24 -22 -16 -12 -10 -7 -3 -0 -2 -1 1 6 10 15 22 27 31 34 36 37 36 35 32 26 21 19 21 26 24 18 12 7 5 5 8 13 19 23 23 20 14 8 1 -3 -6 -8 -9 -11 -12 -12 -10 -7 -7 -9 -11 -12 -12 -13 -6 -1 2 3 4 4 1 -3 -7 -9 -10 -10 -10 -11 -11 -12 -13 -12 -12 -15 -18 -20 -20 -19 -17 -17 -17 -17 -19 -20 -19 -17 -17 -17 -13 -12 -14 -16 -18 -20 -20 -19 -16 -12 -7 -4 -8 -12 -15 -17 -18 -14 -11 -9 -9 -11 -10 -9 -8 -7 -7 -8 -10 -10 -10 -15 -19 -21 -22 -19 -19 -20 -22 -23 -23 -23 -24 -24 -21 -18 -17 -19 -20 -19 -17 -17 -18 -19 -21 -21 -23 -24 -23 -21 -19 -21 -24 -27 -30 -30 -29 -28 -27 -25 -24 -24 -22 -20 -18 -18 -22 -23 -23 -21 -18 -9 2 12 18 17 12 9 3 -7 -15 -16 -14 -10 -8 -12 -12 -13 -14 -15 -15 -10 -4 2 5 8 9 9 8 7 1 7 21 -6 -7 -6 -6 -5 -5 -6 -7 -8 -8 -9 -10 -11 -11 -9 -9 -10 -12 -10 -8 -8 -8 -8 -9 -10 -10 -11 -11 -11 -10 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -2 -2 -1 -0 -0 -0 -0 -1 -1 -1 -2 -3 -3 -3 -3 -3 -4 -5 -8 -10 -11 -10 -8 -5 -4 -4 -6 -8 -8 -6 -4 -4 -4 -5 -8 -8 -7 -5 -3 -2 -1 -1 -0 -0 -0 1 -0 -4 -9 -17 -20 -19 -15 -12 -15 -17 -15 -11 -8 -9 -9 -7 -5 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -5 -5 -7 -8 -8 -7 -5 -4 -1 1 2 2 2 5 9 12 14 13 8 3 -4 -10 -14 -15 -11 -7 -3 -1 1 2 2 -0 -2 -6 -10 -12 -13 -12 -12 -12 -13 -12 -10 -10 -8 -4 -1 -0 -2 -5 -9 -11 -10 -6 -1 1 2 2 4 4 -0 -4 -8 -7 -4 -0 6 15 26 34 37 37 33 27 16 5 -6 -12 -13 -10 -6 -2 1 -2 -9 -17 -22 -24 -18 -13 -12 -10 -6 -1 -1 -2 -3 -3 -3 -2 1 5 10 15 19 22 24 24 22 17 11 7 11 22 26 24 17 10 6 3 2 3 8 16 22 23 20 14 7 1 -3 -6 -8 -9 -10 -11 -10 -8 -7 -8 -10 -12 -12 -13 -11 -6 -2 -1 1 4 3 -0 -4 -8 -10 -10 -12 -14 -14 -15 -17 -17 -15 -15 -18 -20 -22 -21 -19 -17 -16 -17 -19 -20 -20 -17 -16 -15 -13 -12 -13 -15 -18 -20 -20 -16 -12 -10 -9 -6 -6 -8 -11 -13 -12 -8 -4 -2 -5 -9 -11 -10 -8 -7 -7 -8 -11 -15 -14 -17 -19 -21 -23 -23 -21 -21 -22 -24 -24 -24 -24 -24 -23 -19 -18 -21 -23 -22 -19 -20 -20 -22 -24 -23 -24 -25 -24 -23 -19 -19 -22 -26 -29 -30 -28 -28 -27 -26 -25 -25 -23 -21 -20 -19 -20 -22 -22 -23 -25 -17 -5 8 18 20 16 14 7 -6 -14 -16 -15 -12 -9 -11 -12 -13 -14 -14 -16 -13 -8 -1 4 7 10 11 12 12 9 1 9 -7 -7 -6 -5 -5 -5 -5 -7 -7 -8 -8 -11 -14 -17 -16 -13 -11 -13 -11 -10 -9 -9 -8 -7 -7 -7 -8 -10 -11 -12 -11 -9 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -5 -4 -3 -1 1 1 -0 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -5 -7 -9 -10 -10 -9 -7 -7 -6 -6 -6 -7 -6 -4 -3 -3 -5 -9 -11 -11 -8 -4 -2 -1 -0 -0 -0 -0 -1 -0 -0 -4 -11 -18 -20 -18 -14 -12 -15 -15 -13 -9 -8 -8 -8 -6 -5 -5 -5 -5 -4 -4 -4 -5 -6 -6 -6 -6 -6 -5 -5 -5 -7 -8 -8 -8 -6 -6 -4 -2 -1 -0 -0 -0 3 8 13 15 14 10 4 -3 -10 -13 -11 -8 -5 -4 -3 -3 -3 -3 -3 -5 -6 -7 -9 -10 -9 -9 -9 -9 -9 -10 -11 -8 -4 1 2 -1 -5 -10 -12 -11 -5 -0 2 2 3 5 4 1 -4 -7 -5 -3 -1 3 11 21 29 32 32 29 23 13 1 -10 -14 -11 -7 -2 1 1 -3 -9 -14 -19 -18 -15 -13 -11 -9 -3 -1 -1 -2 -3 -3 -3 -4 -4 -5 -5 -2 2 6 7 7 3 -3 -7 -6 3 16 22 22 15 9 6 3 1 -0 3 10 17 21 20 14 6 -0 -4 -7 -7 -9 -10 -11 -10 -7 -8 -9 -11 -11 -11 -12 -9 -6 -3 -2 1 3 2 -2 -7 -11 -13 -15 -18 -18 -18 -18 -18 -17 -15 -17 -21 -23 -23 -21 -18 -16 -16 -18 -17 -19 -17 -15 -14 -15 -13 -13 -14 -18 -20 -20 -14 -10 -9 -10 -9 -8 -7 -9 -12 -12 -10 -7 -3 -4 -8 -11 -11 -10 -8 -7 -8 -12 -17 -17 -18 -20 -22 -24 -26 -24 -22 -22 -24 -25 -24 -24 -24 -24 -21 -20 -22 -24 -22 -21 -22 -23 -24 -26 -25 -25 -26 -26 -24 -21 -19 -20 -23 -27 -29 -29 -29 -28 -26 -26 -23 -21 -22 -23 -19 -17 -18 -20 -22 -26 -21 -10 2 15 20 19 17 11 -2 -12 -16 -16 -13 -10 -10 -11 -12 -13 -13 -14 -14 -10 -4 2 6 9 11 13 15 15 10 4 -7 -6 -6 -5 -4 -4 -5 -7 -7 -8 -9 -11 -13 -16 -17 -16 -14 -13 -12 -11 -10 -9 -7 -4 -4 -5 -7 -9 -12 -15 -15 -12 -9 -8 -6 -6 -6 -6 -6 -6 -7 -9 -9 -9 -8 -7 -6 -4 -1 -0 -0 -1 -2 -2 -1 -1 -2 -2 -2 -2 -3 -4 -6 -8 -9 -9 -9 -10 -11 -10 -9 -6 -4 -4 -3 -1 -1 -4 -8 -11 -12 -11 -8 -4 -0 1 1 1 -0 -1 -0 1 1 -4 -13 -20 -21 -18 -12 -13 -13 -13 -11 -8 -8 -8 -8 -6 -5 -5 -5 -4 -3 -3 -5 -6 -6 -6 -6 -6 -5 -5 -5 -7 -8 -8 -8 -6 -5 -6 -5 -4 -2 -1 -3 -3 1 6 12 14 14 11 4 -4 -9 -9 -7 -4 -3 -4 -5 -7 -7 -8 -8 -7 -7 -7 -8 -8 -7 -7 -7 -8 -9 -11 -11 -8 -1 4 4 -0 -5 -10 -13 -9 -3 2 2 1 4 6 6 1 -4 -4 -2 -0 -1 -1 4 11 18 22 26 26 21 10 -4 -12 -13 -9 -4 1 1 -0 -3 -7 -13 -17 -16 -15 -13 -11 -6 -3 -2 -3 -3 -3 -2 -1 -1 -2 -4 -5 -6 -7 -6 -5 -5 -8 -13 -16 -14 -3 9 17 17 13 9 7 4 1 -2 -0 5 12 18 17 11 4 -2 -6 -6 -7 -9 -10 -10 -9 -8 -8 -9 -10 -10 -11 -11 -9 -5 -4 -2 -1 -1 -3 -8 -13 -17 -19 -19 -19 -19 -19 -19 -18 -16 -17 -20 -23 -22 -21 -16 -12 -12 -14 -15 -17 -18 -16 -14 -15 -14 -14 -14 -17 -20 -18 -14 -10 -9 -10 -10 -10 -9 -8 -9 -11 -11 -10 -8 -5 -7 -10 -12 -11 -9 -8 -8 -12 -18 -18 -19 -21 -23 -25 -26 -25 -23 -21 -21 -22 -22 -23 -24 -23 -22 -21 -19 -19 -19 -22 -24 -25 -25 -25 -26 -26 -26 -26 -23 -22 -21 -20 -21 -24 -27 -29 -30 -30 -27 -25 -23 -21 -21 -23 -19 -16 -15 -17 -20 -23 -19 -13 -3 10 17 17 16 12 5 -6 -15 -18 -16 -13 -11 -10 -11 -12 -11 -11 -13 -12 -8 -1 4 8 10 12 15 17 17 11 -7 -7 -6 -5 -5 -5 -6 -7 -8 -9 -10 -11 -11 -13 -14 -14 -14 -13 -12 -11 -9 -7 -4 -2 -3 -5 -7 -10 -13 -16 -16 -13 -10 -8 -7 -6 -5 -5 -6 -6 -7 -9 -10 -11 -9 -8 -8 -7 -4 -2 -1 -2 -3 -3 -1 -1 -1 -1 -1 -2 -3 -3 -4 -5 -7 -8 -10 -12 -13 -14 -12 -8 -3 -2 -1 -1 -1 -3 -6 -9 -11 -13 -12 -8 -2 3 4 2 1 -0 -0 1 3 1 -7 -16 -23 -23 -16 -10 -9 -11 -12 -9 -8 -8 -8 -7 -6 -5 -5 -4 -3 -3 -3 -5 -6 -6 -7 -6 -6 -6 -7 -8 -9 -9 -8 -5 -4 -6 -6 -6 -4 -1 -3 -5 -6 -3 4 9 12 12 9 3 -3 -5 -4 -2 -0 -2 -5 -7 -9 -10 -10 -9 -8 -8 -9 -9 -7 -6 -5 -5 -6 -9 -11 -11 -6 2 6 6 2 -4 -10 -11 -7 -1 4 1 -0 3 8 8 2 -0 -0 2 3 -0 -3 -3 2 12 20 25 25 20 7 -6 -12 -12 -7 -0 1 -0 -0 -2 -5 -12 -15 -15 -14 -12 -8 -5 -3 -3 -4 -5 -4 -3 -1 1 1 -1 -2 -4 -4 -4 -4 -6 -10 -15 -18 -18 -9 5 12 10 9 7 6 3 -1 -3 -2 2 8 13 12 8 2 -4 -5 -6 -7 -9 -10 -10 -8 -8 -8 -9 -9 -10 -11 -11 -9 -6 -6 -7 -8 -8 -11 -13 -16 -19 -19 -19 -19 -19 -19 -18 -17 -16 -17 -19 -18 -18 -13 -9 -8 -10 -12 -14 -16 -17 -15 -15 -15 -15 -16 -17 -17 -15 -13 -11 -9 -10 -10 -10 -10 -9 -8 -9 -10 -13 -14 -10 -8 -9 -11 -12 -11 -9 -10 -14 -19 -19 -20 -22 -24 -25 -24 -24 -23 -21 -20 -20 -21 -22 -23 -22 -19 -15 -12 -13 -18 -22 -25 -25 -24 -24 -24 -24 -25 -25 -23 -21 -21 -21 -21 -22 -25 -29 -31 -31 -30 -26 -24 -23 -23 -23 -19 -16 -13 -13 -18 -20 -18 -15 -9 2 11 14 13 12 10 -1 -12 -19 -21 -19 -15 -11 -10 -10 -9 -9 -11 -12 -11 -5 2 7 10 13 14 17 20 16 -7 -7 -7 -6 -5 -6 -7 -8 -8 -10 -11 -11 -12 -12 -13 -13 -12 -12 -11 -10 -8 -4 -2 -1 -3 -5 -9 -11 -13 -14 -13 -11 -9 -7 -5 -4 -4 -5 -6 -7 -7 -7 -9 -10 -10 -8 -7 -6 -5 -2 -2 -2 -3 -3 -3 -2 -1 -1 -1 -2 -1 -1 -1 -2 -4 -7 -10 -12 -13 -14 -13 -11 -7 -3 -2 -1 -1 -2 -4 -6 -9 -11 -13 -13 -9 -3 2 5 3 1 -0 -0 2 2 -2 -10 -20 -26 -22 -11 -6 -6 -10 -9 -8 -8 -8 -7 -5 -4 -4 -4 -3 -3 -3 -3 -3 -5 -6 -7 -6 -6 -6 -8 -11 -11 -9 -5 -3 -4 -6 -7 -6 -5 -4 -6 -8 -8 -4 1 5 7 8 6 1 -2 -2 -1 2 1 -2 -5 -7 -7 -8 -9 -9 -10 -11 -11 -9 -6 -4 -2 -2 -5 -9 -12 -10 -3 4 8 8 3 -4 -9 -10 -5 3 3 -0 -2 2 8 7 4 2 2 4 6 2 -3 -6 -2 10 21 28 29 19 4 -6 -12 -11 -6 -2 -1 -0 1 1 -5 -11 -14 -15 -15 -12 -8 -3 -1 -2 -4 -6 -6 -5 -2 2 3 3 3 2 -0 -2 -5 -10 -14 -16 -20 -18 -9 1 4 4 3 2 1 -0 -2 -4 -3 -1 4 7 7 4 -1 -5 -7 -7 -8 -10 -10 -8 -8 -8 -9 -9 -10 -12 -14 -13 -11 -11 -12 -12 -12 -13 -14 -17 -20 -20 -20 -20 -19 -19 -19 -18 -17 -16 -15 -14 -14 -12 -10 -9 -9 -10 -12 -15 -17 -17 -16 -16 -16 -16 -17 -14 -12 -13 -14 -13 -10 -10 -10 -10 -11 -9 -8 -9 -13 -19 -16 -12 -12 -14 -17 -16 -14 -15 -18 -21 -22 -22 -23 -24 -23 -22 -22 -22 -21 -21 -20 -20 -21 -22 -21 -18 -15 -15 -17 -21 -25 -25 -24 -24 -24 -24 -24 -25 -26 -25 -22 -21 -21 -21 -20 -23 -26 -30 -32 -32 -29 -27 -26 -25 -23 -20 -17 -14 -12 -15 -19 -20 -19 -14 -6 3 9 11 11 11 4 -8 -18 -22 -23 -20 -16 -12 -9 -8 -7 -8 -10 -12 -8 -1 5 10 13 14 13 13 13 -7 -7 -7 -7 -6 -6 -7 -7 -8 -9 -11 -13 -15 -16 -15 -14 -12 -11 -9 -8 -6 -4 -2 -1 -2 -6 -9 -12 -12 -12 -11 -9 -6 -5 -4 -4 -4 -5 -7 -9 -9 -9 -7 -6 -6 -7 -8 -7 -6 -4 -3 -2 -3 -3 -2 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -4 -7 -9 -11 -12 -13 -12 -9 -5 -3 -2 -1 -2 -3 -4 -7 -9 -11 -13 -12 -10 -5 2 5 4 2 1 1 2 1 -5 -14 -23 -24 -15 -6 -3 -6 -9 -8 -8 -7 -6 -6 -5 -3 -3 -4 -3 -2 -1 -1 -3 -5 -6 -6 -6 -6 -8 -10 -12 -11 -8 -5 -4 -4 -6 -8 -8 -7 -7 -7 -8 -7 -3 -1 -0 2 3 1 -1 -2 -0 2 3 1 -2 -4 -4 -5 -6 -8 -10 -11 -13 -11 -9 -5 -2 -1 -1 -4 -8 -11 -8 -1 5 8 8 2 -5 -10 -9 -2 3 1 -3 -4 -0 4 5 3 1 1 5 8 6 -0 -5 -1 10 22 30 27 15 2 -7 -12 -12 -7 -4 -2 1 5 2 -4 -10 -14 -18 -17 -12 -5 -1 1 -2 -5 -8 -9 -7 -2 2 6 8 10 9 6 1 -6 -12 -16 -19 -20 -17 -7 -1 -0 -1 -2 -4 -4 -5 -5 -6 -6 -4 -2 -1 -0 -1 -6 -10 -11 -10 -11 -11 -11 -10 -10 -11 -11 -12 -14 -17 -18 -17 -16 -15 -14 -12 -13 -15 -17 -20 -22 -22 -21 -20 -19 -19 -19 -18 -16 -12 -11 -11 -12 -12 -13 -12 -11 -13 -16 -18 -18 -17 -17 -17 -17 -17 -16 -15 -16 -19 -19 -15 -11 -10 -10 -10 -10 -8 -8 -11 -19 -20 -18 -17 -20 -23 -22 -20 -19 -20 -22 -24 -24 -24 -23 -22 -21 -20 -21 -21 -21 -19 -19 -20 -21 -21 -20 -20 -20 -20 -22 -24 -25 -24 -24 -24 -24 -25 -26 -26 -26 -24 -24 -23 -23 -21 -23 -26 -30 -34 -34 -33 -30 -28 -27 -25 -22 -19 -17 -14 -15 -17 -20 -21 -18 -12 -4 3 7 7 9 6 -3 -14 -20 -24 -24 -21 -16 -12 -8 -6 -6 -8 -12 -9 -4 3 9 13 14 12 9 8 -7 -7 -7 -7 -6 -6 -5 -5 -6 -7 -10 -15 -19 -22 -19 -16 -13 -11 -8 -6 -6 -6 -6 -6 -5 -6 -8 -11 -11 -9 -7 -6 -5 -4 -3 -3 -4 -5 -7 -10 -10 -10 -9 -7 -5 -6 -7 -8 -7 -6 -4 -3 -3 -3 -2 -2 -2 -3 -4 -4 -4 -4 -4 -2 -2 -3 -4 -6 -8 -10 -11 -11 -10 -8 -5 -3 -2 -2 -2 -4 -5 -7 -9 -11 -12 -12 -10 -5 1 4 4 3 2 2 1 -3 -10 -18 -22 -17 -9 -3 -3 -6 -8 -7 -6 -5 -6 -6 -4 -2 -2 -3 -2 -1 -1 -1 -4 -5 -6 -5 -5 -6 -8 -11 -12 -11 -9 -6 -3 -3 -6 -10 -10 -10 -9 -8 -7 -4 -3 -3 -2 -0 -0 -1 -2 -3 -2 1 2 2 -0 -0 -1 -3 -6 -9 -11 -13 -13 -12 -9 -6 -3 -1 -1 -3 -8 -9 -6 -1 4 7 6 1 -6 -10 -7 -0 1 -2 -6 -7 -5 -2 1 2 -1 -0 5 9 9 4 -0 2 9 17 22 17 9 -1 -10 -14 -12 -10 -7 -2 5 7 3 -4 -12 -19 -21 -16 -9 -2 2 1 -2 -7 -11 -13 -9 -4 2 8 13 16 15 10 1 -9 -13 -18 -21 -21 -17 -7 -2 -1 -1 -4 -7 -9 -10 -9 -7 -8 -8 -7 -5 -4 -9 -13 -15 -15 -15 -15 -15 -14 -15 -16 -16 -17 -17 -18 -18 -19 -18 -16 -15 -13 -12 -13 -16 -20 -23 -23 -23 -21 -21 -20 -20 -19 -18 -16 -11 -11 -13 -16 -18 -17 -15 -17 -19 -19 -18 -18 -18 -18 -17 -17 -18 -18 -19 -21 -21 -19 -16 -13 -12 -10 -10 -9 -9 -10 -16 -20 -22 -22 -23 -26 -26 -24 -23 -23 -22 -23 -23 -22 -21 -21 -22 -22 -22 -22 -20 -18 -17 -17 -18 -21 -22 -22 -21 -21 -22 -23 -24 -25 -25 -24 -24 -25 -25 -26 -26 -26 -27 -27 -26 -26 -25 -26 -30 -34 -34 -33 -31 -30 -30 -27 -25 -23 -21 -18 -16 -16 -19 -21 -22 -18 -13 -6 1 3 7 7 1 -10 -16 -22 -24 -23 -20 -15 -11 -7 -5 -5 -8 -9 -5 1 7 13 14 12 8 4 -6 -6 -6 -6 -6 -5 -4 -4 -6 -8 -12 -16 -21 -23 -19 -13 -9 -6 -6 -6 -6 -8 -10 -12 -9 -7 -6 -8 -9 -7 -6 -5 -4 -4 -3 -3 -3 -3 -5 -8 -10 -10 -9 -8 -5 -5 -5 -7 -7 -6 -5 -4 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -3 -2 -2 -3 -4 -6 -7 -8 -9 -10 -9 -7 -5 -3 -3 -3 -3 -4 -6 -7 -8 -9 -11 -12 -11 -6 -1 3 4 4 3 1 -2 -6 -12 -18 -17 -12 -7 -3 -4 -7 -7 -5 -4 -5 -6 -5 -3 -2 -3 -3 -3 -2 -1 -2 -4 -5 -5 -5 -4 -6 -9 -11 -13 -13 -10 -5 -2 -3 -7 -11 -12 -12 -10 -7 -6 -4 -3 -2 -0 -0 -0 -1 -3 -5 -5 -2 1 3 4 4 2 -1 -5 -9 -12 -13 -12 -11 -11 -7 -3 -1 -0 -4 -7 -8 -6 -2 2 5 4 -0 -6 -8 -5 -2 -2 -5 -10 -13 -11 -6 -0 -0 -3 -2 3 10 11 7 4 5 10 18 20 17 9 -1 -9 -14 -16 -16 -10 1 9 8 2 -6 -16 -20 -19 -14 -7 -1 2 1 -3 -10 -15 -14 -11 -5 1 8 15 20 19 12 -0 -10 -17 -21 -21 -19 -12 -7 -3 -1 -1 -5 -9 -11 -11 -7 -6 -7 -7 -7 -7 -10 -14 -17 -18 -18 -17 -16 -16 -16 -17 -17 -17 -18 -18 -18 -19 -18 -17 -15 -15 -13 -13 -14 -19 -23 -24 -24 -22 -21 -19 -19 -19 -19 -18 -14 -14 -16 -18 -19 -18 -18 -20 -22 -21 -18 -18 -18 -19 -18 -17 -18 -19 -21 -21 -21 -21 -20 -19 -17 -14 -13 -12 -10 -12 -14 -20 -23 -23 -24 -25 -26 -26 -25 -24 -22 -21 -19 -19 -19 -19 -21 -22 -24 -25 -21 -17 -15 -15 -17 -19 -22 -23 -22 -22 -21 -22 -24 -25 -25 -23 -23 -23 -23 -23 -25 -27 -29 -30 -29 -29 -27 -26 -28 -32 -33 -33 -32 -30 -30 -28 -28 -27 -26 -23 -20 -18 -19 -21 -22 -21 -18 -13 -8 -1 5 7 4 -6 -13 -17 -20 -22 -21 -17 -14 -10 -7 -6 -7 -7 -6 -2 4 11 14 13 8 1 -6 -6 -5 -5 -5 -4 -4 -5 -7 -9 -11 -14 -16 -16 -13 -10 -7 -7 -8 -9 -9 -8 -9 -9 -8 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -3 -2 -1 -2 -3 -6 -7 -8 -8 -5 -4 -4 -5 -6 -6 -5 -4 -4 -3 -3 -4 -4 -5 -5 -5 -6 -6 -5 -4 -3 -3 -3 -4 -4 -6 -7 -7 -8 -9 -8 -6 -5 -4 -4 -4 -4 -5 -5 -6 -7 -8 -10 -12 -11 -8 -3 1 4 5 3 -0 -3 -8 -13 -15 -14 -10 -5 -3 -5 -7 -5 -3 -3 -4 -5 -5 -4 -3 -4 -5 -4 -2 -1 -2 -4 -5 -4 -3 -4 -6 -9 -12 -15 -14 -10 -5 -2 -3 -8 -11 -13 -12 -9 -6 -4 -3 -2 1 2 2 -0 -2 -7 -10 -9 -6 -1 3 5 7 6 2 -4 -9 -12 -12 -11 -10 -9 -8 -5 -2 -2 -4 -5 -6 -6 -4 1 5 5 1 -5 -7 -6 -4 -4 -9 -15 -17 -14 -5 1 -2 -6 -5 2 10 12 10 7 7 12 18 19 15 7 -2 -10 -17 -21 -20 -8 6 12 11 4 -7 -16 -18 -17 -13 -6 -1 2 1 -5 -12 -15 -13 -10 -6 -2 7 15 21 21 13 1 -11 -20 -23 -21 -16 -11 -8 -5 -1 -2 -6 -11 -13 -9 -6 -6 -6 -6 -6 -8 -11 -15 -19 -17 -15 -14 -15 -17 -17 -17 -17 -17 -18 -18 -18 -18 -17 -16 -15 -15 -14 -14 -16 -20 -23 -23 -21 -18 -15 -14 -16 -19 -20 -18 -18 -18 -19 -19 -19 -19 -21 -22 -22 -18 -18 -18 -20 -20 -18 -18 -19 -21 -22 -22 -22 -22 -21 -20 -18 -18 -17 -14 -18 -19 -21 -22 -22 -24 -25 -25 -25 -24 -23 -22 -19 -18 -18 -19 -19 -20 -22 -25 -27 -23 -18 -16 -16 -17 -19 -22 -24 -23 -22 -19 -21 -24 -26 -26 -25 -23 -23 -22 -22 -24 -27 -30 -32 -32 -31 -29 -27 -27 -30 -32 -33 -32 -31 -30 -30 -31 -31 -31 -29 -25 -22 -20 -21 -21 -20 -19 -18 -14 -6 2 7 6 -2 -10 -13 -16 -18 -19 -17 -15 -12 -10 -9 -8 -8 -6 -3 1 8 13 14 9 -0 -7 -6 -4 -3 -3 -3 -4 -6 -7 -8 -9 -10 -12 -12 -12 -10 -9 -8 -10 -10 -9 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -6 -5 -3 -2 -1 -0 -1 -3 -5 -6 -4 -3 -3 -3 -5 -5 -5 -5 -4 -4 -4 -4 -5 -6 -5 -5 -5 -5 -5 -3 -2 -3 -3 -4 -4 -5 -6 -6 -6 -7 -7 -7 -6 -5 -4 -4 -4 -4 -5 -5 -6 -7 -8 -10 -10 -10 -9 -6 -0 4 4 3 -0 -5 -9 -12 -13 -11 -8 -4 -5 -6 -6 -2 -1 -2 -5 -7 -7 -5 -6 -6 -6 -4 -1 -1 -2 -3 -4 -3 -3 -4 -6 -10 -14 -16 -15 -10 -5 -2 -4 -8 -12 -14 -11 -6 -3 -2 -3 -0 4 4 2 -0 -5 -10 -12 -12 -9 -5 -0 5 8 9 3 -4 -9 -11 -10 -8 -8 -8 -8 -6 -3 -2 -2 -3 -5 -6 -4 1 6 8 3 -3 -6 -8 -8 -9 -13 -18 -19 -12 -0 2 -3 -9 -8 1 10 13 12 8 6 11 16 18 14 5 -4 -12 -20 -24 -19 -4 9 15 13 4 -6 -12 -15 -16 -13 -7 -1 2 -0 -6 -10 -11 -9 -8 -7 -3 4 12 19 20 11 -1 -12 -19 -19 -17 -14 -11 -10 -5 -1 -2 -6 -12 -12 -9 -6 -5 -6 -5 -5 -7 -11 -17 -17 -13 -11 -12 -15 -18 -18 -18 -17 -16 -18 -18 -18 -17 -16 -16 -15 -15 -14 -14 -14 -17 -19 -17 -15 -11 -10 -14 -19 -21 -20 -20 -19 -19 -19 -19 -20 -21 -22 -22 -19 -18 -19 -20 -20 -20 -19 -19 -21 -23 -24 -23 -23 -22 -20 -20 -20 -19 -18 -19 -20 -21 -22 -22 -24 -25 -24 -23 -22 -21 -21 -20 -18 -18 -20 -21 -21 -22 -25 -25 -22 -18 -16 -16 -17 -20 -23 -24 -22 -23 -21 -21 -23 -24 -26 -26 -25 -24 -24 -22 -24 -27 -29 -32 -32 -31 -30 -28 -27 -28 -29 -29 -30 -32 -31 -32 -33 -34 -35 -32 -29 -25 -22 -21 -21 -20 -20 -21 -19 -12 -3 4 6 1 -7 -11 -13 -15 -17 -16 -15 -13 -10 -10 -10 -10 -9 -5 -0 6 12 14 10 1 -5 -4 -2 -1 -2 -2 -3 -5 -7 -7 -8 -9 -10 -12 -13 -12 -12 -11 -11 -10 -9 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -8 -9 -8 -7 -6 -5 -4 -2 -1 -1 -2 -3 -3 -2 -2 -2 -3 -4 -4 -4 -4 -5 -5 -5 -6 -7 -6 -5 -5 -5 -4 -2 -1 -2 -3 -4 -4 -6 -7 -6 -6 -5 -6 -6 -6 -6 -6 -5 -4 -4 -5 -5 -6 -6 -7 -8 -9 -9 -10 -10 -7 -1 3 4 3 -1 -6 -9 -10 -11 -10 -6 -6 -6 -6 -3 -0 1 -2 -5 -7 -7 -8 -7 -6 -4 -3 -1 -1 -2 -4 -4 -4 -3 -5 -8 -13 -16 -16 -14 -11 -5 -3 -5 -10 -14 -13 -7 -2 -0 -2 -1 3 5 5 3 -1 -6 -11 -14 -13 -11 -8 -3 3 9 9 3 -4 -10 -10 -7 -6 -7 -9 -9 -7 -4 -3 -3 -3 -5 -6 -3 3 9 10 4 -3 -9 -12 -13 -12 -16 -20 -20 -5 4 3 -5 -12 -10 1 11 16 13 5 5 10 16 17 11 3 -5 -14 -22 -24 -15 -2 10 16 12 4 -4 -11 -16 -16 -12 -6 -1 2 -1 -5 -6 -6 -5 -6 -7 -6 -2 6 13 13 7 -3 -11 -14 -15 -14 -12 -13 -10 -4 1 1 -5 -9 -9 -8 -6 -5 -3 -3 -4 -8 -15 -19 -14 -9 -6 -12 -17 -19 -19 -16 -14 -17 -18 -18 -17 -17 -16 -15 -15 -15 -14 -12 -13 -13 -15 -14 -13 -12 -14 -19 -20 -20 -20 -19 -19 -19 -19 -20 -21 -22 -21 -20 -20 -20 -20 -20 -20 -20 -20 -21 -23 -23 -23 -23 -22 -20 -20 -20 -20 -20 -19 -19 -20 -20 -21 -23 -22 -21 -20 -20 -21 -22 -22 -20 -19 -21 -22 -23 -24 -24 -22 -20 -17 -16 -16 -18 -21 -22 -20 -17 -23 -24 -23 -21 -22 -25 -27 -27 -26 -26 -24 -25 -26 -28 -31 -32 -31 -30 -29 -28 -27 -25 -23 -25 -30 -32 -33 -35 -37 -37 -34 -31 -28 -24 -20 -21 -22 -23 -25 -23 -17 -9 -1 4 1 -5 -9 -11 -13 -14 -15 -14 -12 -10 -10 -10 -10 -11 -8 -4 2 9 13 11 3 -4 -3 -2 -1 -1 -2 -3 -4 -6 -7 -8 -9 -10 -12 -13 -13 -13 -11 -9 -7 -6 -6 -7 -7 -7 -6 -5 -4 -5 -5 -5 -6 -7 -8 -9 -8 -7 -6 -6 -6 -5 -4 -3 -3 -3 -2 -1 -1 -1 -2 -3 -3 -4 -4 -5 -6 -7 -8 -8 -7 -6 -5 -4 -2 -0 -1 -2 -3 -4 -5 -6 -6 -5 -5 -5 -6 -6 -7 -7 -6 -4 -4 -4 -5 -5 -6 -6 -6 -7 -7 -9 -11 -11 -8 -4 -0 3 3 -2 -5 -8 -9 -8 -6 -5 -6 -7 -7 -3 1 2 1 -2 -6 -7 -7 -6 -4 -3 -2 -2 -2 -3 -4 -5 -5 -4 -6 -11 -13 -14 -15 -14 -10 -6 -5 -7 -12 -16 -11 -4 2 2 1 2 3 4 5 4 -1 -7 -11 -14 -13 -12 -10 -5 1 8 8 3 -4 -8 -6 -4 -4 -6 -9 -9 -7 -4 -3 -3 -4 -5 -5 -2 5 11 11 4 -4 -13 -15 -14 -14 -19 -26 -17 -1 7 4 -7 -14 -9 2 13 17 9 4 5 11 16 14 8 1 -6 -15 -22 -21 -14 -3 7 11 10 4 -3 -11 -15 -14 -11 -6 -2 -1 -2 -3 -3 -3 -3 -5 -7 -8 -4 2 6 6 1 -4 -8 -10 -12 -12 -14 -14 -9 -1 5 5 -2 -7 -9 -8 -5 -2 -3 -6 -9 -12 -18 -18 -13 -5 -7 -14 -19 -19 -16 -13 -16 -17 -17 -17 -17 -16 -16 -15 -16 -16 -16 -12 -10 -11 -12 -15 -17 -17 -18 -19 -20 -20 -20 -20 -19 -19 -20 -21 -20 -20 -20 -20 -20 -20 -19 -19 -20 -20 -19 -20 -21 -21 -21 -20 -19 -19 -20 -20 -20 -19 -19 -19 -19 -19 -20 -19 -19 -20 -20 -23 -25 -26 -24 -21 -22 -23 -24 -25 -23 -20 -18 -17 -16 -17 -18 -20 -19 -15 -16 -23 -25 -23 -20 -21 -24 -27 -28 -28 -27 -25 -25 -26 -27 -29 -31 -31 -30 -29 -28 -26 -22 -18 -19 -27 -31 -32 -34 -38 -39 -36 -33 -30 -27 -23 -21 -23 -26 -28 -26 -22 -16 -7 1 -0 -5 -9 -11 -11 -12 -13 -13 -12 -9 -8 -8 -10 -11 -10 -7 -2 4 10 10 4 -5 -4 -3 -2 -2 -2 -3 -4 -6 -7 -8 -9 -10 -10 -11 -11 -10 -8 -5 -4 -5 -6 -7 -8 -8 -6 -5 -4 -5 -5 -5 -5 -6 -6 -8 -8 -8 -7 -8 -9 -8 -5 -4 -5 -4 -2 -1 -0 -1 -1 -2 -2 -2 -4 -5 -6 -6 -7 -7 -7 -6 -5 -3 -1 -0 -0 -0 -1 -3 -4 -4 -5 -5 -5 -5 -6 -7 -8 -8 -7 -6 -4 -3 -4 -5 -5 -5 -6 -6 -5 -6 -8 -9 -10 -8 -5 -2 -0 1 -2 -4 -5 -5 -5 -4 -5 -6 -7 -5 -1 3 5 4 -0 -4 -6 -5 -2 -0 -1 -2 -3 -4 -4 -6 -6 -6 -7 -9 -10 -11 -12 -13 -12 -8 -6 -6 -10 -17 -18 -11 -1 6 5 2 1 1 3 5 3 -1 -7 -11 -12 -12 -12 -12 -10 -1 6 6 2 -4 -5 -3 -3 -4 -8 -9 -8 -6 -4 -4 -4 -4 -5 -5 -1 7 12 10 3 -8 -13 -13 -14 -17 -24 -25 -12 2 8 2 -8 -12 -6 5 14 12 7 4 7 13 15 12 7 1 -7 -15 -19 -19 -15 -8 1 6 7 3 -4 -10 -12 -10 -8 -6 -4 -3 -3 -3 -3 -3 -4 -5 -7 -6 -4 -2 -0 -2 -5 -5 -6 -8 -11 -14 -15 -13 -7 2 6 3 -2 -7 -9 -8 -3 -1 -2 -8 -11 -16 -18 -16 -11 -11 -13 -16 -18 -18 -16 -16 -16 -17 -18 -18 -17 -16 -16 -16 -16 -16 -13 -9 -10 -12 -14 -16 -17 -17 -19 -20 -21 -21 -21 -20 -20 -20 -21 -20 -20 -20 -20 -21 -20 -19 -19 -20 -20 -19 -18 -19 -21 -21 -20 -19 -18 -19 -19 -20 -20 -19 -19 -18 -18 -18 -18 -18 -20 -21 -25 -26 -27 -27 -25 -23 -23 -24 -24 -21 -19 -17 -16 -17 -17 -18 -20 -19 -16 -17 -22 -25 -23 -20 -21 -24 -28 -29 -28 -26 -25 -25 -26 -26 -28 -30 -31 -31 -30 -28 -27 -23 -17 -17 -25 -30 -32 -34 -37 -38 -37 -35 -32 -29 -26 -24 -24 -26 -29 -28 -26 -21 -14 -4 -2 -6 -10 -11 -10 -10 -12 -13 -12 -8 -6 -7 -9 -10 -11 -10 -7 -1 5 9 6 -5 -4 -3 -2 -2 -3 -4 -5 -6 -8 -9 -9 -8 -8 -7 -6 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -5 -7 -8 -9 -9 -9 -7 -5 -5 -6 -5 -4 -2 -1 -0 -1 -1 -1 -1 -3 -4 -4 -5 -6 -6 -6 -6 -5 -3 -1 -0 1 1 1 -1 -2 -3 -4 -5 -5 -5 -6 -8 -9 -10 -9 -7 -5 -3 -4 -4 -5 -5 -6 -6 -4 -4 -5 -6 -8 -9 -9 -7 -5 -3 -3 -4 -4 -3 -1 -1 -1 -3 -5 -5 -4 -1 2 4 4 -0 -3 -3 -1 2 1 -1 -3 -5 -6 -6 -7 -8 -9 -10 -10 -11 -11 -10 -9 -7 -6 -6 -7 -14 -19 -17 -9 1 6 5 2 -1 -1 2 4 2 -2 -7 -9 -9 -9 -11 -14 -13 -5 2 5 2 -2 -2 -2 -3 -6 -9 -8 -7 -6 -5 -4 -4 -4 -5 -4 -0 7 10 8 -0 -7 -10 -12 -15 -21 -26 -22 -9 4 8 1 -5 -6 -1 7 10 9 7 7 12 17 16 12 6 -1 -6 -11 -15 -17 -16 -11 -5 -0 3 1 -4 -7 -8 -8 -8 -6 -4 -3 -3 -3 -3 -4 -5 -7 -7 -6 -5 -5 -6 -8 -8 -7 -7 -10 -13 -14 -14 -11 -6 1 3 2 -1 -7 -10 -7 -3 -1 -4 -8 -13 -15 -15 -11 -11 -12 -13 -15 -19 -18 -16 -16 -17 -19 -18 -17 -17 -17 -17 -17 -15 -13 -11 -11 -15 -17 -18 -18 -17 -18 -20 -21 -22 -22 -21 -20 -21 -21 -20 -20 -20 -21 -21 -21 -19 -19 -19 -20 -21 -19 -19 -20 -21 -21 -19 -18 -18 -19 -19 -19 -19 -18 -18 -18 -18 -18 -19 -20 -23 -24 -23 -23 -27 -27 -25 -24 -23 -22 -20 -17 -16 -16 -17 -18 -19 -20 -20 -18 -20 -22 -24 -24 -21 -22 -25 -28 -29 -27 -26 -25 -24 -24 -24 -26 -28 -29 -30 -31 -30 -28 -25 -21 -20 -24 -28 -31 -33 -35 -36 -38 -37 -35 -31 -29 -28 -27 -29 -31 -30 -29 -26 -20 -10 -6 -7 -10 -12 -10 -9 -10 -11 -10 -7 -5 -6 -7 -8 -10 -10 -9 -6 -0 6 6 -5 -5 -4 -3 -3 -4 -5 -6 -8 -9 -9 -8 -7 -4 -3 -3 -4 -5 -6 -6 -6 -5 -5 -5 -6 -6 -7 -8 -9 -10 -9 -6 -3 -0 1 -0 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -3 -1 -0 -0 -1 -1 -1 -3 -3 -4 -5 -5 -5 -5 -4 -3 -2 -2 -1 -0 1 1 -0 -0 -1 -2 -3 -4 -5 -7 -9 -10 -11 -10 -8 -5 -4 -4 -4 -5 -5 -5 -5 -3 -2 -2 -3 -5 -8 -10 -10 -9 -8 -6 -6 -6 -4 -0 3 4 3 -0 -2 -4 -4 -3 -1 2 2 -0 -2 -0 4 5 3 -1 -5 -7 -7 -8 -9 -10 -12 -12 -12 -12 -11 -8 -6 -5 -5 -5 -10 -16 -18 -15 -6 3 7 5 1 -3 -3 -0 2 1 -4 -7 -6 -5 -6 -12 -16 -15 -9 -0 4 1 -1 -1 -2 -5 -8 -8 -8 -6 -5 -5 -5 -4 -3 -4 -4 -0 5 8 5 -1 -6 -10 -13 -18 -25 -26 -20 -7 6 6 2 -1 -1 2 5 7 7 7 10 17 20 17 11 3 -1 -5 -9 -12 -14 -15 -15 -12 -5 -0 -1 -3 -5 -6 -8 -7 -6 -4 -3 -3 -4 -5 -7 -8 -7 -6 -5 -5 -7 -9 -9 -8 -7 -10 -14 -15 -13 -11 -8 -4 -0 3 4 -0 -8 -10 -7 -3 -1 -5 -9 -11 -12 -11 -11 -11 -12 -15 -20 -20 -19 -17 -16 -18 -19 -18 -18 -18 -19 -18 -16 -15 -15 -15 -18 -19 -19 -19 -18 -18 -18 -20 -22 -22 -21 -21 -22 -23 -23 -22 -22 -22 -22 -21 -20 -19 -19 -19 -21 -20 -20 -20 -21 -21 -19 -18 -18 -18 -18 -19 -19 -19 -18 -17 -17 -19 -20 -22 -23 -23 -22 -23 -27 -27 -26 -25 -23 -21 -18 -16 -16 -16 -17 -18 -19 -21 -21 -20 -20 -22 -23 -23 -22 -24 -27 -29 -28 -27 -27 -25 -23 -23 -21 -22 -24 -26 -28 -31 -31 -29 -27 -26 -26 -27 -28 -30 -31 -33 -35 -38 -39 -38 -34 -32 -30 -30 -30 -32 -33 -33 -31 -27 -18 -10 -8 -10 -12 -10 -9 -9 -10 -7 -5 -4 -4 -6 -7 -8 -9 -10 -8 -4 2 4 -6 -6 -6 -6 -6 -6 -6 -7 -8 -8 -8 -7 -5 -4 -4 -4 -4 -5 -6 -6 -5 -4 -4 -5 -6 -6 -7 -7 -8 -9 -7 -4 -0 3 5 5 4 2 -0 -0 1 1 -0 -1 -2 -2 -2 -1 -0 -0 -1 -1 -2 -3 -4 -4 -5 -5 -5 -5 -4 -2 -1 -1 -1 -1 -1 -0 -0 1 1 1 -0 -2 -4 -7 -9 -10 -12 -11 -9 -6 -4 -3 -4 -4 -4 -4 -4 -3 -2 -1 -0 -2 -5 -8 -11 -12 -12 -10 -9 -9 -8 -4 2 6 7 6 3 -1 -3 -5 -5 -3 -0 -0 -2 -1 3 7 7 3 -2 -6 -8 -9 -9 -11 -12 -12 -13 -13 -13 -9 -6 -5 -5 -5 -8 -12 -15 -16 -12 -4 4 7 5 -0 -3 -3 -1 -0 -2 -5 -6 -4 -3 -6 -12 -16 -15 -9 -0 2 1 -0 -2 -3 -7 -8 -8 -6 -5 -5 -5 -4 -3 -1 -3 -4 -2 1 4 2 -1 -5 -9 -15 -22 -27 -27 -19 -3 5 5 4 2 1 2 4 6 5 6 12 17 19 16 9 3 -1 -4 -6 -8 -13 -17 -19 -16 -9 -3 -1 -1 -3 -6 -7 -6 -4 -3 -2 -4 -6 -8 -9 -7 -5 -4 -3 -6 -8 -10 -10 -10 -11 -15 -16 -14 -10 -9 -9 -7 -3 2 5 -1 -8 -10 -7 -2 -2 -4 -7 -10 -10 -10 -11 -13 -16 -19 -20 -20 -18 -17 -18 -19 -19 -19 -19 -19 -19 -19 -19 -19 -18 -19 -20 -20 -20 -20 -19 -18 -19 -21 -21 -20 -21 -23 -24 -24 -25 -24 -23 -23 -21 -21 -20 -19 -19 -20 -20 -21 -21 -21 -21 -21 -20 -19 -17 -17 -18 -19 -20 -19 -17 -17 -19 -21 -22 -21 -23 -25 -26 -27 -27 -26 -25 -23 -20 -17 -16 -16 -16 -16 -18 -19 -21 -22 -20 -19 -20 -20 -20 -20 -23 -27 -29 -28 -28 -28 -26 -23 -22 -21 -20 -21 -24 -26 -30 -30 -29 -28 -28 -29 -27 -26 -28 -29 -30 -33 -37 -40 -41 -38 -35 -33 -33 -32 -33 -35 -37 -36 -34 -26 -17 -11 -10 -11 -10 -9 -9 -10 -7 -5 -3 -3 -4 -5 -6 -8 -9 -10 -7 -3 -0 -7 -7 -7 -7 -7 -7 -8 -8 -7 -6 -5 -5 -5 -5 -4 -4 -5 -5 -4 -3 -3 -4 -5 -8 -10 -9 -7 -5 -4 -4 -3 -2 -0 1 -0 1 1 1 -1 -2 -1 -1 -1 -0 -0 -1 -1 -1 -0 1 -0 -0 -1 -2 -4 -4 -5 -6 -6 -6 -5 -4 -2 -1 -1 -1 -1 -0 1 2 3 3 3 1 -3 -6 -8 -10 -12 -12 -11 -9 -5 -3 -2 -3 -3 -3 -4 -4 -3 -1 -0 -0 -1 -5 -9 -13 -13 -12 -12 -12 -12 -10 -5 -0 5 8 8 5 2 -1 -5 -5 -3 -2 -3 -4 -0 5 8 7 3 -3 -6 -9 -10 -10 -11 -11 -11 -12 -13 -10 -7 -6 -6 -7 -8 -10 -12 -14 -14 -9 -2 4 6 4 -0 -3 -4 -3 -2 -4 -6 -5 -4 -2 -7 -13 -16 -15 -8 -2 -0 1 -0 -2 -5 -7 -8 -7 -5 -5 -5 -5 -3 -1 -1 -3 -5 -5 -4 -1 -0 -1 -4 -10 -18 -26 -30 -27 -13 -2 4 6 7 3 2 3 4 4 3 6 12 16 17 13 9 5 1 -2 -4 -9 -14 -19 -20 -16 -9 -3 -0 -2 -5 -6 -6 -5 -3 -2 -3 -6 -9 -10 -8 -5 -2 -1 -3 -6 -9 -10 -11 -12 -16 -17 -15 -11 -8 -9 -10 -9 -6 2 4 -1 -7 -9 -6 -2 -1 -4 -9 -9 -10 -11 -12 -14 -15 -17 -18 -18 -17 -17 -18 -18 -18 -19 -19 -20 -20 -21 -20 -20 -20 -20 -20 -21 -21 -20 -19 -18 -20 -21 -21 -22 -24 -25 -25 -25 -24 -24 -23 -21 -21 -20 -19 -19 -18 -19 -20 -21 -21 -21 -22 -22 -20 -17 -17 -18 -19 -20 -19 -18 -18 -19 -21 -22 -20 -23 -27 -28 -27 -27 -26 -25 -22 -19 -18 -17 -16 -16 -16 -16 -18 -19 -20 -18 -17 -18 -18 -17 -18 -21 -24 -26 -28 -28 -28 -26 -23 -23 -22 -20 -19 -21 -25 -28 -29 -29 -27 -27 -29 -26 -22 -23 -26 -27 -31 -35 -39 -44 -44 -41 -38 -35 -31 -33 -37 -40 -40 -38 -31 -23 -16 -12 -10 -9 -9 -9 -9 -7 -4 -2 -1 -3 -4 -4 -6 -8 -10 -9 -6 -3 -7 -7 -7 -8 -7 -7 -7 -7 -7 -6 -6 -5 -5 -6 -5 -5 -4 -4 -4 -3 -3 -4 -7 -12 -15 -14 -11 -7 -5 -5 -5 -4 -5 -5 -7 -6 -4 -2 -3 -3 -4 -5 -4 -1 -0 -1 -1 -1 -0 1 1 1 1 -0 -2 -3 -4 -5 -6 -7 -7 -6 -5 -3 -2 -1 -0 1 3 4 5 6 6 4 -0 -3 -6 -9 -11 -12 -13 -11 -8 -3 -1 -1 -2 -2 -3 -3 -3 -2 -1 -0 1 -1 -5 -10 -13 -13 -13 -14 -15 -14 -11 -7 -2 4 8 9 9 7 2 -3 -4 -3 -4 -5 -5 -1 5 8 6 2 -3 -7 -9 -10 -11 -11 -9 -8 -9 -9 -8 -6 -6 -8 -9 -9 -10 -11 -13 -12 -7 -1 5 6 4 -0 -3 -4 -4 -4 -6 -7 -7 -4 -5 -9 -14 -16 -12 -7 -3 -0 2 2 -1 -5 -7 -8 -6 -4 -4 -5 -6 -4 -1 -1 -3 -7 -10 -8 -4 -1 -1 -5 -14 -23 -29 -31 -21 -9 -0 6 9 6 4 3 4 4 3 3 6 10 13 14 13 10 6 2 -0 -5 -11 -16 -19 -18 -14 -8 -3 -1 -3 -5 -7 -6 -5 -3 -3 -4 -8 -11 -10 -7 -4 -1 -1 -3 -6 -8 -10 -12 -14 -16 -16 -13 -10 -9 -9 -10 -11 -8 -2 -1 -4 -9 -10 -5 -2 -3 -8 -9 -10 -11 -12 -11 -12 -14 -16 -17 -18 -18 -17 -15 -16 -18 -19 -20 -21 -22 -21 -20 -19 -19 -20 -21 -22 -21 -20 -19 -18 -20 -22 -23 -25 -26 -26 -25 -24 -23 -23 -21 -21 -20 -19 -19 -18 -18 -19 -21 -22 -22 -22 -22 -21 -18 -17 -18 -19 -19 -19 -18 -18 -18 -20 -22 -21 -23 -26 -26 -26 -26 -27 -26 -23 -20 -19 -19 -18 -17 -17 -17 -17 -17 -18 -17 -17 -18 -18 -16 -17 -19 -21 -23 -25 -24 -24 -24 -23 -23 -23 -22 -20 -19 -24 -27 -29 -29 -27 -25 -28 -25 -19 -16 -20 -24 -28 -32 -37 -46 -49 -48 -39 -19 -3 2 2 -2 -10 -12 -15 -18 -19 -16 -12 -9 -9 -10 -10 -7 -4 -2 -1 -2 -3 -3 -5 -7 -9 -10 -8 -5 -7 -7 -7 -8 -8 -7 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -3 -4 -4 -3 -5 -8 -12 -16 -16 -13 -11 -10 -10 -8 -8 -8 -8 -10 -9 -7 -5 -4 -4 -5 -6 -7 -4 -0 -0 -1 -1 -0 1 2 2 2 2 1 -1 -2 -4 -5 -6 -6 -6 -6 -6 -3 -2 -1 1 3 4 5 6 6 6 3 -0 -3 -7 -9 -12 -13 -13 -12 -8 -4 -1 -0 -0 -1 -2 -3 -3 -2 -2 1 2 -0 -6 -11 -12 -14 -15 -16 -16 -12 -9 -6 -3 3 7 11 12 11 6 1 -0 -1 -2 -6 -6 -2 3 7 5 1 -4 -8 -10 -12 -11 -9 -6 -4 -5 -6 -7 -7 -8 -10 -10 -9 -9 -10 -12 -10 -5 1 4 5 3 -0 -3 -4 -4 -6 -9 -10 -8 -6 -8 -12 -14 -13 -10 -7 -3 -0 3 2 -1 -5 -7 -6 -3 -2 -3 -6 -5 -3 -0 -0 -5 -11 -13 -10 -5 -1 -2 -9 -16 -24 -29 -23 -13 -3 4 6 7 6 6 5 5 3 2 3 4 7 10 12 12 9 7 5 -0 -6 -12 -16 -17 -16 -12 -7 -3 -3 -5 -7 -7 -7 -5 -3 -3 -5 -11 -13 -12 -8 -4 -2 -2 -3 -5 -8 -10 -13 -15 -16 -14 -13 -11 -9 -9 -10 -11 -10 -8 -8 -10 -12 -9 -5 -3 -7 -8 -10 -12 -12 -11 -11 -12 -14 -16 -19 -19 -17 -15 -14 -16 -19 -21 -22 -21 -21 -19 -18 -18 -19 -21 -23 -22 -21 -21 -19 -20 -21 -22 -23 -24 -25 -24 -23 -22 -21 -21 -21 -20 -19 -19 -18 -18 -18 -20 -21 -21 -21 -21 -21 -19 -18 -18 -19 -19 -19 -19 -19 -19 -21 -24 -25 -26 -25 -24 -24 -25 -27 -27 -26 -23 -22 -21 -21 -20 -18 -18 -18 -18 -18 -19 -19 -18 -17 -15 -16 -17 -19 -21 -22 -21 -20 -21 -23 -25 -26 -24 -22 -20 -23 -26 -29 -30 -28 -23 -25 -25 -20 -8 -12 -18 -24 -30 -36 -45 -52 -53 -38 15 38 44 42 36 25 16 -0 -13 -16 -13 -11 -10 -10 -12 -12 -9 -5 -2 -1 -1 -2 -2 -3 -5 -8 -10 -10 -7 -6 -6 -7 -8 -8 -7 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -3 -4 -4 -4 -5 -7 -10 -12 -13 -12 -10 -10 -9 -7 -6 -5 -5 -10 -12 -12 -10 -8 -6 -6 -6 -5 -3 -1 -1 -1 -1 -1 -0 2 3 3 3 3 2 -0 -1 -3 -4 -4 -5 -5 -5 -4 -3 -2 -0 2 3 4 5 5 6 5 3 -0 -3 -8 -10 -12 -13 -12 -10 -7 -4 -1 -0 -0 -1 -2 -2 -2 -2 -1 -0 -0 -3 -8 -11 -14 -15 -16 -16 -14 -11 -8 -6 -2 2 5 8 11 11 10 9 8 5 -0 -5 -6 -5 -1 2 2 -0 -5 -10 -12 -13 -11 -8 -4 -2 -3 -5 -7 -8 -11 -12 -10 -8 -7 -10 -9 -7 -3 -0 3 4 2 -0 -2 -3 -5 -8 -11 -11 -10 -10 -12 -14 -13 -10 -8 -5 -2 1 2 -0 -3 -5 -5 -3 -1 -1 -3 -4 -3 -1 1 -1 -7 -12 -12 -9 -5 -1 -3 -8 -16 -23 -23 -15 -6 1 3 4 5 7 7 6 3 1 1 2 2 6 9 10 10 9 9 6 1 -6 -12 -15 -16 -15 -11 -7 -6 -7 -8 -9 -8 -6 -4 -4 -4 -6 -10 -12 -12 -8 -5 -3 -2 -3 -6 -9 -12 -14 -15 -15 -15 -15 -12 -9 -8 -10 -11 -11 -10 -9 -12 -13 -11 -8 -6 -7 -9 -12 -13 -13 -11 -11 -12 -14 -18 -19 -18 -16 -15 -16 -18 -20 -21 -22 -21 -20 -19 -18 -19 -20 -22 -23 -23 -22 -21 -20 -21 -21 -21 -22 -23 -24 -23 -22 -21 -21 -21 -20 -19 -19 -18 -18 -18 -20 -20 -20 -21 -21 -22 -20 -19 -18 -19 -19 -19 -20 -20 -21 -23 -24 -25 -26 -26 -25 -24 -24 -25 -27 -28 -26 -24 -23 -22 -22 -20 -20 -20 -20 -20 -20 -20 -19 -16 -14 -15 -17 -19 -19 -20 -20 -19 -20 -23 -27 -27 -25 -23 -20 -21 -24 -28 -31 -30 -25 -24 -25 -23 -2 -3 -11 -19 -25 -33 -43 -50 -55 -47 23 44 50 51 49 45 34 11 -12 -16 -14 -13 -13 -13 -14 -14 -11 -6 -3 -2 -2 -2 -3 -3 -4 -6 -9 -9 -8 -6 -6 -7 -8 -9 -8 -6 -5 -6 -6 -5 -4 -3 -3 -3 -3 -3 -4 -4 -5 -6 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -8 -11 -13 -14 -11 -7 -6 -6 -5 -3 -2 -2 -2 -2 -2 -2 -1 1 2 3 3 3 2 1 -1 -2 -3 -3 -3 -2 -1 -1 -0 -0 1 3 4 4 4 3 3 3 2 -0 -5 -7 -9 -10 -11 -10 -8 -6 -4 -1 -0 -1 -2 -2 -2 -1 -2 -2 -1 -1 -5 -9 -11 -13 -14 -16 -16 -13 -10 -8 -5 -1 1 2 4 7 8 10 13 15 11 4 -2 -6 -5 -3 -0 1 -1 -6 -9 -10 -11 -12 -9 -4 -1 -1 -4 -8 -11 -13 -11 -8 -5 -8 -9 -7 -4 -3 -0 2 3 2 -0 -2 -4 -7 -10 -12 -14 -14 -15 -15 -14 -9 -6 -5 -4 -2 -0 -0 -2 -4 -4 -2 -0 1 -0 -2 -3 -2 -1 -0 -4 -8 -11 -13 -12 -4 -1 -3 -9 -17 -21 -16 -7 1 2 1 2 4 8 8 5 2 1 2 1 1 4 5 6 7 9 9 7 2 -6 -11 -14 -15 -13 -9 -8 -8 -9 -11 -10 -8 -6 -4 -5 -6 -8 -11 -12 -11 -9 -5 -3 -2 -5 -8 -11 -14 -16 -16 -16 -18 -16 -12 -8 -8 -11 -12 -11 -9 -11 -14 -15 -11 -6 -6 -8 -11 -15 -15 -12 -11 -10 -12 -15 -17 -17 -17 -16 -16 -17 -19 -21 -22 -21 -20 -20 -20 -20 -21 -23 -24 -24 -23 -23 -20 -19 -20 -20 -21 -22 -23 -23 -23 -21 -21 -21 -20 -20 -19 -19 -18 -18 -19 -19 -20 -20 -21 -21 -22 -20 -19 -19 -20 -20 -21 -22 -23 -25 -25 -25 -26 -27 -26 -26 -26 -25 -26 -27 -27 -27 -25 -25 -24 -22 -21 -21 -22 -20 -19 -19 -17 -14 -13 -14 -16 -18 -18 -20 -20 -19 -20 -24 -27 -27 -25 -23 -19 -18 -20 -24 -28 -30 -29 -26 -26 -27 -7 3 -0 -12 -22 -31 -40 -47 -52 -52 -2 33 51 54 53 49 42 20 -12 -26 -22 -19 -18 -16 -16 -16 -13 -9 -5 -3 -3 -4 -5 -4 -4 -5 -7 -8 -7 -6 -7 -8 -9 -9 -7 -5 -5 -6 -5 -5 -4 -3 -3 -3 -3 -4 -5 -6 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -6 -8 -9 -8 -7 -5 -4 -4 -3 -3 -4 -4 -5 -4 -4 -3 -2 -1 -0 1 2 1 -0 -1 -2 -2 -2 -1 -0 -0 1 1 1 2 3 3 3 2 2 2 3 2 1 -2 -4 -5 -7 -9 -9 -8 -6 -5 -3 -2 -2 -3 -3 -1 1 1 1 1 -0 -1 -4 -8 -10 -12 -14 -16 -15 -13 -11 -8 -3 -0 1 -0 -0 1 4 8 14 17 13 6 -1 -7 -6 -3 -0 -0 -3 -5 -6 -8 -11 -13 -10 -5 -0 -0 -3 -9 -13 -14 -12 -7 -7 -7 -7 -4 -4 -3 -0 2 2 1 -2 -4 -6 -9 -12 -15 -16 -17 -17 -16 -11 -6 -3 -3 -3 -2 -2 -2 -4 -3 -1 1 3 3 1 -2 -3 -4 -2 -3 -5 -9 -14 -18 -10 -3 -0 -3 -11 -18 -16 -9 -0 3 1 -0 1 5 8 7 6 4 3 2 -1 -0 1 2 2 4 8 11 10 4 -2 -7 -10 -11 -9 -9 -10 -11 -13 -12 -10 -7 -5 -5 -7 -8 -10 -11 -11 -10 -7 -5 -3 -4 -6 -10 -14 -16 -16 -16 -18 -19 -17 -11 -8 -10 -12 -13 -10 -10 -13 -15 -13 -9 -7 -8 -10 -14 -15 -14 -12 -10 -9 -10 -12 -14 -16 -18 -18 -18 -18 -20 -22 -22 -21 -21 -21 -19 -18 -21 -23 -22 -19 -18 -18 -18 -19 -20 -20 -21 -21 -21 -22 -21 -21 -21 -20 -20 -20 -19 -19 -19 -19 -19 -19 -19 -20 -20 -21 -21 -20 -20 -20 -21 -22 -23 -25 -27 -26 -26 -27 -27 -28 -28 -27 -25 -25 -25 -27 -28 -28 -28 -26 -24 -23 -23 -23 -19 -18 -18 -16 -14 -14 -14 -16 -18 -18 -19 -19 -20 -21 -24 -25 -25 -24 -23 -20 -18 -18 -20 -25 -29 -31 -29 -26 -25 -20 1 8 -4 -19 -27 -35 -42 -47 -50 -37 10 50 56 55 52 47 30 -4 -37 -34 -29 -24 -22 -20 -19 -16 -12 -7 -5 -6 -7 -7 -7 -5 -4 -5 -7 -5 -6 -7 -8 -8 -7 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -5 -6 -7 -8 -8 -8 -7 -6 -6 -6 -6 -7 -8 -8 -9 -10 -9 -7 -4 -3 -3 -4 -4 -5 -5 -4 -3 -2 -3 -3 -5 -6 -7 -6 -6 -5 -4 -3 -3 -2 -1 -0 -0 -0 -0 -1 -1 -0 1 2 2 2 2 3 3 3 2 2 1 2 2 2 1 -1 -2 -3 -4 -6 -8 -8 -6 -5 -4 -4 -3 -4 -5 -4 -0 4 6 6 5 2 -1 -4 -7 -9 -11 -14 -16 -16 -15 -13 -6 -0 3 2 -1 -3 -3 -1 5 12 15 13 6 -2 -4 -3 -1 1 -2 -3 -3 -4 -6 -12 -14 -10 -4 1 1 -4 -11 -15 -15 -11 -8 -7 -6 -4 -4 -3 -1 1 3 2 -1 -3 -5 -7 -10 -14 -17 -18 -19 -19 -15 -8 -2 -0 -1 -2 -2 -2 -5 -4 -1 1 4 4 4 1 -3 -5 -5 -3 -3 -6 -13 -20 -16 -8 -2 -0 -5 -13 -14 -10 -1 4 2 -1 -2 -0 4 8 9 8 7 5 2 -0 -0 -0 -0 -1 3 10 15 14 10 5 -0 -4 -6 -8 -9 -11 -13 -13 -12 -10 -7 -6 -8 -9 -10 -10 -10 -10 -8 -6 -4 -4 -5 -9 -13 -17 -17 -17 -18 -20 -20 -16 -10 -10 -12 -15 -13 -10 -11 -13 -14 -11 -10 -10 -11 -12 -14 -14 -13 -11 -9 -9 -9 -11 -14 -18 -21 -19 -18 -19 -22 -23 -23 -22 -20 -18 -16 -19 -21 -20 -19 -17 -17 -17 -19 -20 -20 -21 -20 -20 -20 -20 -21 -21 -20 -21 -20 -20 -20 -20 -19 -19 -19 -19 -20 -21 -22 -22 -22 -20 -19 -20 -21 -23 -26 -27 -27 -27 -29 -29 -29 -29 -27 -25 -25 -24 -24 -26 -28 -28 -28 -26 -25 -25 -22 -19 -18 -17 -17 -16 -16 -15 -15 -18 -19 -19 -19 -19 -21 -24 -25 -25 -24 -24 -22 -20 -18 -18 -22 -26 -29 -30 -27 -23 -28 -9 4 1 -15 -22 -30 -37 -42 -45 -45 -12 30 57 57 54 50 36 3 -39 -42 -36 -30 -25 -22 -21 -18 -15 -10 -8 -9 -10 -11 -10 -7 -5 -5 -6 -4 -6 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -5 -6 -7 -7 -6 -5 -5 -5 -6 -6 -7 -9 -10 -11 -11 -11 -10 -8 -6 -4 -3 -3 -3 -3 -3 -2 -2 -1 -2 -3 -4 -6 -8 -8 -8 -7 -7 -6 -4 -4 -3 -2 -1 -0 -0 -0 -0 -0 1 2 2 2 3 3 4 3 3 3 1 1 1 -0 -0 -2 -2 -1 -1 -3 -6 -8 -6 -4 -2 -3 -3 -5 -7 -8 -5 2 8 13 13 8 3 -1 -3 -6 -8 -11 -14 -17 -17 -17 -11 -3 3 4 2 -1 -4 -5 -5 1 8 11 9 3 -0 -0 2 3 -0 -3 -2 -1 -1 -5 -11 -12 -9 -3 2 -0 -6 -14 -18 -15 -11 -8 -7 -5 -4 -4 -2 1 4 4 1 -2 -5 -8 -9 -12 -14 -17 -19 -20 -19 -14 -7 -0 1 -0 -1 -2 -5 -6 -4 -0 3 5 6 4 -1 -5 -6 -4 -3 -5 -11 -20 -19 -14 -7 -2 -3 -9 -12 -10 -3 3 3 -0 -3 -3 -1 3 7 10 10 9 7 4 2 1 -1 -4 -3 2 10 15 16 15 12 7 2 -3 -6 -9 -10 -12 -12 -11 -9 -8 -9 -10 -11 -11 -10 -9 -8 -6 -5 -4 -5 -8 -12 -16 -17 -17 -19 -21 -22 -20 -14 -11 -12 -17 -16 -12 -11 -12 -13 -13 -13 -12 -12 -12 -13 -13 -13 -12 -12 -10 -9 -9 -11 -16 -20 -18 -16 -17 -21 -23 -24 -23 -21 -18 -15 -17 -20 -21 -20 -20 -19 -19 -19 -19 -20 -21 -21 -20 -20 -20 -21 -21 -19 -20 -20 -20 -19 -19 -20 -19 -19 -20 -21 -22 -22 -22 -21 -20 -19 -19 -21 -23 -25 -28 -29 -29 -30 -30 -30 -30 -28 -26 -26 -25 -24 -23 -23 -25 -26 -27 -27 -25 -22 -19 -18 -18 -18 -17 -16 -15 -15 -18 -20 -21 -20 -20 -21 -24 -26 -26 -25 -25 -24 -22 -19 -17 -20 -23 -27 -28 -28 -24 -21 -25 -23 -0 -11 -18 -25 -32 -38 -41 -42 -32 -5 48 56 55 51 36 -10 -32 -38 -36 -31 -26 -23 -21 -19 -16 -13 -12 -13 -14 -13 -13 -11 -8 -7 -7 -5 -6 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -5 -5 -6 -7 -8 -9 -10 -11 -11 -10 -10 -9 -8 -6 -5 -4 -3 -3 -2 -2 -2 -1 -1 -1 -2 -4 -6 -8 -9 -9 -10 -11 -10 -7 -5 -4 -4 -3 -1 -0 -0 1 1 1 2 2 2 2 3 4 4 4 3 1 -0 -1 -2 -2 -3 -2 -1 -0 -1 -4 -7 -7 -4 -1 -0 -2 -5 -8 -12 -14 -8 2 12 18 16 10 6 2 -2 -4 -7 -12 -15 -17 -16 -13 -8 -2 3 4 3 -0 -3 -7 -7 -3 1 3 2 -1 -0 3 6 4 -2 -3 -1 3 3 -4 -10 -13 -10 -1 2 -1 -9 -16 -17 -14 -10 -7 -6 -5 -4 -3 -0 3 4 3 -0 -4 -8 -9 -10 -12 -15 -17 -19 -20 -18 -13 -5 -0 -0 -1 -1 -3 -7 -7 -4 1 5 8 6 1 -3 -5 -6 -5 -5 -9 -17 -20 -17 -13 -7 -5 -7 -10 -10 -4 2 3 1 -2 -4 -5 -3 2 7 10 13 13 11 8 4 1 -3 -5 -4 -0 8 15 19 20 18 14 8 1 -4 -6 -9 -10 -11 -10 -10 -11 -11 -12 -12 -11 -10 -7 -5 -3 -3 -4 -7 -10 -14 -15 -16 -18 -21 -23 -23 -19 -14 -13 -17 -18 -14 -12 -12 -13 -13 -14 -13 -13 -13 -13 -12 -12 -11 -12 -12 -11 -10 -10 -12 -14 -14 -14 -15 -19 -22 -23 -23 -22 -20 -17 -17 -19 -21 -23 -24 -23 -21 -18 -18 -20 -21 -21 -20 -20 -20 -21 -20 -19 -19 -19 -19 -19 -19 -20 -20 -20 -19 -20 -22 -22 -20 -19 -19 -19 -20 -22 -23 -25 -29 -31 -31 -31 -30 -31 -31 -29 -27 -27 -26 -24 -23 -22 -23 -25 -26 -26 -25 -21 -19 -17 -18 -18 -18 -17 -16 -16 -18 -21 -22 -22 -22 -22 -23 -25 -27 -27 -26 -25 -24 -21 -18 -19 -21 -24 -26 -27 -24 -19 -18 -21 -24 -13 -14 -20 -28 -35 -37 -39 -38 -30 9 39 51 49 39 7 -19 -30 -31 -28 -24 -21 -19 -19 -17 -16 -15 -16 -17 -16 -15 -14 -12 -9 -8 -7 -6 -6 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -5 -5 -5 -6 -8 -11 -12 -12 -10 -9 -7 -6 -6 -6 -5 -5 -4 -4 -4 -3 -2 -2 -1 -1 -1 -2 -4 -6 -8 -8 -9 -12 -15 -15 -13 -7 -5 -4 -3 -3 -2 -0 1 2 3 3 2 1 -0 -0 2 3 4 4 2 -0 -1 -2 -2 -2 -3 -2 1 2 1 -5 -8 -7 -2 -0 -1 -4 -7 -10 -15 -17 -12 -1 11 18 17 14 10 4 -0 -3 -7 -12 -13 -11 -10 -9 -6 -3 1 3 4 1 -3 -5 -6 -5 -5 -6 -7 -6 -1 5 8 1 -3 -3 2 7 5 -3 -11 -14 -7 1 2 -4 -12 -16 -16 -12 -9 -7 -6 -5 -4 -2 1 3 5 3 -1 -6 -7 -8 -11 -13 -15 -16 -19 -20 -18 -11 -5 -3 -2 -2 -2 -5 -8 -7 -3 4 8 7 3 -1 -4 -6 -5 -5 -7 -14 -17 -17 -15 -11 -8 -9 -10 -9 -4 1 3 2 -0 -2 -5 -6 -3 1 6 11 14 14 12 8 4 -0 -3 -5 -7 -3 4 11 17 20 20 18 13 5 1 -2 -5 -8 -10 -10 -11 -12 -12 -12 -12 -11 -8 -5 -1 1 -2 -5 -9 -11 -12 -15 -18 -21 -24 -26 -24 -19 -15 -16 -17 -14 -12 -13 -14 -14 -14 -14 -13 -13 -13 -12 -11 -10 -11 -12 -12 -12 -11 -11 -12 -12 -12 -14 -17 -20 -22 -23 -23 -22 -19 -18 -19 -21 -25 -26 -24 -21 -17 -17 -20 -21 -22 -21 -21 -21 -21 -19 -19 -19 -19 -19 -19 -19 -20 -20 -19 -18 -19 -21 -20 -19 -17 -18 -19 -22 -24 -24 -25 -29 -32 -32 -31 -30 -31 -31 -31 -28 -27 -26 -24 -23 -23 -23 -23 -23 -23 -23 -21 -18 -17 -17 -17 -18 -19 -19 -18 -19 -20 -21 -22 -22 -22 -22 -24 -26 -28 -27 -27 -26 -24 -19 -18 -19 -20 -21 -23 -22 -18 -14 -14 -22 -23 -20 -18 -24 -31 -36 -37 -38 -35 -22 8 28 36 35 17 -9 -23 -25 -24 -21 -20 -20 -20 -20 -19 -19 -18 -18 -18 -17 -16 -14 -12 -11 -9 -6 -6 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -9 -12 -13 -13 -10 -8 -5 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -2 -2 -3 -3 -2 -3 -5 -7 -8 -8 -12 -17 -21 -21 -15 -8 -4 -3 -3 -3 -1 1 3 4 4 4 2 1 -0 -0 -0 2 3 2 1 -0 -1 -1 -1 -2 -2 -0 3 5 1 -4 -6 -5 -2 -2 -3 -4 -6 -11 -16 -17 -15 -8 4 13 17 16 10 5 2 -1 -5 -7 -5 -4 -5 -7 -6 -3 1 3 4 2 -2 -3 -4 -4 -7 -10 -12 -10 -5 4 4 -1 -5 -4 4 8 5 -4 -12 -10 -1 3 -0 -8 -15 -16 -14 -11 -8 -7 -6 -5 -4 -2 1 4 5 3 -1 -4 -6 -8 -10 -12 -14 -17 -19 -19 -15 -9 -7 -6 -4 -2 -4 -7 -8 -6 1 6 6 3 -1 -4 -7 -7 -7 -7 -11 -14 -16 -15 -12 -11 -10 -10 -8 -4 -0 2 2 1 -0 -2 -4 -5 -4 -1 5 9 11 11 9 7 4 1 -3 -7 -8 -6 -2 5 11 16 19 19 15 11 8 4 -1 -5 -8 -10 -12 -13 -13 -13 -13 -11 -7 -0 4 2 -3 -7 -9 -11 -13 -16 -19 -23 -27 -27 -24 -19 -16 -15 -12 -11 -12 -14 -15 -16 -15 -13 -13 -13 -13 -12 -10 -9 -11 -12 -13 -13 -12 -12 -11 -11 -12 -15 -18 -21 -23 -23 -22 -19 -18 -18 -20 -25 -23 -20 -18 -16 -16 -18 -20 -22 -22 -21 -21 -21 -19 -18 -17 -17 -18 -19 -19 -19 -18 -18 -17 -17 -18 -19 -18 -16 -17 -19 -22 -25 -26 -27 -30 -31 -31 -31 -31 -30 -30 -30 -28 -27 -25 -24 -24 -24 -23 -22 -21 -21 -20 -19 -18 -17 -17 -17 -17 -19 -21 -21 -19 -19 -20 -21 -23 -22 -22 -23 -25 -27 -27 -28 -28 -26 -21 -19 -18 -17 -15 -18 -19 -17 -14 -11 -17 -20 -22 -23 -21 -27 -32 -36 -37 -34 -29 -15 -0 12 13 -7 -18 -20 -23 -24 -23 -22 -22 -23 -23 -22 -21 -20 -19 -19 -18 -17 -16 -15 -14 -13 -6 -6 -6 -6 -6 -6 -5 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -7 -9 -11 -12 -11 -10 -7 -3 -2 -2 -3 -2 -2 -2 -3 -3 -3 -2 -2 -3 -3 -3 -3 -5 -7 -8 -8 -10 -15 -20 -23 -19 -14 -8 -5 -3 -3 -2 -0 2 5 6 6 5 4 2 -0 -1 -1 -0 1 1 -0 -0 -2 -3 -2 -2 -1 1 4 4 1 -3 -5 -3 -3 -3 -3 -3 -4 -10 -15 -18 -17 -12 -3 7 12 11 6 3 1 -0 -2 -0 2 1 -2 -5 -4 -2 -0 1 2 1 -0 -1 -2 -3 -6 -10 -13 -13 -6 1 1 -3 -8 -6 2 5 3 -5 -9 -3 2 2 -4 -13 -16 -15 -13 -10 -7 -5 -4 -4 -4 -2 2 5 6 3 -1 -4 -6 -7 -9 -11 -14 -17 -18 -16 -11 -9 -8 -7 -5 -4 -6 -7 -7 -3 3 5 4 -0 -5 -8 -10 -9 -7 -9 -11 -13 -13 -13 -12 -12 -11 -9 -4 -1 1 1 1 -0 -0 -1 -3 -5 -5 -2 1 5 7 8 7 5 2 -1 -5 -9 -10 -9 -5 -1 3 9 14 18 19 17 14 10 5 -0 -4 -8 -12 -14 -14 -14 -13 -11 -3 4 5 1 -5 -8 -9 -11 -14 -17 -21 -26 -27 -26 -24 -19 -13 -10 -10 -13 -14 -15 -16 -15 -13 -13 -13 -14 -13 -12 -9 -9 -11 -12 -13 -13 -12 -11 -10 -10 -13 -16 -20 -22 -24 -21 -19 -18 -18 -20 -27 -24 -20 -16 -16 -16 -17 -19 -21 -21 -22 -21 -20 -19 -18 -17 -17 -18 -18 -18 -18 -17 -16 -16 -15 -16 -17 -17 -16 -16 -18 -21 -24 -26 -28 -30 -30 -28 -29 -29 -29 -28 -28 -27 -26 -25 -24 -24 -24 -23 -22 -20 -19 -19 -19 -18 -17 -17 -17 -17 -19 -22 -22 -19 -19 -19 -20 -22 -22 -22 -23 -24 -25 -27 -28 -28 -27 -23 -21 -18 -15 -12 -14 -15 -15 -13 -12 -16 -17 -18 -21 -24 -25 -28 -33 -36 -34 -28 -22 -14 -8 -6 -20 -23 -22 -25 -28 -28 -27 -26 -25 -24 -23 -22 -21 -21 -20 -19 -19 -18 -18 -17 -16 -6 -6 -6 -6 -6 -5 -5 -4 -4 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -6 -6 -5 -4 -4 -5 -7 -8 -9 -8 -7 -5 -4 -4 -4 -3 -3 -3 -3 -2 -1 -1 -3 -3 -4 -3 -3 -5 -7 -9 -10 -10 -12 -15 -18 -17 -14 -11 -8 -6 -5 -4 -2 -1 1 4 6 6 6 4 2 1 -0 -0 -0 -0 -0 -0 -2 -4 -5 -4 -2 -0 2 5 4 2 -2 -2 -2 -3 -4 -4 -2 -4 -9 -14 -18 -17 -13 -6 1 6 4 2 -0 -2 -2 -0 4 5 4 -0 -2 -2 -2 -2 -1 -0 1 1 -0 -1 -2 -5 -10 -14 -11 -4 -0 -0 -5 -9 -6 -1 2 -2 -7 -6 -2 1 -1 -8 -12 -14 -13 -11 -8 -5 -4 -4 -4 -4 -1 2 4 4 1 -2 -4 -6 -7 -9 -12 -14 -17 -17 -12 -9 -8 -9 -9 -6 -5 -5 -7 -6 -0 4 5 1 -5 -11 -13 -12 -9 -9 -10 -10 -10 -11 -12 -14 -13 -10 -5 -1 -0 1 -0 -0 -1 -0 -0 -2 -4 -5 -4 -1 1 3 5 4 3 -0 -4 -8 -10 -10 -9 -7 -6 -3 2 10 17 21 21 18 14 9 4 -2 -8 -12 -13 -14 -14 -13 -9 -0 5 5 -1 -5 -7 -9 -12 -15 -20 -24 -27 -27 -26 -22 -14 -9 -9 -11 -14 -14 -15 -16 -15 -14 -13 -13 -15 -14 -11 -9 -8 -9 -11 -12 -13 -12 -10 -10 -11 -15 -18 -21 -23 -21 -20 -19 -18 -20 -28 -28 -22 -16 -16 -16 -16 -18 -19 -21 -22 -21 -20 -19 -18 -17 -17 -17 -18 -18 -18 -18 -16 -16 -15 -15 -15 -16 -16 -15 -17 -19 -22 -25 -28 -29 -28 -26 -27 -28 -28 -27 -27 -26 -26 -26 -24 -24 -24 -24 -22 -20 -17 -19 -20 -20 -20 -18 -18 -18 -20 -22 -22 -21 -20 -19 -19 -20 -21 -22 -22 -21 -23 -25 -27 -28 -27 -25 -22 -19 -17 -13 -12 -11 -11 -11 -12 -16 -16 -15 -16 -21 -25 -26 -28 -32 -32 -29 -23 -17 -13 -11 -15 -20 -24 -26 -29 -29 -29 -28 -26 -23 -22 -22 -21 -20 -20 -20 -19 -19 -18 -18 -18 -5 -5 -6 -5 -5 -5 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -5 -6 -7 -8 -7 -6 -4 -2 -2 -3 -3 -4 -5 -6 -6 -6 -6 -7 -7 -6 -6 -5 -3 -1 -1 -2 -2 -3 -4 -5 -6 -8 -9 -11 -11 -12 -14 -15 -15 -13 -11 -9 -8 -6 -5 -4 -3 -1 2 3 4 5 5 5 3 2 1 -0 -0 -0 -1 -2 -4 -6 -6 -5 -3 -0 5 7 6 3 3 2 -0 -4 -6 -4 -3 -4 -8 -13 -16 -17 -15 -10 -4 -0 -0 -2 -4 -5 -4 1 5 7 6 3 1 -1 -2 -4 -4 -2 -0 1 -0 -0 -1 -3 -7 -10 -8 -4 -1 -2 -7 -8 -6 -3 -2 -6 -8 -6 -3 -1 -6 -8 -9 -10 -11 -10 -6 -4 -3 -4 -4 -3 1 4 4 3 1 -2 -4 -5 -7 -9 -12 -15 -16 -12 -9 -7 -9 -10 -8 -6 -4 -5 -6 -3 1 5 3 -5 -13 -17 -17 -12 -9 -8 -8 -8 -7 -9 -13 -15 -12 -5 -0 -0 -1 -1 -2 -2 -1 -0 1 -0 -1 -2 -3 -3 -2 -0 1 1 -0 -4 -8 -10 -10 -8 -6 -7 -9 -8 -4 6 16 22 24 20 16 13 8 -0 -7 -11 -12 -12 -12 -11 -4 2 5 3 -1 -4 -7 -11 -15 -19 -22 -25 -26 -27 -23 -15 -9 -8 -10 -12 -13 -15 -16 -17 -17 -15 -14 -14 -15 -13 -10 -8 -7 -10 -12 -12 -12 -11 -10 -11 -14 -17 -19 -21 -22 -22 -21 -18 -18 -26 -26 -21 -17 -16 -16 -17 -17 -17 -21 -21 -20 -19 -20 -18 -17 -17 -17 -17 -19 -20 -19 -17 -16 -15 -14 -13 -15 -15 -15 -15 -17 -21 -24 -28 -29 -29 -26 -26 -27 -27 -26 -26 -26 -26 -25 -24 -24 -24 -23 -22 -20 -16 -17 -20 -22 -22 -19 -18 -19 -21 -22 -21 -20 -19 -19 -19 -19 -21 -22 -22 -19 -20 -22 -25 -27 -28 -27 -24 -21 -19 -16 -13 -10 -9 -10 -13 -15 -15 -15 -14 -17 -22 -25 -26 -28 -30 -28 -24 -18 -14 -11 -13 -19 -25 -26 -28 -28 -28 -28 -26 -24 -23 -22 -20 -20 -20 -20 -19 -18 -17 -18 -19 -5 -5 -6 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -4 -5 -5 -6 -7 -7 -7 -6 -5 -3 -2 -2 -1 -1 -2 -3 -4 -4 -5 -6 -8 -9 -9 -8 -6 -5 -2 -0 -1 -1 -2 -3 -6 -8 -9 -10 -13 -14 -15 -15 -15 -14 -12 -11 -10 -8 -5 -4 -4 -3 -1 -0 1 1 1 2 3 3 3 3 2 1 -0 -1 -2 -3 -4 -6 -8 -7 -4 3 8 10 8 8 7 4 -1 -6 -8 -5 -2 -3 -7 -12 -15 -17 -15 -12 -6 -3 -3 -5 -7 -7 -5 -1 4 7 7 5 3 1 -4 -6 -5 -3 -0 -0 -0 1 -0 -2 -5 -8 -7 -5 -3 -4 -7 -7 -6 -4 -6 -7 -7 -6 -5 -8 -7 -6 -5 -7 -8 -8 -6 -5 -4 -4 -2 -0 4 7 6 4 1 -1 -3 -4 -6 -9 -13 -16 -14 -10 -7 -8 -10 -10 -8 -5 -3 -4 -5 -2 2 4 -4 -15 -22 -23 -15 -9 -7 -6 -6 -4 -6 -10 -14 -14 -7 -1 1 -0 -2 -4 -4 -3 -2 -1 1 2 1 -0 -1 -2 -2 -2 -1 -1 -4 -8 -12 -13 -9 -5 -5 -7 -10 -13 -6 5 15 22 22 20 20 17 10 1 -6 -9 -11 -11 -12 -8 -2 3 5 2 -3 -6 -9 -12 -16 -20 -22 -24 -25 -22 -16 -11 -9 -11 -12 -13 -14 -16 -18 -18 -17 -14 -13 -14 -12 -11 -9 -8 -9 -11 -12 -13 -13 -12 -11 -12 -14 -17 -20 -22 -23 -23 -18 -17 -23 -25 -21 -17 -17 -17 -17 -17 -17 -19 -20 -19 -18 -19 -18 -17 -17 -17 -17 -19 -21 -21 -19 -17 -16 -14 -12 -12 -14 -15 -15 -16 -19 -24 -29 -31 -29 -25 -25 -26 -26 -26 -25 -24 -25 -25 -24 -23 -23 -22 -22 -21 -16 -17 -19 -22 -22 -20 -19 -19 -20 -21 -19 -18 -18 -19 -19 -20 -21 -21 -20 -19 -18 -20 -23 -25 -28 -28 -26 -23 -21 -19 -15 -12 -10 -12 -15 -16 -16 -16 -15 -15 -19 -22 -23 -23 -27 -27 -24 -19 -14 -13 -15 -18 -23 -27 -27 -27 -28 -27 -26 -25 -24 -22 -20 -20 -21 -20 -19 -17 -16 -18 -20 -5 -5 -6 -5 -4 -4 -4 -5 -5 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -5 -4 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -3 -5 -8 -10 -9 -7 -5 -4 -2 -0 -0 -1 -2 -3 -5 -8 -9 -10 -13 -16 -17 -16 -15 -13 -10 -9 -8 -7 -5 -4 -3 -2 -1 -0 -0 -0 -2 -3 -1 -0 2 3 3 2 -0 -1 -3 -3 -2 -4 -7 -11 -11 -3 5 11 13 13 13 10 5 -2 -9 -9 -5 -2 -3 -7 -11 -13 -15 -15 -12 -8 -4 -4 -5 -7 -8 -7 -3 3 6 7 7 4 -0 -5 -6 -5 -2 -0 -0 -0 1 1 -0 -5 -8 -8 -6 -4 -6 -7 -7 -6 -7 -8 -8 -7 -9 -12 -12 -9 -4 -0 -3 -6 -7 -6 -4 -4 -4 -2 2 6 9 8 6 3 1 -1 -4 -8 -11 -14 -14 -11 -7 -6 -8 -10 -9 -6 -4 -4 -5 -4 -1 3 -2 -14 -25 -28 -21 -11 -5 -4 -4 -3 -3 -5 -10 -13 -9 -3 -0 -0 -1 -4 -5 -4 -3 -2 -1 1 2 3 2 -0 -1 -2 -2 -2 -3 -7 -12 -16 -16 -9 -6 -5 -7 -12 -12 -6 4 13 19 20 21 22 19 10 2 -4 -7 -10 -12 -10 -5 1 5 4 1 -3 -6 -9 -14 -18 -20 -22 -23 -21 -17 -13 -11 -12 -12 -13 -14 -17 -17 -18 -17 -15 -14 -14 -12 -11 -11 -10 -9 -11 -12 -13 -13 -13 -11 -12 -13 -17 -20 -22 -24 -24 -20 -17 -22 -25 -23 -19 -18 -17 -18 -18 -17 -18 -19 -19 -17 -17 -18 -17 -17 -17 -17 -18 -20 -21 -21 -19 -17 -15 -12 -12 -13 -14 -15 -15 -18 -24 -29 -31 -29 -25 -25 -25 -26 -26 -24 -23 -23 -24 -23 -22 -22 -22 -21 -21 -17 -17 -17 -18 -18 -19 -20 -20 -20 -19 -17 -17 -18 -19 -19 -20 -20 -21 -20 -19 -19 -20 -22 -24 -26 -27 -27 -25 -23 -20 -16 -13 -13 -13 -15 -16 -17 -18 -17 -16 -17 -19 -20 -21 -24 -24 -23 -19 -15 -15 -15 -17 -20 -26 -27 -28 -28 -28 -27 -25 -24 -22 -20 -21 -21 -21 -20 -16 -16 -17 -20 -5 -6 -5 -4 -4 -4 -4 -5 -5 -4 -4 -4 -5 -6 -6 -7 -6 -5 -5 -4 -4 -4 -3 -2 -1 -1 -1 -0 1 1 1 -0 -3 -6 -8 -6 -5 -3 -3 -1 -0 -0 -1 -2 -3 -4 -7 -8 -9 -10 -14 -17 -17 -15 -12 -8 -6 -6 -5 -4 -3 -1 -0 1 1 1 -0 -2 -5 -5 -4 -3 -1 1 1 1 -1 -3 -3 -2 -2 -4 -8 -14 -11 -3 7 14 17 18 17 13 6 -5 -11 -11 -6 -2 -2 -6 -9 -11 -14 -15 -13 -9 -5 -4 -4 -6 -8 -8 -4 1 5 7 6 4 -1 -4 -5 -3 -1 -0 -0 1 3 2 -2 -6 -9 -8 -5 -6 -7 -7 -6 -7 -9 -8 -8 -9 -16 -19 -17 -9 1 2 -1 -5 -6 -5 -5 -5 -5 -3 2 8 11 10 8 7 5 1 -4 -9 -11 -11 -10 -8 -6 -7 -9 -9 -8 -5 -3 -4 -5 -5 -1 -4 -13 -23 -29 -25 -13 -4 -0 -1 -2 -0 -0 -4 -10 -11 -8 -4 -1 -1 -4 -5 -4 -3 -3 -3 -1 -0 2 4 3 2 -0 -2 -2 -3 -6 -12 -17 -18 -14 -10 -7 -6 -9 -13 -12 -7 1 10 14 16 19 22 17 9 3 -3 -7 -10 -12 -9 -3 4 7 5 1 -3 -6 -10 -13 -17 -19 -21 -20 -17 -14 -12 -11 -12 -13 -15 -16 -16 -17 -17 -16 -15 -15 -13 -11 -10 -10 -11 -13 -14 -15 -15 -15 -14 -13 -13 -16 -20 -22 -24 -26 -24 -19 -21 -25 -25 -21 -19 -18 -18 -18 -18 -18 -18 -19 -18 -18 -18 -18 -17 -17 -17 -18 -19 -21 -21 -20 -18 -16 -13 -12 -12 -14 -16 -16 -18 -23 -28 -29 -28 -26 -25 -25 -25 -25 -23 -22 -22 -21 -20 -22 -22 -22 -20 -20 -18 -17 -17 -18 -18 -20 -21 -21 -21 -19 -17 -17 -18 -20 -19 -18 -19 -19 -21 -20 -20 -20 -22 -23 -25 -27 -27 -26 -25 -20 -17 -15 -15 -15 -15 -16 -17 -19 -19 -18 -17 -18 -19 -20 -22 -22 -21 -19 -17 -16 -16 -15 -18 -23 -27 -28 -28 -28 -27 -26 -24 -22 -21 -22 -22 -21 -20 -17 -16 -17 -20 -6 -6 -5 -4 -4 -4 -4 -5 -5 -4 -4 -4 -5 -6 -6 -6 -5 -5 -5 -5 -5 -4 -3 -2 -1 -1 -2 -1 -0 2 2 1 -1 -4 -6 -4 -3 -2 -2 -1 -1 -1 -1 -2 -4 -4 -6 -8 -7 -5 -8 -12 -15 -16 -14 -8 -5 -4 -3 -3 -2 -1 1 2 2 2 2 1 -1 -3 -5 -6 -7 -5 -3 -2 -2 -3 -3 -3 -1 -1 -2 -9 -14 -12 -4 7 17 22 24 22 16 6 -4 -10 -11 -7 -2 -2 -5 -8 -10 -13 -14 -12 -8 -4 -3 -4 -6 -8 -8 -4 -1 3 5 5 4 1 -2 -2 -2 -1 -1 -0 1 1 -1 -4 -7 -8 -7 -7 -8 -8 -8 -7 -8 -8 -8 -8 -15 -22 -24 -19 -7 2 2 -1 -4 -4 -4 -5 -6 -7 -5 2 8 12 13 12 10 7 1 -5 -8 -8 -8 -7 -6 -6 -7 -9 -9 -6 -3 -4 -6 -7 -6 -6 -13 -22 -28 -27 -17 -5 2 3 -1 1 2 2 -3 -10 -12 -9 -5 -0 -3 -4 -4 -2 -2 -3 -3 -2 -1 2 4 4 3 2 1 -0 -4 -10 -16 -18 -15 -11 -8 -9 -13 -18 -20 -18 -11 -0 5 8 11 16 17 13 7 1 -3 -8 -12 -12 -8 -0 7 8 6 1 -3 -5 -9 -13 -16 -18 -17 -15 -13 -11 -10 -11 -13 -15 -15 -16 -16 -16 -15 -15 -16 -15 -12 -10 -10 -12 -13 -14 -14 -15 -16 -16 -14 -13 -15 -19 -21 -22 -27 -27 -20 -19 -23 -26 -23 -21 -19 -19 -19 -18 -17 -16 -17 -17 -18 -18 -18 -18 -18 -18 -18 -18 -19 -20 -19 -18 -17 -15 -13 -13 -14 -16 -16 -18 -22 -25 -27 -28 -25 -25 -25 -24 -24 -22 -20 -19 -19 -18 -22 -23 -22 -21 -20 -19 -19 -18 -19 -20 -21 -22 -22 -22 -20 -18 -17 -18 -19 -18 -17 -18 -19 -21 -21 -20 -20 -22 -23 -24 -26 -27 -26 -25 -21 -18 -16 -17 -16 -16 -17 -18 -20 -21 -21 -21 -20 -20 -21 -22 -22 -22 -20 -17 -17 -16 -15 -16 -19 -23 -28 -28 -27 -27 -26 -25 -22 -22 -22 -21 -20 -20 -18 -17 -17 -19 -6 -6 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -4 -5 -5 -5 -6 -6 -5 -5 -4 -3 -2 -3 -4 -3 -2 -1 -0 -0 -1 -2 -2 -3 -3 -3 -3 -3 -3 -4 -3 -2 -4 -5 -8 -10 -11 -9 -8 -8 -10 -11 -12 -9 -5 -3 -2 -2 -1 -0 2 3 3 2 2 2 2 1 -2 -5 -8 -8 -6 -5 -5 -4 -3 -3 -2 -1 -1 -4 -12 -16 -13 -6 5 17 26 30 27 18 8 -2 -10 -11 -6 -4 -3 -5 -6 -9 -11 -12 -10 -7 -5 -4 -4 -5 -7 -6 -4 -2 -0 3 4 3 1 -0 -0 -0 -2 -3 -2 -0 -0 -2 -5 -7 -7 -8 -9 -9 -8 -7 -7 -8 -8 -8 -13 -20 -25 -25 -17 -5 1 2 -1 -2 -2 -3 -5 -9 -11 -8 -1 7 12 13 12 10 7 2 -3 -4 -4 -5 -4 -4 -6 -7 -8 -7 -4 -4 -4 -6 -8 -8 -12 -20 -27 -30 -22 -10 2 7 3 1 2 4 4 -3 -12 -15 -10 -3 -3 -4 -4 -2 -1 -2 -3 -3 -3 -2 1 3 4 5 4 3 -0 -5 -11 -15 -14 -11 -9 -11 -17 -22 -26 -25 -19 -7 -0 3 3 3 7 8 6 2 -1 -4 -8 -11 -11 -6 2 9 10 6 1 -1 -3 -7 -11 -14 -14 -13 -12 -11 -10 -11 -12 -14 -15 -17 -16 -15 -14 -14 -16 -16 -15 -12 -10 -11 -13 -14 -14 -13 -15 -16 -14 -13 -14 -18 -20 -22 -26 -27 -21 -18 -22 -27 -22 -21 -20 -19 -19 -19 -17 -16 -15 -16 -18 -19 -18 -18 -18 -18 -18 -17 -18 -18 -18 -17 -17 -16 -14 -15 -15 -16 -15 -17 -20 -24 -26 -26 -24 -23 -23 -23 -23 -20 -18 -17 -17 -18 -21 -23 -22 -21 -21 -20 -19 -19 -21 -23 -23 -22 -22 -22 -21 -19 -17 -17 -17 -17 -17 -18 -19 -22 -21 -20 -20 -22 -23 -24 -26 -27 -24 -22 -20 -18 -18 -18 -17 -17 -17 -17 -20 -22 -23 -22 -21 -20 -21 -21 -22 -23 -22 -18 -17 -17 -15 -15 -15 -19 -25 -27 -26 -25 -25 -24 -22 -23 -22 -21 -20 -20 -20 -19 -17 -18 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -5 -6 -6 -6 -5 -5 -4 -4 -4 -4 -5 -5 -4 -3 -3 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -4 -5 -5 -4 -5 -7 -10 -13 -14 -13 -12 -11 -10 -9 -6 -4 -3 -2 -2 -1 1 3 4 3 2 2 1 1 2 1 -2 -6 -9 -9 -8 -7 -5 -2 -1 -1 -1 -1 -2 -8 -14 -17 -15 -8 3 16 27 33 29 20 10 -0 -8 -8 -5 -3 -3 -4 -5 -7 -9 -10 -8 -6 -4 -4 -5 -7 -8 -6 -4 -2 -1 1 2 3 2 3 3 -0 -3 -4 -2 -0 -0 -2 -6 -9 -10 -10 -8 -8 -7 -7 -7 -8 -8 -10 -15 -20 -23 -20 -14 -8 -3 -0 -0 1 1 -1 -6 -11 -14 -11 -3 6 10 10 10 9 7 3 1 -0 -1 -1 -3 -4 -5 -7 -8 -6 -4 -3 -5 -8 -10 -13 -18 -25 -30 -27 -17 -5 7 8 5 4 5 7 2 -8 -14 -13 -6 -3 -4 -4 -3 -2 -2 -2 -3 -4 -4 -2 -0 2 4 5 5 4 -0 -5 -9 -11 -10 -9 -11 -18 -24 -27 -27 -23 -13 -4 1 2 -2 -3 -3 -4 -5 -5 -3 -3 -6 -10 -11 -5 3 8 8 5 3 1 -1 -5 -9 -11 -11 -11 -10 -10 -11 -13 -14 -15 -17 -18 -17 -13 -13 -14 -16 -17 -16 -12 -11 -12 -14 -14 -13 -15 -16 -16 -14 -15 -17 -19 -22 -26 -23 -18 -17 -21 -26 -22 -20 -20 -20 -20 -20 -18 -16 -14 -16 -17 -18 -18 -18 -19 -19 -18 -17 -17 -16 -16 -16 -17 -17 -16 -17 -18 -16 -13 -14 -18 -22 -24 -24 -22 -22 -20 -19 -18 -18 -18 -17 -17 -18 -21 -21 -21 -19 -20 -19 -19 -19 -23 -24 -24 -23 -21 -21 -20 -19 -19 -19 -17 -18 -18 -19 -20 -22 -21 -20 -20 -22 -23 -24 -25 -25 -23 -20 -19 -18 -18 -18 -17 -17 -17 -17 -19 -21 -22 -22 -21 -19 -19 -19 -21 -23 -22 -19 -17 -17 -16 -15 -13 -15 -20 -24 -25 -25 -25 -24 -23 -23 -23 -21 -20 -21 -21 -19 -18 -18 -5 -5 -5 -4 -4 -4 -3 -3 -5 -6 -6 -5 -5 -4 -4 -5 -6 -7 -6 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -3 -2 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -2 -3 -5 -7 -7 -8 -9 -11 -10 -11 -12 -13 -13 -11 -7 -3 -2 -2 -2 -0 1 3 4 5 5 4 3 -0 -0 1 -0 -2 -6 -9 -9 -7 -5 -2 -0 -0 -0 -0 -1 -6 -12 -16 -18 -15 -10 1 15 26 32 30 23 14 3 -2 -3 -3 -2 -3 -3 -4 -6 -7 -8 -6 -4 -4 -5 -7 -9 -8 -6 -4 -3 -2 -1 -0 1 3 5 4 1 -3 -2 -0 1 1 -2 -8 -10 -10 -9 -8 -8 -6 -5 -6 -8 -10 -13 -16 -18 -18 -17 -14 -11 -7 -3 2 4 3 -0 -7 -14 -16 -12 -4 3 6 7 6 6 6 6 6 5 3 -0 -2 -3 -5 -8 -8 -6 -4 -3 -6 -10 -13 -17 -23 -29 -30 -26 -15 -1 9 9 8 7 7 5 -2 -8 -12 -9 -5 -3 -2 -2 -2 -3 -3 -3 -4 -3 -3 -2 -1 -0 1 2 3 2 -0 -4 -8 -9 -9 -12 -18 -23 -26 -26 -23 -16 -7 -1 1 -1 -4 -8 -12 -15 -15 -8 -2 -1 -4 -10 -12 -7 1 6 5 4 4 4 1 -4 -8 -10 -10 -9 -10 -11 -12 -14 -16 -17 -18 -19 -16 -12 -13 -16 -18 -18 -16 -14 -13 -13 -14 -14 -15 -16 -17 -17 -16 -16 -18 -21 -26 -21 -17 -16 -19 -23 -22 -20 -19 -20 -20 -20 -19 -18 -15 -16 -17 -18 -19 -19 -20 -20 -20 -19 -17 -16 -15 -14 -14 -16 -17 -18 -19 -16 -12 -12 -16 -21 -22 -22 -22 -21 -19 -16 -15 -15 -17 -18 -19 -19 -18 -19 -19 -17 -18 -18 -18 -19 -23 -24 -24 -23 -22 -21 -21 -20 -21 -21 -19 -19 -19 -19 -19 -21 -20 -19 -19 -20 -22 -23 -22 -22 -21 -20 -20 -19 -19 -18 -18 -17 -17 -17 -19 -20 -21 -21 -21 -19 -18 -18 -20 -21 -20 -19 -18 -17 -17 -15 -13 -12 -15 -21 -24 -24 -24 -25 -25 -24 -23 -21 -21 -21 -21 -20 -18 -17 -5 -5 -4 -4 -4 -3 -3 -3 -5 -7 -6 -5 -4 -4 -4 -6 -7 -7 -7 -5 -5 -4 -2 -1 -0 -1 -2 -2 -2 -2 -2 -1 -1 -2 -2 -3 -4 -4 -4 -4 -3 -1 -1 -4 -8 -9 -10 -10 -9 -8 -8 -10 -13 -16 -15 -10 -4 -1 -1 -1 -0 1 3 4 6 8 8 6 2 -0 -1 -0 -0 -3 -6 -7 -6 -4 -1 -0 1 2 3 1 -4 -10 -15 -17 -18 -16 -11 -1 11 22 28 29 25 18 10 4 1 -1 -2 -2 -2 -3 -4 -6 -5 -4 -3 -3 -7 -9 -9 -7 -5 -3 -3 -4 -4 -4 -1 3 6 5 3 -0 1 3 4 3 -4 -9 -10 -9 -9 -8 -6 -5 -4 -5 -9 -12 -14 -15 -16 -16 -15 -15 -13 -10 -5 -0 3 3 -2 -10 -14 -15 -10 -2 3 5 4 3 4 7 9 11 10 6 2 -0 -2 -5 -7 -7 -6 -3 -5 -9 -12 -16 -21 -27 -31 -31 -26 -12 2 8 10 9 7 6 3 -2 -7 -8 -7 -4 -1 1 -1 -3 -3 -3 -3 -3 -1 -1 -1 -3 -5 -5 -4 -2 1 -1 -4 -7 -9 -11 -18 -23 -25 -24 -21 -16 -9 -4 -0 -0 -2 -7 -13 -19 -23 -17 -9 -2 -0 -6 -11 -12 -9 -3 -0 2 4 5 5 -0 -4 -8 -9 -9 -10 -11 -13 -14 -17 -19 -20 -20 -20 -13 -11 -14 -17 -19 -18 -16 -13 -12 -14 -14 -16 -17 -19 -19 -17 -16 -17 -20 -25 -20 -16 -15 -17 -21 -21 -20 -20 -20 -19 -19 -19 -18 -17 -16 -16 -17 -18 -19 -20 -21 -21 -20 -17 -16 -15 -13 -13 -15 -16 -18 -20 -17 -13 -11 -15 -19 -21 -21 -21 -19 -17 -14 -13 -14 -15 -18 -20 -18 -16 -15 -16 -16 -18 -19 -19 -19 -22 -23 -23 -22 -22 -22 -21 -21 -21 -22 -20 -19 -19 -19 -18 -19 -19 -18 -18 -19 -21 -21 -20 -20 -20 -20 -20 -19 -19 -19 -19 -18 -18 -18 -19 -19 -19 -21 -22 -21 -20 -19 -19 -20 -21 -20 -20 -18 -17 -15 -13 -11 -12 -18 -22 -24 -23 -25 -25 -25 -23 -21 -21 -21 -21 -20 -19 -17 -6 -6 -4 -4 -3 -2 -2 -4 -6 -7 -6 -4 -3 -4 -6 -7 -8 -8 -7 -6 -4 -1 1 1 1 -1 -2 -3 -3 -3 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -1 -1 -3 -8 -11 -12 -12 -10 -8 -7 -8 -11 -15 -17 -14 -7 -2 1 -0 1 1 2 3 6 8 8 7 6 4 -0 -1 -0 -0 -2 -4 -5 -4 -1 2 3 5 6 4 -2 -8 -13 -15 -17 -18 -16 -12 -4 5 15 23 27 27 23 17 10 5 1 -1 -2 -2 -2 -3 -3 -2 -1 -1 -4 -7 -8 -8 -6 -3 -3 -4 -6 -8 -7 -2 3 6 6 4 3 4 7 8 2 -5 -9 -9 -8 -8 -7 -5 -2 -3 -7 -11 -14 -15 -14 -14 -15 -16 -16 -14 -11 -6 -1 2 -1 -6 -12 -15 -13 -7 -0 4 5 3 1 3 8 14 16 13 8 5 2 -1 -5 -7 -7 -4 -4 -7 -11 -15 -20 -25 -31 -33 -31 -23 -8 2 7 8 7 6 4 1 -2 -6 -7 -4 -0 5 4 1 -1 -3 -4 -4 -2 1 2 -0 -4 -6 -7 -6 -4 -2 -4 -5 -7 -10 -17 -23 -25 -23 -18 -14 -9 -5 -2 -0 -0 -4 -10 -18 -25 -24 -17 -8 -2 -4 -9 -12 -12 -9 -6 -5 -3 2 7 4 -1 -5 -7 -8 -9 -11 -13 -14 -18 -20 -22 -22 -20 -16 -12 -12 -15 -18 -18 -16 -14 -15 -15 -15 -16 -18 -21 -20 -16 -16 -17 -20 -24 -20 -17 -15 -15 -17 -19 -20 -20 -21 -19 -18 -18 -17 -17 -15 -15 -16 -17 -18 -20 -21 -21 -21 -18 -17 -16 -14 -13 -14 -16 -18 -20 -18 -13 -10 -12 -18 -20 -20 -19 -16 -14 -12 -12 -13 -14 -17 -19 -17 -15 -13 -13 -14 -18 -21 -22 -22 -21 -21 -21 -21 -21 -21 -21 -21 -22 -21 -20 -19 -18 -18 -18 -19 -19 -18 -18 -18 -20 -20 -20 -20 -20 -19 -19 -19 -19 -19 -19 -18 -18 -19 -20 -20 -19 -21 -22 -22 -21 -19 -18 -20 -21 -21 -21 -19 -17 -16 -14 -11 -11 -16 -21 -23 -23 -25 -25 -24 -23 -21 -21 -21 -22 -21 -19 -18 -6 -6 -5 -4 -3 -3 -3 -5 -5 -5 -4 -4 -4 -5 -7 -8 -8 -7 -5 -3 -0 1 1 1 -0 -1 -2 -3 -4 -4 -3 -2 -2 -3 -4 -4 -3 -3 -3 -3 -3 -1 -1 -2 -7 -11 -13 -13 -12 -10 -8 -8 -9 -11 -14 -14 -10 -4 1 2 2 2 2 2 3 5 5 6 8 8 5 2 1 -0 -0 -2 -3 -3 -1 3 6 9 12 11 3 -4 -10 -14 -15 -16 -17 -16 -12 -7 -2 6 14 21 26 26 22 15 7 1 -2 -3 -1 -0 -0 1 2 2 -1 -4 -6 -7 -7 -5 -3 -2 -4 -8 -11 -9 -4 1 4 4 3 4 7 11 7 -0 -6 -7 -6 -7 -8 -7 -3 -2 -5 -10 -13 -14 -14 -13 -13 -15 -16 -17 -15 -11 -6 -2 -2 -6 -10 -14 -15 -11 -5 2 6 4 -0 -1 3 10 17 18 16 12 9 6 1 -5 -8 -7 -6 -6 -9 -14 -19 -24 -29 -32 -32 -28 -17 -7 1 5 4 3 2 1 -1 -4 -7 -7 -2 5 8 7 4 1 -3 -4 -3 -1 1 2 -0 -2 -4 -6 -6 -6 -6 -5 -4 -6 -13 -21 -25 -23 -18 -13 -8 -4 -2 -0 -0 -2 -7 -14 -22 -25 -22 -14 -6 -6 -9 -12 -13 -12 -9 -8 -7 -5 2 4 2 -2 -4 -5 -7 -10 -12 -14 -18 -21 -23 -23 -19 -17 -14 -12 -13 -17 -18 -17 -17 -17 -15 -15 -16 -18 -21 -21 -17 -16 -17 -19 -21 -21 -20 -17 -15 -15 -16 -18 -19 -20 -20 -18 -18 -18 -18 -16 -15 -15 -17 -17 -19 -20 -21 -21 -19 -19 -17 -15 -13 -12 -14 -17 -20 -20 -15 -10 -11 -18 -20 -19 -17 -14 -12 -12 -12 -12 -13 -16 -18 -17 -15 -13 -13 -13 -17 -20 -23 -23 -20 -18 -19 -19 -19 -20 -21 -21 -21 -21 -20 -20 -19 -18 -18 -19 -20 -19 -19 -19 -19 -19 -20 -20 -20 -19 -19 -19 -19 -19 -19 -19 -18 -19 -19 -20 -20 -22 -22 -22 -21 -19 -18 -20 -21 -22 -21 -19 -17 -16 -15 -12 -11 -14 -18 -22 -23 -23 -23 -23 -23 -22 -21 -21 -21 -22 -20 -19 -5 -5 -5 -4 -4 -5 -5 -5 -4 -4 -4 -6 -6 -7 -8 -7 -4 -2 -1 1 1 -0 -1 -1 -2 -2 -2 -4 -4 -4 -3 -2 -2 -3 -4 -3 -2 -1 -1 -1 -1 -1 -1 -2 -5 -9 -11 -12 -12 -10 -9 -10 -10 -9 -8 -9 -8 -5 -0 2 2 3 3 1 1 1 1 3 6 8 8 6 3 -0 -0 -0 -1 -2 -2 2 7 12 17 18 11 2 -6 -12 -13 -14 -17 -18 -17 -12 -8 -5 -2 3 12 21 26 25 18 8 1 -3 -2 -0 2 3 4 5 4 2 -1 -4 -6 -7 -5 -2 -2 -4 -8 -11 -10 -8 -5 -2 -1 1 4 8 10 5 -1 -5 -4 -6 -8 -9 -7 -3 -4 -8 -12 -15 -15 -13 -12 -13 -15 -17 -17 -14 -9 -6 -5 -7 -10 -13 -16 -15 -10 -4 3 5 2 -1 -1 4 12 17 19 19 17 13 6 -1 -6 -8 -7 -6 -7 -10 -17 -23 -27 -30 -31 -29 -21 -12 -4 1 1 -1 -2 -2 -3 -5 -8 -11 -9 -1 7 9 8 6 2 -0 -2 -3 -1 2 3 2 -0 -3 -6 -7 -8 -7 -4 -4 -10 -17 -22 -22 -18 -13 -8 -3 -0 1 -0 -2 -6 -11 -18 -23 -22 -16 -10 -9 -11 -13 -15 -15 -11 -9 -8 -9 -6 -0 3 2 -0 -2 -5 -8 -10 -13 -18 -21 -22 -22 -19 -17 -15 -14 -13 -14 -16 -17 -19 -19 -16 -15 -15 -18 -21 -21 -19 -16 -14 -15 -18 -21 -22 -20 -16 -15 -15 -16 -17 -18 -19 -18 -18 -19 -18 -17 -15 -15 -16 -16 -18 -19 -21 -22 -20 -20 -19 -17 -13 -11 -12 -16 -19 -21 -17 -13 -12 -18 -20 -19 -16 -13 -12 -12 -12 -12 -13 -14 -16 -16 -15 -14 -13 -13 -15 -17 -20 -20 -18 -18 -18 -18 -18 -19 -20 -20 -21 -21 -21 -21 -21 -19 -18 -19 -19 -19 -19 -19 -19 -19 -20 -20 -20 -19 -19 -19 -19 -20 -20 -19 -19 -19 -19 -19 -20 -22 -21 -21 -21 -19 -18 -19 -21 -22 -22 -20 -18 -17 -17 -14 -11 -12 -16 -21 -22 -21 -21 -22 -24 -24 -22 -21 -21 -22 -21 -20 -4 -4 -5 -6 -6 -6 -5 -4 -4 -5 -7 -8 -8 -6 -4 -3 -0 2 2 1 -0 -1 -2 -3 -3 -3 -3 -3 -4 -5 -5 -4 -4 -3 -4 -3 -1 -1 -0 -0 -2 -2 -1 -2 -4 -7 -10 -11 -10 -9 -8 -10 -12 -11 -9 -7 -6 -4 -1 1 2 3 3 2 2 2 2 3 5 6 6 6 5 2 1 1 1 -0 -1 -0 3 7 13 19 18 11 2 -6 -10 -12 -16 -19 -18 -13 -9 -7 -6 -6 -3 3 12 20 23 17 9 1 -3 -1 2 4 5 7 8 8 6 2 -2 -6 -7 -5 -2 -0 -2 -7 -11 -12 -12 -10 -6 -4 -3 1 7 8 4 -2 -3 -3 -6 -8 -9 -5 -3 -6 -11 -16 -17 -15 -12 -11 -12 -16 -16 -14 -11 -9 -7 -7 -9 -13 -16 -17 -15 -10 -3 3 4 1 -2 -2 3 10 16 20 21 18 11 5 -1 -5 -6 -7 -7 -9 -15 -21 -25 -26 -27 -29 -25 -17 -7 -1 -1 -3 -4 -4 -5 -5 -9 -14 -16 -12 -3 4 7 7 5 4 1 -1 -1 4 5 5 3 -0 -2 -5 -8 -9 -7 -5 -8 -13 -18 -20 -20 -18 -14 -8 -0 2 2 -1 -5 -10 -16 -20 -21 -18 -13 -11 -12 -14 -16 -17 -14 -11 -9 -11 -11 -7 -2 1 2 1 -1 -5 -9 -13 -18 -21 -22 -21 -20 -18 -16 -15 -14 -13 -15 -17 -19 -20 -18 -17 -16 -17 -19 -19 -18 -16 -14 -14 -17 -21 -22 -20 -16 -15 -15 -16 -16 -16 -18 -18 -18 -19 -20 -18 -17 -17 -16 -16 -18 -19 -21 -21 -20 -20 -20 -19 -15 -12 -12 -13 -17 -21 -19 -15 -13 -18 -19 -19 -17 -15 -14 -14 -13 -13 -14 -14 -15 -15 -15 -15 -14 -13 -14 -16 -18 -18 -18 -18 -18 -18 -18 -18 -19 -20 -20 -21 -21 -22 -22 -21 -20 -19 -19 -20 -20 -20 -20 -19 -20 -20 -20 -20 -21 -20 -20 -20 -21 -19 -19 -18 -18 -19 -20 -21 -22 -22 -21 -19 -19 -19 -20 -22 -22 -20 -19 -18 -17 -15 -13 -12 -14 -20 -20 -20 -20 -22 -24 -25 -24 -22 -21 -21 -20 -20 -3 -4 -6 -6 -6 -6 -5 -4 -6 -7 -9 -8 -6 -2 1 2 2 1 -0 -1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -5 -5 -3 -2 -2 -2 -3 -3 -3 -4 -6 -9 -11 -11 -10 -7 -5 -7 -11 -13 -13 -10 -7 -5 -3 -2 -1 -0 2 3 4 5 5 6 7 7 7 6 4 2 -0 -0 1 1 1 -0 -0 3 8 13 16 15 10 3 -3 -8 -14 -18 -18 -14 -9 -6 -6 -7 -8 -8 -4 5 15 18 14 7 -0 -2 2 5 6 7 10 13 14 12 6 -0 -6 -8 -6 -1 2 -2 -7 -11 -14 -13 -10 -7 -6 -5 1 7 7 1 -2 -2 -3 -5 -8 -8 -4 -5 -9 -17 -20 -18 -14 -11 -10 -13 -15 -14 -12 -9 -7 -7 -9 -11 -15 -17 -17 -14 -9 -2 3 3 -1 -4 -3 2 9 15 21 20 16 10 4 -0 -2 -5 -7 -9 -12 -17 -21 -24 -27 -29 -27 -20 -11 -2 -0 -2 -5 -6 -6 -6 -9 -15 -21 -22 -14 -7 -2 1 3 4 3 1 1 5 8 9 8 6 3 -1 -5 -7 -6 -5 -8 -12 -16 -17 -19 -19 -17 -14 -10 -4 -0 1 -2 -8 -14 -19 -21 -19 -15 -12 -12 -14 -16 -18 -17 -14 -10 -10 -12 -11 -8 -5 -2 1 2 -0 -5 -12 -17 -20 -21 -20 -20 -18 -17 -16 -15 -15 -16 -17 -18 -18 -18 -18 -17 -17 -17 -17 -16 -16 -16 -18 -18 -19 -20 -19 -16 -15 -15 -16 -17 -16 -17 -18 -19 -19 -20 -19 -18 -18 -16 -17 -18 -19 -21 -21 -21 -22 -23 -22 -17 -14 -12 -12 -15 -20 -19 -16 -14 -18 -20 -19 -17 -16 -17 -17 -16 -15 -14 -14 -14 -15 -15 -16 -15 -14 -15 -16 -16 -17 -17 -18 -18 -18 -17 -17 -18 -19 -19 -21 -22 -23 -22 -22 -21 -19 -19 -20 -21 -21 -20 -20 -21 -21 -21 -21 -21 -20 -20 -21 -21 -19 -19 -18 -19 -20 -20 -20 -21 -22 -20 -19 -19 -19 -20 -21 -22 -21 -21 -19 -18 -17 -14 -12 -13 -19 -20 -21 -22 -24 -24 -26 -25 -23 -22 -21 -19 -19 -3 -5 -6 -6 -6 -5 -5 -6 -8 -9 -8 -5 -0 3 3 2 1 -0 -1 -2 -2 -2 -3 -4 -5 -5 -5 -5 -5 -5 -6 -7 -7 -7 -6 -5 -5 -4 -3 -3 -4 -5 -5 -6 -8 -11 -13 -13 -11 -8 -7 -7 -8 -11 -12 -11 -8 -6 -4 -4 -3 -2 -0 1 2 4 6 8 9 9 9 8 6 4 2 1 1 2 2 1 -0 -0 3 7 11 13 12 8 3 -2 -8 -14 -16 -13 -9 -6 -5 -6 -8 -11 -11 -7 -0 9 13 10 4 -1 1 5 6 6 7 13 18 20 18 11 2 -5 -9 -6 1 2 -1 -7 -12 -12 -10 -8 -8 -9 -4 2 5 4 -0 -1 -1 -2 -6 -9 -6 -5 -8 -16 -23 -24 -19 -13 -8 -9 -11 -13 -12 -9 -8 -8 -9 -11 -14 -16 -17 -17 -14 -7 -1 2 1 -1 -4 -3 1 7 15 20 20 16 11 6 2 -2 -6 -9 -10 -12 -15 -19 -23 -27 -26 -22 -15 -6 -1 -2 -4 -6 -6 -6 -8 -12 -19 -22 -18 -13 -9 -8 -6 -2 -0 -0 1 3 8 11 13 12 9 5 1 -1 -2 -3 -6 -10 -13 -15 -16 -16 -16 -16 -15 -12 -6 -0 1 -4 -11 -17 -21 -20 -15 -12 -12 -14 -16 -18 -19 -17 -13 -10 -11 -12 -11 -10 -8 -4 -1 -0 -3 -9 -15 -19 -21 -20 -19 -18 -17 -16 -16 -17 -18 -17 -17 -17 -17 -18 -18 -17 -17 -16 -16 -17 -18 -19 -18 -18 -20 -20 -17 -15 -15 -15 -16 -16 -16 -18 -20 -19 -20 -19 -19 -20 -17 -17 -18 -19 -21 -20 -23 -26 -27 -25 -20 -16 -14 -12 -14 -19 -19 -16 -14 -18 -19 -18 -17 -17 -18 -17 -16 -15 -14 -14 -15 -15 -15 -15 -15 -15 -15 -15 -14 -15 -17 -17 -18 -18 -17 -17 -18 -19 -18 -20 -22 -23 -22 -22 -22 -20 -19 -20 -21 -21 -21 -21 -21 -21 -21 -21 -22 -20 -20 -21 -20 -19 -19 -19 -19 -21 -21 -20 -21 -22 -20 -20 -20 -19 -19 -20 -21 -22 -21 -21 -19 -18 -15 -12 -12 -17 -19 -21 -22 -23 -23 -25 -26 -24 -23 -21 -20 -19 -4 -5 -5 -6 -6 -6 -7 -8 -8 -7 -3 2 5 4 2 -0 -0 -1 -2 -2 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -6 -7 -6 -6 -5 -5 -5 -4 -4 -4 -5 -6 -7 -8 -10 -12 -14 -13 -11 -9 -10 -10 -9 -8 -9 -10 -8 -6 -4 -4 -3 -2 -1 -0 -0 2 4 6 8 9 9 9 8 7 5 3 3 3 2 2 1 -0 1 4 6 8 10 9 7 3 -2 -7 -11 -10 -9 -6 -4 -4 -6 -9 -12 -13 -11 -3 5 9 8 2 1 4 6 5 4 7 15 23 28 23 14 4 -5 -8 -2 2 2 -1 -6 -8 -7 -7 -8 -9 -8 -4 1 4 4 2 1 -1 -4 -8 -7 -6 -8 -15 -23 -26 -24 -18 -11 -8 -8 -9 -10 -8 -7 -7 -8 -10 -13 -15 -17 -17 -15 -11 -6 -1 2 3 -1 -3 -4 -1 5 15 21 22 17 11 7 2 -3 -7 -9 -8 -8 -12 -17 -23 -24 -22 -18 -12 -4 -2 -2 -5 -7 -7 -8 -11 -16 -20 -18 -14 -11 -10 -11 -9 -7 -6 -6 -4 1 7 13 16 15 11 7 5 6 3 -0 -4 -10 -13 -13 -12 -13 -15 -17 -16 -12 -6 -0 -1 -6 -13 -19 -21 -15 -12 -13 -15 -16 -17 -19 -18 -15 -10 -10 -11 -11 -11 -12 -10 -6 -3 -2 -5 -12 -17 -20 -20 -18 -17 -17 -17 -16 -17 -18 -18 -18 -17 -17 -17 -18 -19 -19 -17 -17 -18 -21 -21 -20 -20 -21 -21 -19 -17 -15 -14 -15 -16 -16 -18 -20 -20 -20 -19 -19 -21 -18 -17 -18 -20 -21 -20 -23 -26 -27 -24 -21 -18 -15 -14 -14 -17 -17 -16 -13 -16 -17 -17 -16 -18 -18 -15 -14 -14 -14 -14 -14 -14 -15 -15 -16 -16 -16 -15 -14 -15 -16 -17 -18 -18 -18 -18 -18 -18 -16 -18 -21 -23 -23 -23 -22 -21 -21 -21 -21 -21 -20 -20 -19 -19 -20 -21 -21 -20 -21 -21 -20 -20 -19 -19 -19 -20 -20 -20 -21 -22 -21 -21 -21 -20 -19 -19 -21 -21 -21 -21 -20 -19 -16 -13 -12 -16 -18 -18 -18 -19 -21 -24 -25 -25 -25 -22 -21 -20 -4 -5 -5 -6 -8 -10 -10 -9 -4 1 4 4 2 1 -0 -0 -0 -0 -1 -2 -3 -4 -4 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -9 -10 -12 -12 -12 -12 -11 -10 -12 -13 -12 -9 -8 -8 -8 -6 -4 -3 -2 -2 -1 -0 -0 1 2 4 6 7 8 9 9 9 8 6 5 4 3 3 2 1 1 2 3 5 7 7 6 3 1 -1 -3 -4 -5 -4 -3 -2 -5 -7 -10 -13 -15 -12 -5 2 6 6 3 3 5 6 3 2 7 16 27 31 26 16 5 -3 -3 1 4 5 1 -1 -2 -2 -4 -6 -8 -7 -4 1 6 5 3 -0 -2 -5 -6 -6 -8 -13 -21 -25 -26 -22 -16 -11 -9 -9 -9 -8 -6 -5 -6 -8 -11 -14 -16 -17 -16 -14 -10 -5 1 6 3 -1 -5 -6 -3 7 18 24 24 18 13 8 3 -2 -6 -5 -4 -5 -11 -18 -21 -21 -20 -16 -9 -4 -2 -3 -4 -6 -9 -12 -16 -17 -17 -14 -12 -11 -10 -10 -10 -10 -12 -12 -9 -4 2 10 14 14 12 11 13 13 9 4 -3 -8 -8 -8 -9 -13 -16 -17 -16 -12 -5 -0 -1 -8 -14 -17 -13 -11 -12 -15 -16 -17 -18 -17 -14 -11 -10 -10 -10 -10 -13 -14 -12 -8 -3 -4 -9 -14 -18 -19 -17 -16 -16 -16 -16 -17 -18 -18 -18 -18 -17 -17 -19 -20 -21 -19 -19 -20 -21 -22 -21 -22 -22 -22 -22 -20 -18 -16 -15 -15 -16 -17 -20 -20 -21 -20 -20 -22 -19 -18 -18 -20 -21 -20 -22 -25 -26 -23 -22 -20 -18 -16 -16 -16 -15 -14 -12 -13 -15 -15 -15 -17 -16 -14 -13 -13 -13 -13 -14 -14 -15 -15 -17 -18 -18 -16 -14 -14 -15 -16 -17 -18 -19 -19 -18 -18 -16 -17 -20 -23 -23 -23 -22 -21 -21 -21 -20 -20 -20 -19 -18 -18 -19 -19 -20 -20 -21 -21 -21 -21 -20 -19 -19 -19 -20 -20 -20 -21 -21 -21 -21 -21 -19 -20 -20 -21 -21 -21 -22 -20 -17 -14 -12 -15 -17 -17 -17 -16 -19 -23 -25 -25 -26 -24 -22 -21 -4 -5 -5 -8 -10 -11 -9 -4 -0 3 2 1 -0 -0 -1 -1 -0 -1 -2 -3 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -6 -6 -7 -8 -9 -11 -12 -12 -11 -10 -10 -11 -13 -14 -14 -13 -11 -8 -6 -6 -6 -5 -3 -2 -2 -1 -1 -0 1 2 3 3 5 6 7 8 9 9 9 8 7 6 5 3 2 2 2 2 3 4 5 3 1 -1 -1 -1 -0 -0 -0 1 1 -2 -4 -6 -9 -13 -15 -14 -9 -1 7 6 4 5 7 6 2 1 5 15 27 30 26 16 6 1 1 5 8 9 6 4 2 1 -3 -6 -7 -7 -3 3 4 4 1 -1 -2 -4 -6 -8 -12 -19 -23 -24 -23 -19 -15 -12 -10 -9 -8 -6 -4 -3 -4 -8 -12 -15 -17 -16 -14 -11 -8 -3 3 4 2 -2 -6 -6 -1 11 23 30 27 21 17 12 5 -3 -4 -3 -3 -5 -12 -17 -20 -20 -19 -14 -9 -5 -3 -2 -5 -8 -12 -15 -15 -15 -13 -12 -10 -8 -9 -10 -11 -12 -13 -13 -13 -11 -6 3 9 12 14 17 19 18 14 6 2 -1 -3 -6 -11 -15 -17 -18 -17 -12 -3 -0 -3 -9 -12 -11 -10 -11 -14 -16 -18 -18 -17 -15 -13 -12 -11 -10 -10 -13 -15 -15 -12 -6 -5 -7 -11 -16 -18 -17 -16 -15 -16 -16 -17 -17 -16 -18 -18 -17 -17 -18 -19 -20 -21 -22 -22 -21 -21 -21 -22 -22 -23 -23 -23 -21 -19 -17 -16 -16 -17 -19 -21 -22 -22 -22 -22 -19 -18 -18 -19 -20 -21 -22 -24 -24 -23 -25 -25 -22 -19 -18 -17 -15 -12 -10 -12 -14 -14 -14 -15 -15 -14 -13 -13 -13 -14 -14 -14 -15 -15 -17 -19 -19 -16 -14 -14 -14 -16 -17 -18 -19 -19 -19 -18 -17 -17 -18 -22 -24 -25 -24 -22 -22 -21 -20 -20 -20 -19 -19 -18 -18 -18 -19 -20 -20 -21 -21 -21 -20 -19 -19 -19 -20 -20 -19 -21 -20 -20 -21 -21 -20 -20 -20 -20 -20 -21 -23 -22 -19 -16 -13 -14 -16 -18 -18 -16 -19 -22 -24 -25 -27 -26 -25 -23 -5 -6 -7 -9 -11 -9 -5 -0 2 1 -0 -0 -0 -0 -0 -1 -1 -2 -3 -4 -5 -5 -5 -5 -4 -3 -2 -2 -2 -3 -3 -3 -4 -4 -4 -5 -5 -6 -7 -8 -10 -11 -12 -12 -11 -9 -8 -9 -13 -18 -20 -17 -15 -13 -11 -6 -5 -5 -5 -4 -2 -2 -2 -1 -1 -0 1 2 3 3 3 4 5 7 9 10 10 9 7 6 4 3 3 3 3 2 1 1 -1 -3 -3 -2 -2 -2 -0 2 5 6 2 -1 -3 -5 -8 -14 -17 -17 -13 -1 6 7 6 7 9 7 3 -1 1 10 21 25 23 14 7 3 5 9 13 12 9 7 5 2 -1 -4 -7 -7 -4 1 3 3 1 -1 -2 -4 -7 -11 -16 -20 -22 -23 -20 -17 -14 -11 -10 -10 -8 -5 -3 -1 -4 -9 -13 -16 -16 -14 -12 -10 -7 -3 2 4 2 -2 -6 -6 -0 12 25 31 31 30 27 18 7 -2 -6 -7 -4 -7 -13 -18 -20 -20 -17 -13 -9 -6 -3 -5 -8 -11 -13 -13 -12 -11 -11 -9 -7 -7 -8 -10 -11 -13 -15 -17 -19 -17 -10 -3 3 8 12 18 22 22 17 12 8 4 -1 -7 -11 -15 -18 -19 -18 -10 -3 -0 -3 -8 -10 -10 -10 -12 -16 -18 -18 -17 -16 -15 -14 -13 -11 -11 -13 -15 -16 -14 -8 -6 -7 -10 -13 -15 -15 -15 -15 -15 -15 -16 -16 -16 -17 -17 -17 -16 -17 -19 -19 -21 -22 -21 -21 -20 -21 -21 -22 -23 -24 -24 -24 -23 -19 -17 -17 -18 -18 -21 -24 -25 -23 -23 -20 -19 -19 -19 -19 -20 -23 -24 -23 -24 -28 -28 -25 -22 -20 -18 -15 -10 -8 -11 -14 -16 -16 -16 -15 -15 -16 -15 -15 -16 -16 -15 -15 -16 -18 -19 -19 -16 -14 -14 -14 -16 -17 -19 -19 -19 -19 -19 -18 -17 -17 -21 -24 -26 -25 -22 -22 -22 -21 -21 -21 -20 -20 -19 -18 -18 -18 -19 -19 -20 -21 -20 -20 -19 -19 -19 -20 -20 -20 -20 -19 -19 -20 -20 -20 -20 -20 -21 -21 -22 -22 -22 -21 -17 -14 -13 -16 -19 -19 -18 -19 -21 -22 -24 -26 -27 -26 -27 -6 -6 -7 -9 -8 -5 -1 1 -0 -0 -1 -1 -0 -0 -1 -1 -1 -2 -3 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -5 -7 -9 -10 -11 -12 -11 -10 -8 -7 -7 -9 -14 -21 -27 -25 -21 -17 -12 -8 -5 -5 -5 -5 -3 -3 -3 -2 -2 -1 1 2 2 3 3 3 4 6 7 9 10 9 9 8 5 4 3 3 4 3 1 -2 -4 -5 -5 -4 -3 -3 -4 -3 1 6 6 2 -1 -4 -7 -11 -15 -20 -22 -17 -3 7 10 7 7 9 8 4 -0 -0 5 12 17 16 10 5 4 7 12 14 13 12 9 6 3 -0 -4 -8 -8 -5 -1 2 2 -0 -1 -2 -4 -7 -13 -17 -21 -22 -20 -17 -14 -12 -11 -11 -10 -8 -5 -1 -1 -5 -10 -14 -16 -14 -13 -11 -9 -7 -1 4 6 3 -3 -6 -6 -0 12 24 30 33 33 30 22 12 2 -5 -4 -3 -7 -12 -17 -19 -18 -15 -13 -11 -8 -8 -8 -9 -10 -9 -8 -7 -8 -7 -6 -5 -6 -8 -10 -13 -16 -19 -22 -23 -19 -13 -6 -2 2 8 14 19 20 19 17 12 6 -0 -6 -11 -15 -19 -20 -16 -9 -2 -0 -4 -7 -8 -9 -11 -15 -17 -17 -16 -16 -15 -14 -14 -13 -12 -12 -14 -15 -14 -10 -7 -7 -8 -11 -13 -14 -15 -15 -15 -14 -15 -16 -16 -17 -17 -16 -16 -17 -18 -19 -19 -20 -21 -19 -19 -20 -20 -21 -22 -23 -25 -25 -25 -21 -19 -19 -20 -19 -22 -25 -26 -24 -23 -21 -19 -19 -19 -19 -21 -22 -23 -23 -27 -29 -28 -24 -23 -22 -19 -15 -9 -7 -9 -14 -19 -21 -18 -17 -18 -18 -18 -18 -18 -19 -18 -17 -18 -19 -20 -19 -17 -15 -14 -14 -15 -16 -18 -19 -19 -19 -19 -19 -18 -17 -21 -24 -25 -25 -23 -23 -22 -21 -21 -21 -21 -20 -19 -18 -18 -18 -19 -19 -20 -20 -20 -20 -19 -19 -20 -20 -20 -19 -19 -19 -19 -20 -21 -21 -20 -20 -21 -21 -21 -21 -22 -21 -19 -16 -15 -15 -18 -19 -19 -20 -20 -21 -23 -25 -26 -26 -27 -7 -7 -8 -7 -5 -2 -0 -1 -1 -0 -0 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -3 -2 -1 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -5 -7 -9 -11 -11 -9 -8 -7 -7 -7 -7 -9 -14 -24 -37 -36 -30 -22 -16 -11 -8 -5 -4 -4 -3 -2 -2 -2 -2 -1 -0 -0 1 2 2 2 3 6 7 8 9 10 10 9 7 5 2 3 5 4 2 -2 -6 -7 -6 -5 -3 -3 -4 -5 -4 -0 4 3 -0 -3 -7 -10 -13 -18 -23 -25 -16 -2 7 8 5 7 8 7 6 3 3 5 9 10 8 5 3 4 7 11 14 15 14 10 7 3 -0 -3 -8 -9 -7 -3 -0 -0 -0 -0 -0 -2 -8 -14 -18 -21 -20 -16 -13 -12 -10 -10 -11 -11 -9 -4 -0 -1 -5 -10 -14 -15 -13 -11 -9 -9 -5 2 7 8 3 -2 -6 -6 -1 9 19 27 33 35 30 22 10 -2 -10 -7 -4 -3 -7 -13 -14 -14 -13 -14 -14 -12 -11 -11 -11 -9 -5 -4 -4 -5 -4 -3 -4 -6 -9 -12 -16 -21 -25 -26 -23 -18 -13 -10 -10 -7 -0 8 13 16 15 13 9 5 -0 -5 -9 -14 -18 -18 -15 -9 -1 -0 -3 -6 -8 -11 -13 -15 -15 -15 -15 -14 -14 -14 -14 -12 -11 -12 -14 -15 -14 -10 -8 -9 -12 -13 -13 -14 -16 -16 -14 -15 -16 -17 -17 -17 -17 -17 -17 -18 -19 -19 -20 -20 -19 -20 -20 -20 -20 -20 -22 -24 -25 -25 -22 -20 -19 -21 -21 -24 -26 -26 -24 -22 -21 -20 -20 -20 -20 -20 -20 -21 -24 -29 -29 -25 -23 -23 -22 -19 -15 -10 -7 -7 -11 -17 -20 -18 -18 -18 -18 -18 -19 -20 -21 -21 -19 -20 -20 -19 -20 -18 -17 -15 -15 -15 -16 -18 -19 -19 -19 -19 -19 -19 -18 -21 -24 -25 -25 -25 -25 -23 -21 -20 -20 -21 -20 -19 -19 -19 -19 -19 -19 -20 -20 -20 -20 -20 -20 -20 -19 -19 -19 -19 -19 -19 -19 -20 -21 -21 -20 -20 -20 -21 -22 -22 -22 -19 -17 -15 -15 -17 -18 -19 -20 -20 -21 -22 -24 -25 -26 -28 -7 -7 -7 -5 -3 -1 -1 -2 -1 -0 -0 -1 -1 -1 -2 -2 -3 -3 -3 -3 -2 -2 -2 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -5 -6 -8 -9 -9 -7 -6 -6 -7 -7 -7 -6 -6 -9 -17 -33 -40 -35 -24 -14 -11 -8 -6 -4 -4 -4 -2 -1 -1 -0 -0 -1 -1 -1 -0 -0 1 2 4 6 7 8 9 10 10 8 6 3 2 3 4 4 -0 -5 -7 -7 -5 -5 -3 -2 -3 -5 -4 -1 1 1 -1 -5 -10 -13 -17 -21 -25 -23 -12 -1 6 4 5 6 7 7 6 4 5 7 8 7 5 3 2 5 7 10 13 16 14 9 5 2 -0 -4 -9 -11 -9 -4 -1 -1 -0 1 1 -3 -9 -15 -19 -19 -16 -13 -11 -10 -10 -11 -12 -12 -9 -3 -0 -0 -5 -11 -13 -13 -12 -9 -8 -7 -2 5 10 9 3 -2 -6 -7 -3 4 13 22 30 28 23 14 1 -10 -11 -8 -3 -2 -5 -8 -9 -10 -12 -14 -14 -13 -14 -14 -11 -7 -3 -1 -2 -2 -2 -2 -3 -7 -12 -16 -21 -24 -25 -24 -20 -17 -16 -19 -18 -13 -4 3 5 6 7 6 6 3 -1 -5 -9 -13 -16 -17 -16 -9 -1 -0 -2 -6 -10 -12 -13 -14 -15 -14 -13 -13 -14 -14 -12 -10 -10 -11 -14 -15 -14 -11 -8 -9 -10 -11 -13 -16 -16 -15 -15 -16 -17 -18 -18 -18 -18 -17 -17 -19 -20 -20 -20 -19 -20 -20 -20 -19 -19 -21 -24 -26 -26 -23 -21 -20 -22 -22 -26 -27 -25 -24 -22 -22 -21 -21 -21 -21 -20 -20 -22 -25 -28 -27 -25 -24 -25 -23 -18 -14 -11 -7 -5 -8 -14 -19 -18 -18 -19 -18 -19 -18 -19 -21 -21 -20 -19 -18 -19 -20 -19 -18 -16 -15 -15 -16 -17 -18 -20 -19 -19 -18 -18 -17 -20 -23 -26 -27 -26 -26 -24 -21 -20 -20 -20 -20 -21 -19 -19 -20 -20 -19 -19 -20 -20 -21 -21 -20 -20 -19 -18 -18 -18 -18 -19 -19 -19 -21 -21 -20 -20 -20 -21 -22 -22 -22 -19 -17 -15 -14 -16 -16 -18 -20 -20 -20 -22 -23 -25 -26 -27 -7 -7 -6 -3 -2 -2 -3 -3 -2 -1 -1 -1 -1 -1 -2 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -4 -5 -6 -8 -8 -8 -7 -4 -4 -5 -6 -7 -6 -4 -1 1 1 -9 -21 -27 -23 -12 -8 -7 -6 -3 -3 -3 -2 -1 -0 -0 -0 -1 -2 -1 -1 -1 -0 1 2 4 5 7 8 8 9 9 7 5 2 2 3 3 1 -4 -6 -6 -5 -5 -3 -1 -1 -3 -6 -4 -2 -1 -1 -4 -9 -13 -15 -18 -21 -22 -18 -9 -0 2 3 4 5 6 5 5 6 8 9 7 5 4 3 4 5 7 10 14 16 13 9 4 -0 -3 -8 -12 -14 -10 -4 -2 -2 -1 1 -0 -4 -9 -15 -17 -15 -13 -11 -10 -10 -10 -10 -12 -13 -10 -4 -0 -1 -6 -10 -12 -12 -9 -7 -7 -5 -0 8 11 7 2 -3 -7 -8 -6 -1 7 14 17 17 14 6 -5 -10 -10 -7 -4 -4 -5 -6 -7 -9 -12 -13 -13 -13 -14 -13 -10 -5 -1 -1 -2 -2 -1 -1 -5 -11 -16 -19 -21 -22 -22 -22 -21 -21 -24 -25 -20 -11 -4 -4 -4 -3 -1 1 -0 -3 -5 -7 -10 -13 -15 -16 -15 -8 -2 -0 -3 -9 -12 -13 -13 -13 -12 -12 -12 -13 -14 -12 -10 -9 -9 -12 -15 -15 -13 -8 -7 -8 -10 -13 -16 -16 -15 -15 -15 -17 -18 -19 -19 -19 -18 -17 -19 -20 -21 -20 -19 -20 -21 -21 -20 -20 -22 -24 -25 -26 -24 -23 -23 -26 -25 -27 -27 -23 -22 -22 -22 -23 -22 -22 -22 -22 -22 -22 -26 -27 -28 -28 -27 -27 -24 -19 -15 -12 -8 -5 -5 -11 -17 -20 -21 -22 -20 -18 -17 -19 -22 -21 -19 -18 -18 -19 -19 -19 -18 -17 -16 -15 -16 -17 -18 -19 -19 -19 -18 -16 -17 -18 -22 -26 -27 -26 -26 -25 -22 -20 -20 -19 -20 -21 -21 -21 -21 -21 -19 -19 -20 -20 -21 -21 -21 -20 -19 -19 -18 -18 -18 -19 -19 -19 -20 -20 -21 -21 -21 -22 -23 -23 -22 -19 -17 -16 -14 -15 -17 -18 -20 -20 -20 -22 -23 -24 -25 -25 -6 -6 -4 -2 -2 -3 -4 -4 -4 -3 -2 -2 -2 -1 -2 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -4 -5 -6 -8 -8 -6 -5 -3 -3 -3 -3 -4 -4 -2 1 4 8 6 -5 -14 -16 -8 -5 -6 -5 -3 -2 -2 -1 -1 -0 -0 -1 -1 -2 -1 -0 -0 -0 -0 1 1 2 4 5 6 8 8 8 7 5 3 2 1 -0 -4 -6 -6 -5 -4 -2 -0 -0 -1 -4 -6 -5 -4 -4 -4 -7 -10 -13 -15 -16 -18 -18 -15 -7 -1 1 3 3 4 3 3 4 7 10 9 7 5 4 5 6 7 9 12 15 16 13 8 3 -1 -6 -11 -14 -13 -8 -5 -4 -5 -4 -2 -1 -2 -7 -11 -12 -11 -9 -9 -9 -10 -10 -11 -14 -15 -12 -7 -1 -2 -6 -10 -11 -9 -6 -5 -6 -4 2 9 11 7 2 -4 -7 -7 -6 -4 -2 2 7 10 8 1 -6 -9 -10 -8 -6 -6 -6 -7 -8 -11 -11 -11 -12 -14 -14 -12 -8 -3 -1 -2 -3 -3 -2 -4 -9 -14 -18 -18 -18 -20 -22 -24 -25 -27 -26 -22 -13 -6 -6 -8 -8 -7 -5 -5 -7 -8 -8 -9 -10 -12 -14 -15 -13 -8 -3 -3 -9 -12 -13 -13 -12 -11 -11 -11 -13 -13 -12 -11 -9 -8 -10 -14 -16 -15 -10 -7 -8 -10 -13 -16 -16 -15 -14 -14 -16 -18 -19 -20 -20 -18 -17 -18 -20 -22 -21 -21 -22 -22 -22 -21 -21 -23 -24 -25 -26 -25 -24 -26 -30 -29 -27 -24 -21 -20 -21 -23 -25 -24 -23 -24 -24 -24 -23 -26 -27 -28 -29 -28 -27 -24 -21 -17 -14 -9 -5 -3 -8 -17 -22 -24 -24 -22 -18 -18 -20 -22 -20 -19 -18 -18 -18 -19 -20 -20 -19 -16 -15 -16 -17 -18 -19 -20 -20 -18 -16 -16 -17 -19 -22 -24 -25 -26 -25 -24 -22 -20 -19 -19 -21 -22 -22 -22 -21 -19 -20 -20 -20 -21 -20 -20 -20 -20 -20 -20 -19 -19 -19 -19 -20 -20 -20 -21 -21 -21 -22 -23 -23 -22 -21 -20 -18 -16 -15 -17 -19 -20 -20 -20 -21 -22 -23 -23 -23 -6 -4 -3 -3 -3 -4 -4 -4 -4 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -1 -0 -0 -0 -0 -1 -2 -3 -3 -3 -2 -2 -2 -3 -4 -5 -6 -6 -5 -4 -4 -3 -2 -2 -3 -5 -4 -3 -2 -0 1 -3 -8 -10 -6 -6 -5 -3 -2 -0 -0 -0 -0 -0 -1 -1 -1 -2 -1 -0 1 1 1 1 -0 -0 1 2 4 5 7 9 9 8 5 3 -0 -1 -5 -7 -7 -5 -3 -1 -0 1 -0 -3 -6 -7 -7 -7 -6 -6 -7 -10 -12 -14 -15 -17 -16 -12 -5 -1 1 2 2 1 -0 -0 2 7 9 9 7 6 5 6 7 8 10 14 17 17 14 9 3 -3 -8 -12 -13 -10 -7 -7 -9 -10 -8 -3 1 1 -3 -5 -6 -5 -4 -6 -7 -9 -11 -13 -16 -16 -12 -7 -3 -4 -6 -7 -7 -4 -3 -4 -5 -2 4 9 10 6 1 -4 -6 -6 -6 -6 -5 -2 2 6 4 -1 -5 -8 -9 -8 -8 -9 -9 -8 -10 -11 -11 -11 -13 -14 -13 -10 -5 -2 -2 -4 -5 -6 -7 -9 -13 -16 -18 -18 -19 -21 -24 -25 -26 -26 -23 -15 -7 -6 -6 -7 -7 -8 -9 -10 -10 -10 -10 -9 -10 -12 -15 -16 -13 -8 -5 -8 -12 -13 -12 -10 -10 -10 -12 -13 -13 -13 -13 -11 -8 -9 -13 -15 -15 -13 -9 -8 -10 -12 -15 -17 -16 -14 -14 -16 -18 -20 -22 -22 -18 -16 -17 -20 -22 -22 -22 -23 -23 -22 -22 -22 -23 -25 -25 -27 -26 -26 -27 -31 -30 -28 -25 -22 -21 -21 -24 -27 -25 -24 -25 -25 -25 -25 -27 -28 -27 -28 -28 -27 -24 -21 -18 -17 -12 -6 -1 -5 -15 -21 -25 -25 -23 -20 -19 -20 -21 -20 -19 -19 -19 -18 -21 -22 -22 -21 -19 -18 -17 -17 -19 -21 -22 -22 -19 -16 -15 -15 -17 -20 -22 -24 -25 -25 -24 -24 -21 -19 -19 -19 -21 -22 -22 -22 -21 -20 -20 -20 -20 -20 -20 -20 -20 -21 -20 -19 -18 -18 -19 -19 -20 -20 -20 -20 -21 -22 -23 -24 -23 -23 -22 -21 -19 -16 -17 -19 -20 -20 -21 -21 -21 -22 -22 -21 -4 -3 -3 -3 -5 -5 -5 -5 -4 -3 -2 -2 -3 -3 -4 -4 -5 -4 -3 -3 -2 -0 -0 -0 -0 -2 -3 -5 -5 -5 -4 -2 -1 -2 -3 -4 -4 -5 -5 -6 -7 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -11 -12 -12 -11 -9 -6 -3 -1 -0 1 1 -0 -0 -1 -1 -1 -1 -1 -0 1 2 2 1 1 -0 -1 -0 -0 3 4 5 8 9 8 6 4 1 -5 -9 -10 -7 -3 -0 1 1 -1 -4 -6 -8 -9 -9 -8 -7 -6 -6 -8 -11 -13 -15 -16 -14 -8 -3 -0 1 1 -0 -2 -3 -3 -0 5 8 8 6 6 7 7 8 10 13 17 20 21 17 11 4 -2 -8 -11 -10 -9 -10 -13 -15 -16 -11 -4 3 2 -1 -2 -1 1 -0 -2 -5 -8 -11 -15 -17 -15 -11 -7 -4 -4 -4 -4 -1 -0 -2 -3 -3 1 5 7 6 4 -0 -3 -5 -5 -5 -6 -5 -3 -0 2 1 -2 -5 -7 -7 -9 -11 -12 -10 -11 -11 -11 -11 -12 -13 -13 -11 -8 -4 -3 -4 -7 -9 -10 -10 -12 -14 -17 -17 -18 -19 -20 -22 -24 -25 -24 -17 -9 -6 -5 -6 -7 -8 -9 -11 -11 -10 -10 -9 -9 -11 -15 -17 -16 -13 -9 -9 -11 -13 -12 -10 -9 -10 -12 -14 -14 -15 -14 -12 -9 -8 -12 -14 -15 -15 -11 -10 -10 -12 -15 -17 -17 -16 -14 -16 -18 -21 -24 -25 -21 -17 -17 -20 -21 -21 -22 -22 -22 -21 -21 -21 -23 -25 -25 -27 -27 -26 -27 -30 -30 -28 -25 -26 -25 -22 -22 -26 -25 -25 -25 -26 -27 -26 -27 -27 -27 -28 -29 -28 -25 -22 -20 -18 -14 -8 -1 -2 -10 -18 -23 -24 -24 -22 -21 -20 -20 -21 -21 -20 -19 -19 -21 -22 -23 -23 -23 -20 -18 -17 -19 -22 -23 -23 -20 -16 -14 -13 -15 -18 -20 -23 -24 -24 -23 -23 -21 -19 -19 -17 -20 -22 -23 -23 -23 -21 -20 -20 -21 -20 -20 -21 -21 -21 -20 -19 -17 -17 -18 -19 -19 -20 -20 -20 -21 -21 -23 -24 -24 -23 -22 -21 -21 -19 -18 -19 -20 -20 -20 -20 -21 -21 -21 -21 -3 -3 -3 -5 -6 -6 -6 -5 -3 -2 -2 -2 -3 -3 -4 -5 -5 -4 -3 -3 -2 -1 -0 -0 -1 -2 -5 -6 -7 -7 -6 -4 -2 -2 -2 -3 -4 -5 -6 -7 -9 -9 -9 -8 -7 -6 -6 -5 -5 -7 -9 -12 -13 -14 -14 -12 -8 -4 -2 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -1 1 2 2 2 2 1 -0 -1 -0 -0 1 2 4 5 6 7 7 5 -0 -7 -10 -10 -7 -1 2 1 -1 -4 -6 -8 -9 -8 -8 -7 -5 -5 -6 -9 -12 -15 -16 -15 -10 -5 -1 -0 -0 -0 -2 -4 -5 -4 -2 3 6 7 6 5 6 7 8 11 16 21 24 25 21 14 6 -1 -7 -8 -9 -12 -16 -19 -21 -19 -12 -3 -0 -2 -3 -2 2 5 4 1 -3 -8 -13 -16 -17 -15 -10 -6 -3 -2 -1 1 2 -0 -2 -1 1 3 4 4 4 1 -3 -5 -4 -4 -4 -4 -2 -1 -1 -2 -3 -5 -7 -7 -8 -11 -12 -11 -11 -11 -11 -11 -12 -13 -14 -13 -10 -7 -5 -5 -7 -10 -13 -12 -12 -14 -16 -17 -17 -17 -17 -18 -20 -22 -22 -18 -11 -7 -6 -7 -8 -8 -9 -10 -10 -10 -10 -10 -9 -11 -15 -17 -17 -15 -12 -10 -12 -13 -13 -10 -8 -10 -12 -14 -14 -15 -15 -13 -10 -8 -11 -14 -16 -15 -13 -12 -12 -12 -15 -16 -16 -16 -15 -16 -18 -21 -24 -26 -23 -19 -17 -18 -19 -20 -21 -21 -20 -20 -19 -19 -21 -23 -24 -26 -26 -26 -26 -28 -28 -26 -23 -26 -24 -23 -22 -23 -24 -25 -26 -28 -29 -26 -25 -26 -27 -29 -30 -29 -26 -22 -20 -19 -16 -10 -5 -1 -5 -13 -20 -23 -24 -24 -22 -19 -19 -21 -22 -21 -20 -20 -21 -22 -24 -24 -24 -22 -20 -19 -20 -21 -22 -23 -21 -18 -14 -12 -14 -17 -19 -22 -23 -23 -23 -23 -22 -20 -19 -17 -18 -21 -23 -22 -23 -22 -21 -20 -21 -21 -21 -21 -21 -21 -20 -19 -17 -17 -18 -18 -19 -19 -20 -20 -20 -21 -22 -23 -24 -24 -22 -21 -22 -21 -19 -19 -21 -21 -20 -20 -21 -21 -21 -20 -4 -4 -5 -6 -6 -6 -6 -4 -3 -2 -2 -2 -3 -3 -4 -4 -4 -3 -2 -2 -2 -2 -2 -1 -1 -2 -5 -6 -7 -7 -8 -7 -5 -3 -3 -3 -4 -6 -7 -7 -6 -6 -7 -7 -6 -6 -6 -7 -6 -6 -8 -10 -12 -13 -13 -12 -10 -8 -6 -3 -2 -0 -0 -0 -1 -0 1 1 1 -0 1 2 2 2 2 2 1 -0 -1 -0 -0 -0 -0 -0 1 4 6 8 5 -1 -7 -10 -10 -4 -1 -0 -2 -3 -5 -7 -9 -9 -8 -6 -6 -5 -5 -6 -9 -13 -16 -17 -14 -8 -3 -0 -0 -1 -2 -3 -3 -3 -3 -2 2 5 5 4 4 4 5 7 12 18 23 27 28 24 17 9 2 -3 -8 -13 -17 -20 -22 -22 -18 -11 -6 -7 -8 -8 -3 4 6 6 3 -3 -9 -15 -18 -17 -14 -9 -5 -3 -0 2 4 2 -1 -1 2 3 4 3 1 -0 -2 -4 -4 -3 -3 -4 -3 -2 -2 -2 -3 -5 -6 -7 -8 -11 -13 -13 -11 -11 -11 -11 -12 -13 -14 -13 -12 -10 -8 -7 -7 -10 -14 -15 -15 -15 -16 -17 -17 -16 -15 -16 -17 -19 -20 -19 -14 -10 -8 -7 -8 -8 -8 -9 -11 -11 -13 -12 -11 -11 -15 -17 -17 -16 -13 -13 -13 -14 -14 -11 -8 -9 -11 -13 -14 -15 -16 -16 -12 -10 -11 -14 -17 -17 -15 -14 -14 -14 -14 -15 -16 -16 -15 -15 -18 -21 -23 -24 -23 -20 -18 -17 -17 -18 -19 -19 -19 -18 -16 -16 -18 -19 -22 -24 -25 -24 -25 -26 -25 -23 -22 -24 -23 -22 -22 -23 -24 -25 -26 -27 -28 -25 -24 -25 -26 -28 -29 -28 -26 -22 -21 -20 -17 -13 -10 -3 -2 -8 -16 -21 -24 -24 -22 -20 -20 -21 -22 -22 -21 -21 -21 -22 -23 -23 -24 -23 -21 -19 -20 -21 -21 -21 -21 -19 -15 -13 -13 -16 -18 -20 -22 -23 -23 -23 -22 -22 -20 -17 -17 -18 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -20 -19 -18 -18 -18 -19 -19 -19 -19 -20 -20 -20 -22 -24 -25 -24 -22 -21 -23 -23 -20 -18 -21 -22 -21 -20 -22 -22 -21 -20 -5 -5 -6 -7 -6 -6 -5 -4 -3 -2 -2 -2 -3 -3 -3 -3 -2 -1 -1 -1 -2 -2 -3 -1 -1 -2 -5 -5 -5 -5 -5 -5 -5 -3 -3 -4 -5 -6 -7 -6 -5 -4 -4 -4 -5 -6 -7 -6 -5 -5 -5 -6 -7 -9 -10 -11 -12 -11 -9 -6 -4 -2 -0 -0 -0 -0 -0 1 2 2 1 1 2 2 2 2 2 -0 -1 -0 -0 -1 -1 -3 -3 -1 2 6 8 5 -1 -7 -10 -7 -4 -3 -3 -3 -3 -5 -8 -9 -8 -6 -6 -5 -5 -6 -8 -11 -13 -15 -15 -12 -7 -2 1 1 -1 -1 -0 -0 -1 -2 -2 1 3 4 3 3 3 2 4 9 16 23 27 28 25 20 12 4 -4 -12 -17 -18 -19 -18 -16 -13 -10 -10 -12 -13 -11 -4 3 7 7 1 -6 -13 -17 -18 -17 -13 -9 -5 -3 1 5 5 2 -0 1 3 3 2 -1 -2 -3 -4 -4 -3 -3 -4 -4 -3 -1 -1 -1 -1 -4 -6 -8 -9 -11 -12 -12 -11 -11 -11 -11 -13 -14 -14 -13 -12 -11 -9 -7 -9 -14 -17 -18 -17 -17 -17 -16 -14 -13 -13 -14 -16 -18 -19 -17 -13 -9 -8 -8 -8 -8 -9 -11 -11 -13 -13 -12 -13 -16 -18 -18 -16 -14 -14 -14 -14 -14 -13 -10 -9 -10 -13 -13 -14 -17 -18 -15 -13 -13 -16 -18 -17 -17 -16 -15 -14 -14 -14 -15 -16 -16 -16 -18 -21 -23 -23 -22 -20 -18 -17 -17 -17 -17 -18 -18 -16 -15 -15 -17 -18 -20 -23 -23 -23 -23 -23 -22 -22 -23 -23 -21 -20 -21 -22 -23 -24 -25 -25 -24 -23 -23 -24 -24 -25 -26 -25 -24 -23 -22 -21 -19 -17 -13 -6 -2 -4 -13 -18 -23 -24 -23 -21 -21 -21 -22 -22 -22 -22 -21 -21 -21 -22 -23 -24 -23 -21 -21 -21 -21 -19 -20 -19 -16 -13 -13 -15 -17 -20 -22 -23 -23 -23 -23 -23 -20 -18 -17 -17 -20 -20 -19 -20 -21 -21 -20 -20 -20 -21 -22 -22 -21 -19 -19 -19 -19 -19 -19 -20 -20 -19 -19 -20 -21 -23 -24 -23 -22 -20 -22 -24 -22 -18 -20 -21 -21 -20 -21 -21 -21 -21 -6 -6 -7 -6 -6 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -6 -6 -6 -6 -5 -5 -3 -3 -4 -6 -7 -7 -6 -4 -3 -3 -3 -3 -3 -4 -5 -5 -4 -4 -3 -3 -4 -6 -7 -9 -11 -12 -11 -7 -5 -4 -2 -0 1 -0 -0 -0 1 2 2 2 2 2 1 2 1 1 -1 -0 -0 -0 -1 -3 -5 -5 -3 1 5 7 4 -1 -6 -6 -6 -6 -6 -4 -2 -3 -5 -8 -8 -7 -6 -6 -6 -6 -8 -10 -12 -13 -14 -13 -11 -7 -2 1 2 2 2 3 1 -1 -2 -1 2 3 3 2 2 -1 -3 -2 1 7 14 20 22 21 18 10 1 -8 -13 -14 -13 -12 -13 -14 -13 -11 -10 -12 -14 -11 -5 1 5 3 -3 -9 -13 -17 -19 -16 -12 -8 -7 -2 3 6 6 2 1 1 2 2 -1 -3 -4 -4 -4 -4 -4 -4 -5 -5 -3 -1 2 4 2 -2 -5 -6 -7 -10 -11 -12 -11 -11 -12 -14 -15 -14 -13 -12 -11 -10 -9 -10 -13 -17 -19 -20 -19 -18 -16 -12 -9 -10 -11 -13 -16 -19 -18 -15 -11 -9 -9 -9 -9 -9 -9 -10 -11 -12 -12 -13 -15 -17 -17 -15 -14 -14 -14 -14 -15 -15 -12 -10 -10 -12 -12 -13 -16 -17 -15 -13 -14 -16 -17 -17 -17 -17 -16 -14 -14 -15 -16 -17 -17 -17 -18 -20 -22 -23 -21 -19 -18 -18 -17 -16 -17 -18 -18 -17 -16 -16 -18 -19 -22 -24 -25 -25 -22 -21 -20 -21 -22 -22 -20 -19 -20 -21 -23 -24 -25 -24 -23 -21 -21 -21 -23 -23 -24 -23 -23 -24 -24 -23 -22 -20 -16 -10 -4 -3 -12 -18 -22 -23 -23 -21 -21 -22 -22 -22 -22 -21 -21 -20 -20 -21 -22 -23 -23 -22 -21 -21 -20 -19 -20 -19 -17 -14 -13 -14 -17 -20 -22 -23 -23 -23 -23 -23 -21 -19 -17 -16 -17 -20 -19 -18 -20 -20 -20 -19 -20 -21 -22 -23 -21 -20 -20 -19 -19 -19 -19 -19 -20 -19 -19 -20 -21 -22 -23 -22 -21 -19 -22 -24 -24 -20 -19 -20 -21 -20 -19 -20 -21 -21 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -3 -3 -2 -2 -3 -3 -4 -5 -5 -4 -4 -4 -4 -5 -5 -5 -6 -8 -9 -9 -7 -5 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -3 -3 -4 -5 -8 -9 -9 -7 -5 -5 -3 -1 1 1 -0 -1 -1 -0 2 2 2 1 -0 1 1 1 -0 -0 -0 1 1 -1 -4 -6 -5 -3 -0 4 5 2 -2 -5 -7 -8 -9 -6 -3 -1 -2 -4 -6 -6 -6 -5 -5 -5 -7 -9 -12 -13 -13 -13 -13 -12 -9 -2 2 5 5 4 4 2 -0 -0 1 2 2 2 2 -0 -3 -6 -7 -6 -2 4 9 13 15 11 4 -3 -9 -10 -9 -10 -11 -14 -13 -10 -9 -10 -15 -16 -13 -7 -0 2 -0 -5 -10 -15 -19 -18 -14 -10 -9 -6 1 7 10 7 2 1 2 3 -0 -2 -3 -4 -4 -4 -4 -4 -6 -6 -6 -3 1 6 7 3 -1 -3 -4 -6 -9 -11 -12 -11 -12 -13 -15 -15 -13 -11 -9 -9 -10 -11 -14 -18 -21 -23 -21 -20 -18 -14 -8 -6 -7 -10 -14 -17 -18 -16 -14 -10 -10 -10 -10 -8 -8 -9 -10 -11 -12 -13 -14 -15 -16 -15 -15 -15 -15 -15 -15 -15 -14 -12 -11 -10 -10 -12 -14 -16 -14 -13 -14 -15 -15 -16 -17 -17 -17 -15 -16 -17 -18 -18 -18 -18 -18 -19 -21 -22 -21 -20 -19 -19 -17 -16 -17 -19 -19 -18 -17 -17 -17 -19 -23 -26 -29 -27 -21 -19 -19 -20 -20 -20 -19 -19 -19 -20 -22 -24 -24 -24 -22 -21 -19 -19 -21 -23 -24 -25 -25 -25 -26 -26 -25 -23 -20 -14 -8 -6 -11 -18 -22 -23 -23 -22 -22 -21 -21 -22 -21 -21 -20 -19 -21 -21 -21 -22 -22 -21 -20 -19 -20 -21 -22 -21 -19 -16 -14 -14 -17 -19 -22 -22 -23 -23 -23 -23 -22 -20 -18 -15 -14 -18 -19 -18 -18 -20 -20 -19 -19 -20 -22 -22 -21 -21 -20 -19 -18 -18 -18 -19 -19 -19 -18 -19 -20 -21 -21 -21 -21 -19 -21 -23 -23 -21 -19 -19 -20 -19 -19 -19 -20 -20 -5 -6 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -3 -3 -4 -5 -5 -4 -4 -5 -5 -5 -7 -7 -7 -7 -5 -4 -2 -1 -2 -5 -9 -10 -8 -6 -7 -9 -8 -6 -5 -4 -3 -3 -4 -4 -3 -2 -2 -3 -4 -3 -3 -2 -2 -3 -5 -6 -6 -5 -4 -5 -4 -2 1 1 -0 -1 -2 -2 -0 1 -0 -1 -1 -1 1 2 2 1 1 1 2 3 -0 -3 -4 -4 -2 -1 1 2 -0 -4 -7 -9 -10 -10 -6 -3 -1 -2 -3 -4 -5 -4 -3 -3 -5 -8 -11 -13 -12 -11 -12 -15 -17 -11 -2 5 7 6 6 5 3 2 2 2 2 2 2 1 -1 -4 -7 -10 -11 -9 -5 1 7 8 5 1 -4 -6 -7 -9 -10 -12 -12 -10 -9 -9 -13 -17 -17 -13 -6 -1 -0 -3 -7 -13 -19 -20 -17 -12 -9 -6 -2 5 11 11 6 4 4 4 2 -0 -2 -4 -4 -3 -3 -4 -6 -7 -8 -7 -4 2 6 5 2 -0 -1 -2 -5 -9 -12 -13 -13 -13 -14 -15 -14 -11 -9 -7 -8 -11 -15 -18 -22 -24 -22 -21 -20 -19 -12 -6 -4 -6 -11 -14 -16 -17 -16 -12 -11 -11 -10 -9 -8 -8 -9 -10 -11 -12 -14 -15 -16 -16 -16 -15 -15 -15 -15 -15 -15 -14 -11 -8 -8 -11 -14 -15 -13 -13 -14 -14 -13 -14 -16 -18 -18 -17 -17 -18 -19 -18 -18 -17 -17 -17 -19 -20 -20 -19 -18 -19 -17 -17 -18 -19 -19 -19 -19 -18 -16 -18 -21 -26 -31 -29 -23 -20 -19 -20 -20 -20 -20 -20 -20 -20 -21 -23 -24 -23 -22 -21 -20 -19 -19 -22 -24 -26 -28 -28 -28 -28 -28 -27 -24 -19 -13 -9 -10 -17 -22 -24 -23 -22 -22 -21 -21 -21 -21 -20 -20 -20 -22 -22 -21 -21 -22 -21 -19 -19 -19 -22 -22 -22 -22 -20 -16 -15 -16 -19 -21 -21 -23 -23 -22 -23 -23 -22 -20 -17 -14 -17 -19 -19 -18 -19 -18 -18 -18 -19 -20 -21 -21 -21 -20 -19 -19 -18 -18 -18 -18 -18 -18 -18 -18 -19 -20 -19 -20 -19 -20 -21 -23 -22 -20 -18 -18 -17 -17 -18 -18 -19 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -2 -3 -3 -4 -5 -6 -5 -4 -3 -4 -5 -7 -9 -10 -9 -8 -6 -4 -2 -1 -1 -6 -13 -14 -11 -6 -5 -7 -6 -5 -5 -4 -3 -3 -5 -7 -6 -4 -3 -3 -4 -3 -3 -2 -2 -3 -5 -5 -4 -4 -3 -4 -4 -4 -2 -0 1 -0 -1 -2 -1 -1 -1 -2 -3 -3 -2 -0 2 2 1 -0 1 5 6 3 1 -1 -2 -2 -2 -1 -1 -4 -7 -9 -11 -12 -11 -9 -5 -2 1 -0 -2 -3 -2 -1 -3 -7 -11 -14 -12 -10 -11 -15 -21 -19 -10 1 7 8 8 7 5 5 4 3 3 3 2 2 1 -1 -4 -8 -12 -14 -13 -9 -2 2 3 2 -0 -3 -5 -7 -9 -11 -11 -10 -9 -9 -11 -15 -17 -16 -12 -5 -1 -1 -5 -12 -18 -20 -19 -16 -11 -6 -4 -1 6 11 9 7 5 4 3 1 -1 -4 -4 -3 -2 -2 -4 -7 -9 -11 -10 -5 1 4 4 2 1 -0 -2 -6 -10 -12 -13 -13 -14 -14 -14 -13 -11 -8 -8 -11 -15 -19 -23 -24 -22 -20 -20 -21 -19 -12 -6 -3 -6 -8 -11 -14 -16 -14 -12 -11 -11 -10 -8 -7 -8 -9 -11 -12 -14 -15 -16 -17 -16 -16 -16 -15 -15 -14 -14 -14 -11 -9 -9 -11 -12 -12 -12 -13 -13 -13 -12 -13 -16 -19 -19 -18 -18 -18 -19 -19 -18 -17 -16 -16 -18 -19 -18 -17 -17 -18 -18 -17 -17 -18 -19 -19 -19 -18 -16 -16 -19 -24 -29 -28 -24 -21 -21 -21 -22 -21 -20 -20 -21 -20 -20 -21 -21 -22 -23 -23 -22 -20 -18 -20 -22 -25 -29 -30 -30 -30 -31 -30 -28 -24 -18 -12 -9 -14 -20 -23 -23 -23 -22 -21 -19 -20 -20 -20 -20 -20 -21 -22 -21 -20 -21 -21 -20 -19 -19 -22 -22 -22 -22 -21 -18 -16 -17 -19 -21 -22 -23 -22 -22 -22 -23 -23 -22 -19 -16 -17 -19 -20 -19 -18 -16 -16 -17 -18 -20 -21 -21 -22 -21 -20 -20 -19 -18 -18 -18 -18 -18 -18 -18 -19 -18 -18 -19 -19 -19 -20 -22 -21 -20 -19 -18 -17 -17 -17 -18 -18 -5 -5 -5 -5 -4 -3 -2 -1 -2 -3 -3 -3 -4 -4 -5 -5 -5 -4 -3 -3 -4 -5 -7 -9 -9 -8 -8 -6 -3 -2 -3 -7 -13 -15 -13 -9 -6 -5 -2 -2 -3 -3 -2 -2 -4 -7 -10 -8 -6 -4 -4 -3 -2 -1 -1 -3 -5 -5 -5 -4 -4 -3 -3 -4 -3 -3 -1 -0 -0 -1 -1 -2 -3 -5 -5 -6 -6 -6 -4 -2 -1 -0 1 5 10 10 7 3 -1 -3 -3 -2 -3 -6 -8 -9 -9 -12 -15 -15 -13 -9 -1 3 2 -0 -0 -0 -1 -4 -9 -13 -14 -11 -10 -13 -21 -23 -17 -6 4 8 8 7 6 6 7 5 4 3 3 3 4 3 -0 -3 -9 -13 -14 -13 -8 -4 -1 -0 -0 -2 -4 -6 -7 -8 -10 -10 -10 -9 -9 -12 -15 -16 -15 -9 -3 -1 -4 -10 -15 -18 -19 -18 -14 -7 -4 -3 -0 6 8 9 8 8 6 4 2 -0 -3 -4 -3 -2 -3 -5 -8 -11 -12 -9 -4 1 3 3 2 1 -0 -3 -7 -10 -11 -12 -13 -14 -14 -14 -13 -12 -12 -13 -16 -19 -21 -24 -22 -20 -18 -19 -21 -17 -12 -7 -6 -3 -2 -6 -12 -13 -11 -11 -11 -11 -9 -8 -7 -9 -11 -13 -13 -14 -16 -17 -17 -17 -17 -15 -15 -14 -14 -14 -12 -11 -10 -10 -10 -9 -12 -13 -14 -14 -14 -14 -16 -18 -19 -18 -17 -18 -18 -19 -18 -17 -16 -16 -17 -18 -18 -16 -16 -17 -17 -17 -17 -17 -18 -18 -19 -19 -18 -15 -17 -22 -27 -26 -24 -23 -22 -22 -22 -21 -20 -20 -21 -20 -20 -20 -20 -20 -22 -24 -25 -23 -19 -19 -21 -23 -27 -28 -29 -31 -32 -32 -32 -30 -24 -15 -10 -12 -17 -21 -22 -23 -22 -20 -19 -19 -20 -20 -19 -21 -21 -21 -20 -20 -21 -21 -21 -19 -19 -21 -22 -22 -23 -21 -19 -17 -17 -18 -20 -22 -23 -22 -21 -22 -23 -23 -23 -21 -18 -18 -18 -19 -19 -17 -16 -15 -16 -17 -19 -21 -21 -22 -22 -21 -20 -20 -18 -18 -18 -18 -18 -17 -17 -18 -18 -18 -18 -19 -19 -19 -20 -21 -21 -21 -19 -18 -17 -17 -18 -18 -6 -6 -6 -4 -3 -2 -1 -1 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -3 -6 -7 -9 -10 -8 -4 -3 -5 -7 -9 -11 -13 -14 -11 -7 -2 -0 -0 -1 -0 -0 -2 -5 -9 -9 -8 -5 -4 -4 -3 -1 -0 -1 -3 -4 -4 -4 -3 -3 -3 -3 -3 -2 -1 -0 -0 -1 -1 -1 -2 -3 -4 -5 -7 -8 -10 -8 -5 -2 -0 1 5 8 9 8 4 1 -0 -1 -3 -6 -8 -8 -8 -10 -13 -17 -19 -18 -12 -2 4 4 2 1 -0 -3 -6 -11 -14 -13 -12 -14 -19 -22 -20 -12 -2 6 7 6 6 7 7 7 6 4 3 4 5 5 3 -0 -4 -9 -12 -13 -10 -6 -4 -3 -3 -4 -5 -6 -6 -6 -8 -10 -10 -10 -9 -10 -13 -15 -16 -12 -7 -3 -3 -8 -13 -16 -18 -19 -17 -10 -5 -3 -2 2 6 9 11 12 10 8 6 4 -1 -4 -6 -5 -4 -5 -7 -9 -10 -10 -6 -2 2 3 4 2 1 -0 -3 -7 -9 -11 -12 -13 -13 -14 -15 -17 -19 -19 -19 -19 -19 -22 -21 -19 -16 -16 -19 -19 -16 -11 -8 -4 -1 -0 -4 -10 -11 -11 -11 -12 -11 -9 -8 -8 -11 -13 -13 -14 -16 -17 -17 -17 -17 -16 -15 -15 -15 -14 -12 -10 -10 -10 -8 -8 -11 -13 -15 -15 -15 -14 -14 -16 -18 -17 -17 -17 -18 -19 -18 -17 -16 -16 -17 -17 -16 -15 -14 -15 -15 -15 -16 -17 -17 -18 -19 -19 -18 -16 -17 -21 -24 -24 -24 -23 -23 -23 -22 -22 -22 -22 -21 -20 -20 -20 -20 -20 -22 -25 -26 -26 -22 -20 -21 -23 -24 -26 -29 -31 -32 -32 -33 -32 -28 -21 -16 -14 -15 -20 -22 -23 -22 -21 -19 -19 -20 -19 -19 -21 -21 -21 -21 -20 -21 -22 -22 -21 -20 -20 -22 -23 -23 -21 -20 -18 -17 -18 -18 -20 -21 -22 -21 -21 -23 -24 -23 -21 -19 -18 -17 -18 -19 -17 -15 -14 -15 -16 -18 -19 -20 -21 -22 -21 -21 -20 -19 -18 -18 -18 -18 -17 -17 -18 -18 -18 -18 -18 -18 -18 -19 -21 -22 -22 -20 -18 -18 -18 -18 -18 -6 -6 -5 -3 -1 -1 -1 -2 -3 -4 -4 -4 -5 -5 -5 -4 -4 -4 -3 -1 -0 1 -0 -2 -4 -7 -9 -7 -4 -4 -5 -5 -5 -6 -9 -11 -10 -5 -2 -0 -0 -1 -1 -1 -1 -3 -5 -5 -4 -4 -4 -5 -5 -4 -2 -1 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -0 -0 -0 -0 -1 -2 -2 -3 -4 -5 -6 -9 -10 -9 -7 -3 -1 1 2 4 7 6 5 5 3 -0 -3 -6 -7 -8 -8 -10 -14 -19 -23 -22 -12 -1 5 4 2 -0 -2 -5 -8 -11 -13 -14 -15 -18 -19 -19 -15 -7 2 5 5 4 4 4 4 4 4 4 5 6 7 7 4 1 -3 -7 -9 -9 -8 -5 -4 -4 -4 -5 -6 -5 -5 -6 -8 -10 -10 -10 -10 -12 -14 -15 -13 -10 -6 -4 -7 -12 -14 -16 -17 -18 -14 -9 -4 -2 -0 3 6 10 12 12 11 9 7 3 -1 -4 -6 -7 -8 -8 -8 -8 -8 -5 -2 2 5 6 6 3 -0 -3 -5 -7 -8 -11 -12 -13 -15 -16 -19 -24 -25 -25 -23 -20 -20 -20 -18 -15 -12 -15 -17 -16 -14 -12 -12 -8 -4 -2 -6 -8 -9 -10 -12 -12 -11 -9 -8 -10 -13 -14 -15 -16 -17 -17 -16 -17 -17 -16 -16 -16 -15 -13 -11 -11 -11 -8 -7 -9 -12 -14 -15 -14 -13 -13 -15 -17 -19 -19 -18 -18 -20 -19 -17 -15 -15 -16 -16 -16 -14 -14 -15 -15 -16 -16 -17 -17 -18 -19 -19 -18 -17 -18 -20 -21 -23 -24 -24 -24 -24 -23 -23 -23 -22 -21 -20 -20 -20 -20 -20 -21 -22 -24 -25 -24 -23 -23 -26 -24 -25 -28 -31 -31 -31 -32 -31 -28 -24 -19 -15 -14 -17 -19 -21 -22 -22 -20 -20 -20 -20 -20 -20 -21 -22 -21 -21 -21 -22 -22 -22 -21 -21 -22 -22 -22 -21 -20 -20 -19 -19 -17 -17 -19 -21 -20 -21 -23 -23 -22 -21 -19 -18 -17 -17 -18 -17 -15 -14 -14 -16 -17 -18 -20 -21 -21 -21 -21 -21 -20 -19 -19 -18 -18 -18 -18 -17 -17 -17 -18 -18 -18 -18 -18 -21 -23 -22 -20 -19 -19 -18 -18 -18 -5 -4 -3 -2 -1 -1 -2 -2 -2 -2 -3 -4 -5 -8 -7 -6 -4 -3 -2 -1 -0 -0 -0 -0 -2 -3 -5 -5 -4 -5 -5 -5 -4 -5 -6 -6 -4 -2 -3 -3 -3 -2 -1 -1 -2 -3 -3 -2 -2 -2 -2 -4 -5 -5 -3 -1 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -0 1 1 1 -0 -1 -1 -2 -3 -3 -4 -5 -7 -8 -8 -6 -3 -1 -1 -1 1 2 4 5 5 3 -0 -3 -5 -7 -8 -8 -10 -14 -21 -26 -20 -9 1 4 3 1 -2 -5 -7 -9 -12 -15 -17 -17 -17 -18 -16 -11 -3 2 5 5 4 3 2 1 1 2 3 4 6 7 7 5 3 1 -2 -6 -7 -6 -3 -2 -3 -4 -6 -6 -6 -7 -8 -9 -10 -10 -10 -11 -12 -14 -14 -12 -9 -7 -8 -11 -13 -13 -14 -16 -16 -12 -7 -2 -1 -0 2 5 9 10 10 9 8 6 2 -1 -4 -6 -8 -9 -9 -9 -9 -7 -4 -1 2 5 6 5 3 -0 -2 -3 -5 -7 -10 -13 -14 -16 -19 -24 -29 -31 -30 -26 -21 -19 -17 -14 -11 -11 -13 -15 -15 -16 -16 -14 -8 -2 -2 -4 -7 -9 -11 -13 -13 -11 -9 -10 -11 -13 -14 -16 -16 -16 -16 -17 -17 -17 -16 -16 -16 -15 -12 -12 -12 -10 -7 -7 -9 -12 -14 -14 -14 -14 -15 -16 -18 -19 -20 -20 -20 -20 -18 -15 -14 -15 -17 -17 -15 -14 -16 -17 -18 -18 -18 -18 -18 -19 -20 -19 -18 -17 -17 -17 -22 -24 -25 -25 -25 -25 -25 -24 -23 -21 -20 -20 -20 -19 -19 -19 -20 -21 -24 -24 -24 -24 -27 -25 -26 -28 -31 -30 -30 -31 -30 -28 -25 -21 -16 -12 -13 -17 -19 -21 -23 -23 -21 -21 -21 -21 -20 -21 -21 -21 -20 -20 -21 -22 -22 -22 -21 -22 -21 -21 -20 -20 -21 -20 -18 -16 -17 -18 -20 -19 -21 -22 -23 -23 -22 -20 -19 -17 -17 -16 -16 -16 -14 -14 -16 -17 -18 -20 -20 -19 -19 -21 -21 -21 -21 -20 -19 -18 -18 -17 -17 -17 -18 -19 -19 -18 -18 -18 -20 -23 -24 -20 -20 -19 -18 -18 -17 -4 -3 -2 -1 -1 -2 -2 -2 -2 -2 -3 -5 -7 -8 -7 -6 -4 -3 -3 -2 -2 -2 -2 -2 -3 -4 -5 -5 -5 -5 -5 -6 -5 -4 -3 -3 -3 -2 -3 -3 -3 -1 -1 -2 -3 -4 -3 -2 -1 -1 -1 -2 -3 -4 -3 -2 -2 -3 -3 -2 -2 -2 -2 -2 -3 -3 -2 -1 -0 1 1 1 -0 -0 -1 -2 -2 -2 -2 -3 -5 -6 -6 -4 -2 -2 -2 -3 -2 -0 3 5 5 3 1 -3 -6 -7 -6 -6 -9 -14 -22 -22 -15 -7 -0 2 -0 -4 -8 -8 -8 -11 -14 -16 -15 -15 -16 -15 -13 -7 -1 2 4 4 4 2 1 -1 -2 -1 -0 2 3 4 4 5 5 5 -0 -3 -4 -2 -1 -1 -2 -4 -6 -7 -7 -8 -8 -8 -9 -10 -11 -12 -12 -12 -13 -12 -10 -8 -9 -10 -11 -12 -13 -15 -15 -12 -7 -3 -2 -2 -1 3 6 8 8 7 6 5 3 -0 -3 -5 -8 -9 -10 -10 -9 -7 -5 -1 2 5 7 6 3 -0 -2 -2 -4 -7 -9 -11 -13 -16 -22 -27 -33 -36 -35 -27 -20 -15 -13 -13 -11 -11 -13 -17 -18 -17 -14 -11 -8 -5 -4 -5 -7 -9 -12 -13 -13 -11 -10 -9 -11 -13 -16 -17 -18 -18 -17 -15 -16 -16 -16 -16 -16 -14 -13 -13 -12 -9 -7 -7 -9 -12 -14 -15 -15 -13 -14 -16 -18 -19 -20 -21 -21 -20 -17 -15 -16 -18 -18 -17 -16 -17 -19 -20 -20 -20 -20 -20 -20 -20 -20 -18 -16 -16 -17 -21 -24 -26 -26 -26 -26 -27 -26 -23 -20 -20 -20 -20 -18 -18 -19 -19 -21 -23 -23 -23 -23 -25 -26 -27 -28 -30 -30 -29 -29 -29 -28 -26 -21 -16 -11 -10 -15 -19 -21 -23 -23 -23 -22 -22 -21 -20 -20 -20 -19 -20 -20 -21 -22 -22 -21 -21 -21 -22 -21 -21 -21 -21 -20 -18 -17 -17 -18 -18 -18 -20 -22 -22 -22 -21 -21 -20 -18 -16 -16 -16 -16 -15 -14 -15 -16 -18 -20 -20 -19 -19 -20 -20 -22 -22 -22 -20 -18 -17 -17 -17 -17 -18 -19 -19 -19 -18 -19 -21 -24 -24 -21 -20 -19 -18 -17 -17 -4 -2 -1 -1 -1 -2 -2 -2 -2 -2 -3 -4 -6 -8 -7 -5 -4 -4 -3 -4 -5 -5 -5 -5 -5 -6 -6 -7 -6 -5 -5 -5 -5 -4 -3 -3 -3 -3 -3 -3 -2 -1 -1 -2 -4 -5 -5 -3 -2 -0 1 -0 -2 -3 -3 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 1 1 1 -0 -0 -1 -2 -2 -2 -1 -1 -1 -2 -3 -4 -2 -0 -0 -0 -1 -1 -0 2 5 5 3 -0 -3 -6 -6 -4 -4 -6 -12 -17 -17 -13 -6 -2 -2 -6 -10 -12 -10 -10 -12 -14 -13 -13 -13 -13 -13 -9 -5 -2 1 2 3 3 1 -1 -3 -3 -3 -3 -2 -1 -1 1 3 5 3 1 -1 -1 -1 -0 -1 -2 -4 -6 -7 -8 -8 -7 -7 -8 -10 -11 -11 -11 -11 -12 -11 -9 -9 -9 -10 -12 -12 -14 -15 -15 -13 -7 -4 -3 -4 -1 3 6 6 5 5 5 5 3 1 -0 -3 -7 -9 -9 -9 -8 -7 -4 -2 2 6 8 6 3 1 -0 -1 -3 -6 -8 -10 -14 -20 -25 -31 -35 -38 -33 -24 -17 -13 -13 -11 -11 -13 -17 -19 -17 -14 -11 -12 -11 -9 -7 -7 -8 -10 -13 -14 -14 -11 -9 -9 -11 -15 -18 -20 -20 -17 -13 -15 -16 -16 -16 -15 -14 -13 -13 -13 -11 -8 -7 -7 -10 -13 -16 -16 -13 -13 -15 -17 -19 -20 -21 -22 -21 -19 -17 -18 -19 -19 -19 -16 -17 -19 -22 -22 -21 -21 -21 -21 -21 -20 -17 -15 -15 -16 -19 -22 -24 -26 -27 -28 -28 -28 -24 -21 -19 -19 -19 -18 -18 -18 -19 -20 -22 -23 -23 -22 -24 -26 -27 -29 -29 -29 -28 -27 -27 -27 -26 -22 -17 -13 -11 -14 -18 -22 -23 -23 -23 -23 -22 -21 -21 -21 -20 -19 -20 -21 -21 -22 -23 -21 -20 -20 -22 -22 -21 -21 -21 -21 -20 -19 -19 -19 -18 -18 -20 -21 -21 -20 -20 -20 -20 -18 -16 -15 -15 -15 -15 -14 -15 -16 -18 -19 -20 -20 -19 -18 -19 -21 -22 -22 -21 -19 -18 -17 -17 -17 -17 -18 -19 -19 -18 -18 -21 -23 -24 -21 -20 -19 -19 -17 -17 -2 -1 -1 -1 -1 -2 -2 -2 -2 -4 -5 -5 -6 -6 -6 -5 -3 -3 -3 -6 -9 -10 -8 -6 -6 -6 -7 -6 -5 -4 -4 -5 -5 -5 -4 -4 -3 -2 -2 -2 -1 -1 -1 -3 -4 -6 -6 -5 -3 -0 4 3 -1 -3 -3 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -0 1 2 2 -0 -1 -2 -2 -2 -3 -4 -4 -2 -0 1 -0 -1 -1 1 3 5 4 2 1 -0 3 5 5 2 -1 -5 -6 -4 -2 -0 -3 -10 -14 -15 -12 -7 -5 -7 -12 -15 -14 -11 -10 -12 -12 -11 -11 -11 -12 -10 -7 -5 -4 -2 -0 1 1 -0 -1 -2 -4 -5 -6 -6 -6 -5 -3 -0 1 1 -0 -1 -1 -0 -0 -0 -1 -4 -6 -7 -8 -7 -7 -7 -8 -9 -10 -10 -10 -11 -11 -10 -8 -7 -8 -9 -11 -13 -14 -15 -15 -12 -9 -7 -7 -4 -0 3 5 5 4 3 2 2 3 4 1 -2 -5 -7 -8 -8 -7 -6 -5 -2 2 7 8 7 4 3 3 2 -1 -4 -7 -12 -18 -24 -29 -33 -34 -34 -28 -20 -13 -13 -14 -14 -14 -17 -18 -17 -15 -13 -12 -13 -13 -12 -9 -7 -9 -12 -15 -16 -13 -8 -6 -8 -14 -20 -22 -21 -16 -14 -15 -16 -16 -16 -15 -14 -13 -13 -13 -12 -11 -10 -7 -7 -11 -14 -16 -14 -14 -15 -17 -19 -21 -22 -22 -22 -19 -18 -19 -20 -20 -20 -16 -16 -18 -22 -24 -23 -22 -22 -22 -21 -19 -16 -14 -14 -15 -17 -20 -23 -26 -28 -28 -27 -27 -25 -22 -20 -19 -18 -18 -17 -18 -18 -20 -22 -24 -24 -23 -25 -27 -27 -27 -27 -26 -26 -25 -24 -23 -25 -24 -21 -18 -14 -15 -18 -21 -21 -22 -24 -24 -22 -21 -20 -20 -21 -21 -21 -22 -22 -22 -22 -22 -21 -21 -22 -22 -21 -21 -21 -21 -20 -20 -20 -20 -20 -18 -19 -20 -20 -18 -18 -19 -19 -18 -16 -15 -15 -15 -15 -14 -14 -16 -17 -18 -20 -20 -19 -17 -17 -19 -21 -22 -21 -19 -19 -19 -19 -17 -17 -17 -17 -18 -17 -18 -20 -21 -21 -20 -19 -19 -19 -17 -17 -2 -1 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -5 -5 -6 -4 -2 -2 -3 -7 -12 -14 -12 -7 -5 -6 -6 -5 -3 -3 -3 -4 -5 -6 -6 -5 -3 -1 -1 -1 -1 -0 -1 -3 -5 -6 -6 -6 -3 1 5 4 1 -2 -3 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -0 1 2 2 1 -1 -3 -3 -4 -4 -5 -5 -4 -1 1 1 -0 -0 1 5 9 9 7 4 1 2 4 5 4 -0 -4 -6 -5 -3 -0 -0 -4 -9 -13 -14 -11 -8 -8 -12 -17 -17 -13 -10 -11 -11 -10 -9 -10 -10 -10 -8 -6 -5 -5 -4 -3 -2 -0 1 -0 -2 -4 -6 -7 -7 -7 -7 -6 -5 -3 -3 -3 -2 -2 -1 -0 -0 -1 -3 -6 -8 -8 -7 -7 -8 -9 -10 -10 -10 -10 -12 -11 -9 -7 -6 -7 -9 -11 -13 -15 -16 -14 -11 -10 -9 -9 -7 -3 1 3 -0 -1 -1 1 3 4 4 2 -1 -4 -6 -7 -6 -6 -7 -6 -2 2 6 7 6 5 5 6 5 2 -2 -9 -16 -22 -27 -29 -30 -32 -30 -24 -15 -12 -13 -15 -15 -16 -16 -17 -16 -14 -12 -12 -12 -13 -11 -9 -9 -11 -14 -17 -15 -10 -6 -6 -11 -20 -24 -23 -17 -15 -15 -16 -16 -16 -15 -15 -14 -13 -13 -13 -14 -13 -10 -7 -10 -13 -15 -15 -15 -16 -18 -19 -21 -22 -23 -22 -20 -19 -20 -20 -20 -18 -16 -17 -19 -23 -24 -24 -23 -22 -21 -20 -18 -16 -14 -13 -14 -15 -18 -22 -25 -27 -27 -26 -26 -24 -22 -20 -19 -17 -16 -16 -17 -17 -18 -21 -23 -25 -24 -26 -26 -25 -24 -26 -25 -25 -24 -24 -21 -23 -25 -25 -23 -17 -16 -18 -19 -19 -22 -24 -24 -22 -21 -21 -21 -21 -22 -22 -22 -22 -22 -22 -22 -22 -22 -23 -22 -21 -20 -19 -20 -20 -20 -20 -20 -20 -19 -19 -19 -18 -18 -18 -19 -19 -17 -16 -15 -15 -15 -15 -14 -14 -16 -16 -18 -20 -20 -18 -16 -16 -17 -19 -21 -20 -19 -19 -19 -19 -18 -17 -16 -17 -17 -17 -17 -18 -20 -19 -19 -18 -18 -18 -17 -17 -2 -2 -2 -3 -3 -2 -2 -2 -3 -4 -5 -6 -5 -4 -4 -3 -1 -1 -2 -7 -11 -13 -12 -8 -5 -5 -5 -4 -2 -3 -3 -4 -4 -5 -6 -5 -2 -1 -1 -1 -0 -0 -0 -2 -4 -6 -8 -9 -5 -0 3 2 -0 -1 -1 -2 -3 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -1 -1 -0 -0 1 1 -1 -3 -5 -6 -8 -9 -9 -5 -1 2 2 1 2 4 7 10 10 8 6 5 6 6 5 1 -2 -4 -5 -5 -3 -1 -1 -3 -7 -11 -12 -12 -11 -11 -15 -17 -15 -11 -10 -11 -10 -9 -8 -9 -9 -8 -7 -6 -6 -5 -5 -5 -4 -2 -1 -1 -2 -5 -6 -6 -5 -6 -6 -8 -8 -6 -5 -4 -3 -3 -2 -1 -0 -1 -3 -6 -8 -7 -8 -9 -10 -11 -10 -9 -9 -10 -12 -11 -8 -5 -4 -6 -8 -11 -14 -15 -14 -13 -12 -11 -12 -12 -11 -8 -4 -3 -1 -0 3 5 5 5 4 1 -2 -4 -6 -7 -7 -8 -8 -6 -4 -0 4 6 6 7 8 9 8 5 -2 -10 -17 -21 -23 -23 -26 -27 -25 -17 -13 -12 -13 -14 -15 -15 -16 -16 -15 -13 -12 -12 -12 -12 -11 -10 -10 -12 -16 -16 -13 -9 -6 -9 -18 -23 -23 -17 -16 -16 -16 -16 -16 -16 -15 -15 -16 -15 -14 -14 -14 -11 -9 -10 -12 -13 -14 -15 -16 -18 -18 -20 -22 -23 -22 -21 -21 -21 -21 -20 -17 -16 -17 -19 -23 -24 -24 -22 -20 -17 -16 -17 -17 -16 -13 -12 -13 -16 -19 -22 -25 -26 -25 -24 -22 -21 -21 -19 -17 -16 -16 -16 -16 -17 -19 -22 -25 -24 -24 -24 -22 -21 -23 -23 -24 -24 -24 -21 -21 -23 -25 -25 -20 -19 -18 -18 -19 -22 -25 -25 -23 -23 -23 -23 -23 -23 -23 -22 -22 -22 -22 -22 -23 -23 -22 -22 -21 -20 -19 -19 -19 -19 -20 -20 -21 -19 -18 -18 -18 -18 -18 -18 -18 -17 -15 -14 -14 -15 -15 -14 -14 -15 -16 -18 -20 -20 -19 -16 -16 -16 -18 -20 -20 -19 -18 -19 -19 -19 -18 -17 -17 -17 -17 -17 -17 -18 -18 -18 -18 -18 -18 -17 -17 -1 -2 -3 -3 -3 -2 -2 -2 -2 -3 -4 -6 -5 -3 -1 -0 -0 -1 -3 -5 -8 -10 -10 -7 -5 -4 -4 -6 -4 -3 -3 -3 -2 -3 -4 -4 -2 -2 -2 -2 -1 -1 -1 -3 -4 -5 -7 -8 -6 -2 1 -0 -2 -2 -2 -2 -3 -4 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -3 -2 -1 -1 -2 -3 -6 -8 -9 -10 -11 -10 -7 -3 1 3 3 4 5 7 7 8 8 8 9 9 7 4 -0 -2 -4 -4 -4 -4 -4 -4 -5 -5 -8 -10 -11 -11 -11 -14 -14 -13 -11 -12 -11 -9 -8 -8 -9 -8 -7 -5 -5 -3 -3 -5 -6 -6 -5 -4 -3 -4 -5 -6 -5 -4 -5 -8 -9 -9 -8 -6 -5 -5 -4 -4 -1 -0 -1 -4 -6 -6 -8 -9 -11 -12 -11 -9 -8 -8 -11 -12 -11 -7 -3 -3 -5 -8 -11 -13 -14 -13 -13 -12 -12 -14 -16 -15 -11 -8 -6 -4 -1 3 5 6 6 5 1 -2 -3 -4 -4 -6 -8 -9 -8 -6 -2 2 5 7 7 8 10 11 7 -1 -8 -12 -14 -15 -19 -22 -23 -17 -12 -9 -10 -12 -13 -14 -15 -16 -15 -14 -13 -13 -13 -13 -13 -12 -12 -12 -14 -15 -15 -13 -9 -9 -15 -20 -21 -17 -16 -17 -17 -17 -16 -16 -16 -16 -16 -16 -15 -15 -15 -13 -11 -10 -10 -11 -12 -14 -16 -17 -18 -18 -21 -22 -23 -23 -22 -23 -22 -21 -19 -18 -18 -20 -23 -24 -22 -19 -17 -14 -14 -15 -16 -18 -15 -12 -12 -15 -17 -20 -24 -25 -25 -23 -22 -22 -22 -20 -18 -16 -16 -16 -16 -17 -19 -21 -25 -23 -22 -21 -20 -20 -21 -21 -21 -23 -23 -21 -19 -20 -21 -21 -22 -22 -19 -18 -20 -22 -24 -25 -24 -24 -24 -23 -23 -23 -23 -22 -22 -21 -21 -22 -23 -22 -22 -22 -21 -20 -19 -19 -18 -18 -19 -20 -20 -19 -18 -18 -18 -18 -18 -18 -18 -17 -16 -14 -14 -14 -15 -14 -14 -14 -15 -17 -19 -19 -19 -17 -16 -15 -17 -19 -20 -19 -17 -18 -19 -19 -19 -18 -17 -17 -17 -17 -16 -16 -17 -18 -17 -17 -17 -17 -17 -2 -3 -4 -4 -4 -2 -1 -0 -0 -1 -3 -5 -5 -3 1 1 -0 -2 -3 -4 -6 -6 -6 -6 -5 -4 -4 -6 -6 -3 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -0 -1 -2 -3 -4 -6 -5 -4 -2 -2 -2 -3 -3 -3 -4 -4 -5 -4 -4 -2 -2 -1 -1 -1 -1 -2 -3 -4 -4 -4 -4 -4 -5 -6 -7 -8 -9 -9 -10 -9 -7 -3 1 3 5 5 4 4 5 6 7 9 10 9 7 3 1 -1 -1 -2 -4 -6 -7 -7 -5 -5 -7 -9 -10 -9 -10 -12 -12 -12 -12 -12 -10 -9 -8 -9 -9 -8 -7 -5 -3 -2 -2 -5 -7 -8 -7 -6 -4 -5 -7 -6 -4 -3 -5 -7 -9 -9 -8 -6 -5 -5 -5 -4 -2 -2 -2 -3 -6 -7 -8 -11 -13 -13 -11 -8 -6 -9 -11 -12 -10 -5 -2 -3 -5 -9 -11 -13 -14 -14 -13 -12 -14 -17 -17 -16 -13 -10 -8 -6 -4 -2 -0 2 4 3 1 -0 -0 -0 -2 -5 -7 -9 -8 -7 -4 -0 2 2 3 6 10 11 6 2 -2 -3 -6 -12 -17 -19 -16 -11 -8 -7 -9 -11 -13 -14 -15 -15 -15 -13 -13 -13 -13 -12 -12 -12 -12 -12 -13 -15 -16 -14 -11 -14 -19 -21 -19 -17 -17 -17 -17 -17 -16 -15 -15 -15 -16 -15 -15 -16 -16 -13 -10 -9 -9 -11 -15 -17 -18 -18 -18 -20 -22 -24 -25 -24 -24 -23 -22 -21 -20 -20 -21 -23 -23 -20 -17 -14 -13 -13 -13 -14 -17 -17 -13 -11 -13 -15 -18 -21 -24 -25 -24 -24 -23 -22 -22 -20 -18 -17 -17 -19 -20 -20 -20 -23 -21 -21 -21 -20 -19 -19 -18 -18 -20 -23 -22 -20 -19 -20 -21 -23 -23 -20 -19 -20 -21 -22 -22 -23 -23 -23 -23 -23 -23 -23 -22 -21 -20 -21 -21 -22 -22 -22 -22 -22 -21 -21 -20 -19 -18 -18 -19 -20 -19 -18 -18 -18 -18 -18 -18 -18 -18 -16 -15 -14 -14 -15 -15 -14 -14 -14 -16 -17 -19 -19 -17 -16 -15 -15 -19 -20 -19 -17 -17 -18 -19 -19 -18 -17 -17 -17 -17 -16 -16 -16 -16 -15 -16 -17 -18 -18 -3 -4 -5 -5 -4 -2 -0 1 -0 -0 -3 -3 -3 -1 -0 -0 -0 -2 -3 -3 -4 -5 -4 -3 -2 -2 -3 -5 -5 -2 -0 1 -1 -2 -3 -3 -2 -1 -0 -0 -1 -0 2 1 -0 -2 -3 -5 -5 -5 -4 -3 -3 -3 -3 -3 -4 -5 -4 -4 -3 -2 -1 -1 -1 -1 -1 -2 -3 -4 -4 -5 -6 -7 -6 -6 -6 -6 -6 -6 -7 -8 -8 -6 -2 1 4 5 4 3 3 4 5 7 9 9 8 6 4 3 2 1 -3 -5 -7 -9 -8 -6 -4 -5 -7 -9 -8 -9 -10 -12 -13 -12 -11 -10 -8 -9 -9 -9 -9 -7 -5 -2 -1 -2 -5 -7 -8 -8 -7 -7 -7 -7 -5 -3 -3 -4 -6 -8 -8 -8 -6 -5 -6 -5 -5 -3 -3 -3 -5 -6 -8 -10 -14 -15 -13 -9 -6 -6 -9 -13 -14 -9 -3 -1 -2 -6 -9 -11 -13 -14 -13 -12 -14 -16 -18 -18 -16 -13 -10 -9 -9 -9 -8 -6 -3 -1 1 2 3 4 4 1 -3 -6 -8 -9 -8 -6 -3 -3 -3 -3 1 6 9 9 6 2 -2 -7 -11 -14 -14 -11 -9 -7 -8 -10 -12 -13 -13 -13 -13 -12 -11 -11 -12 -13 -13 -12 -12 -12 -14 -16 -18 -18 -19 -20 -21 -22 -19 -16 -15 -16 -16 -17 -16 -16 -15 -15 -15 -15 -16 -16 -16 -14 -11 -9 -9 -12 -15 -18 -19 -18 -19 -20 -21 -24 -25 -26 -25 -24 -23 -22 -21 -21 -21 -21 -20 -18 -15 -14 -13 -14 -14 -14 -15 -16 -14 -12 -11 -13 -16 -19 -22 -24 -24 -24 -23 -22 -23 -21 -21 -21 -21 -24 -25 -24 -22 -23 -22 -22 -21 -19 -18 -18 -17 -16 -16 -20 -21 -20 -19 -21 -23 -24 -24 -21 -20 -20 -20 -20 -22 -21 -22 -22 -22 -23 -23 -22 -21 -21 -21 -21 -21 -21 -21 -21 -22 -23 -22 -22 -21 -20 -20 -19 -18 -18 -19 -19 -19 -18 -18 -18 -18 -18 -18 -17 -16 -15 -15 -15 -16 -15 -14 -14 -15 -17 -18 -18 -18 -16 -15 -15 -17 -20 -20 -19 -16 -16 -17 -18 -17 -17 -17 -17 -17 -16 -16 -16 -15 -15 -15 -17 -18 -18 -5 -6 -5 -4 -3 -2 -0 1 -0 -0 -1 -2 -2 -2 -1 -1 -1 -1 -1 -2 -4 -5 -4 -3 -2 -2 -3 -4 -3 -0 1 1 -1 -3 -4 -4 -3 -2 -0 1 1 2 3 3 1 -2 -5 -5 -5 -4 -4 -3 -3 -3 -3 -4 -4 -4 -4 -3 -2 -2 -1 -1 -1 -1 -2 -2 -3 -4 -5 -6 -8 -8 -7 -5 -4 -4 -4 -4 -4 -5 -6 -6 -4 -1 1 2 3 3 3 3 4 5 6 6 7 7 5 5 5 5 1 -3 -6 -9 -11 -8 -3 -2 -4 -7 -7 -7 -8 -11 -13 -13 -12 -11 -9 -9 -9 -9 -9 -9 -7 -5 -3 -2 -2 -5 -6 -8 -8 -9 -8 -7 -6 -5 -4 -4 -5 -6 -8 -8 -7 -5 -4 -5 -5 -5 -4 -3 -4 -4 -5 -8 -14 -16 -16 -12 -7 -5 -7 -11 -15 -14 -8 -2 1 -1 -5 -9 -11 -12 -12 -12 -14 -15 -17 -19 -19 -16 -12 -9 -10 -12 -12 -12 -10 -8 -5 -2 -0 4 6 6 3 -0 -4 -7 -8 -7 -5 -5 -6 -7 -9 -7 -4 -1 -1 -5 -7 -8 -9 -10 -11 -12 -11 -9 -8 -8 -10 -11 -11 -10 -11 -11 -10 -10 -13 -14 -13 -12 -12 -13 -15 -17 -18 -19 -20 -20 -20 -21 -20 -16 -13 -13 -14 -17 -18 -17 -16 -16 -16 -16 -16 -15 -15 -14 -12 -10 -9 -11 -14 -17 -20 -19 -19 -20 -21 -24 -24 -25 -26 -25 -23 -22 -21 -21 -21 -19 -18 -17 -15 -14 -14 -14 -15 -15 -16 -16 -15 -14 -12 -12 -14 -16 -19 -21 -21 -21 -21 -22 -23 -23 -24 -25 -25 -27 -28 -28 -26 -25 -24 -22 -20 -18 -16 -17 -17 -15 -15 -17 -19 -20 -19 -22 -25 -26 -25 -23 -22 -20 -19 -18 -21 -20 -20 -21 -22 -22 -23 -22 -21 -21 -23 -22 -22 -22 -22 -21 -21 -22 -23 -23 -22 -22 -21 -20 -18 -18 -18 -19 -20 -20 -19 -18 -18 -18 -18 -17 -17 -17 -17 -17 -17 -18 -15 -14 -14 -16 -17 -18 -18 -17 -15 -14 -16 -19 -21 -20 -16 -15 -16 -18 -17 -17 -17 -17 -16 -15 -15 -16 -15 -15 -15 -16 -17 -16 -7 -8 -7 -6 -3 -1 1 1 -0 -1 -0 -1 -2 -4 -4 -2 -1 -0 -0 -1 -3 -5 -5 -4 -3 -2 -2 -2 -1 -0 -0 -0 -1 -3 -5 -4 -3 -2 -0 1 2 2 3 2 1 -2 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -2 -2 -1 -0 -0 -1 -2 -3 -4 -5 -6 -7 -8 -8 -6 -4 -3 -3 -4 -4 -4 -4 -3 -3 -2 -2 -1 -0 1 2 3 4 5 6 5 4 3 4 4 5 7 9 5 -0 -5 -8 -12 -10 -4 -1 -1 -4 -6 -6 -7 -8 -11 -12 -12 -12 -11 -9 -9 -9 -9 -9 -8 -8 -6 -4 -3 -3 -4 -6 -7 -9 -8 -7 -6 -6 -5 -5 -4 -5 -6 -7 -6 -5 -3 -3 -5 -5 -5 -3 -3 -2 -3 -6 -11 -16 -18 -15 -11 -7 -6 -8 -13 -16 -14 -8 -1 3 -0 -4 -7 -9 -10 -12 -13 -14 -16 -20 -23 -22 -17 -11 -10 -11 -12 -13 -14 -13 -11 -9 -6 -2 2 5 6 4 1 -2 -5 -6 -6 -5 -6 -8 -11 -13 -12 -12 -12 -13 -13 -14 -13 -10 -9 -11 -12 -11 -8 -7 -7 -8 -9 -9 -10 -10 -10 -10 -13 -13 -12 -11 -12 -14 -17 -19 -20 -19 -18 -17 -17 -19 -21 -18 -14 -12 -12 -15 -17 -17 -17 -18 -18 -17 -15 -13 -14 -14 -13 -12 -11 -12 -14 -16 -18 -19 -20 -21 -22 -23 -24 -25 -25 -24 -23 -22 -21 -21 -21 -19 -18 -17 -15 -15 -15 -15 -15 -16 -18 -17 -15 -15 -15 -14 -14 -15 -17 -21 -21 -20 -21 -23 -25 -25 -26 -27 -27 -28 -29 -28 -27 -25 -24 -21 -18 -16 -15 -15 -16 -16 -16 -16 -18 -19 -20 -23 -26 -28 -27 -25 -24 -22 -20 -18 -20 -19 -19 -19 -20 -22 -23 -23 -23 -23 -23 -24 -23 -23 -23 -22 -22 -21 -23 -23 -23 -22 -21 -21 -19 -19 -19 -21 -21 -21 -19 -18 -18 -17 -17 -17 -18 -18 -17 -17 -16 -18 -16 -14 -14 -16 -16 -17 -17 -17 -16 -15 -16 -18 -20 -19 -16 -15 -15 -17 -17 -17 -17 -17 -16 -15 -15 -16 -17 -16 -16 -16 -16 -16 -8 -9 -8 -7 -4 -2 -1 -1 -1 -1 -1 -2 -3 -5 -6 -3 -1 -0 -0 -1 -4 -6 -6 -6 -3 -2 -1 -1 -1 -1 -2 -2 -2 -4 -5 -4 -2 -0 1 2 3 2 2 1 -1 -3 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -3 -3 -4 -3 -2 -2 -1 -0 -0 -1 -2 -3 -4 -5 -6 -7 -7 -6 -5 -4 -4 -4 -5 -5 -5 -4 -3 -2 -1 -1 -0 -0 -0 -1 -1 2 5 7 6 4 1 -1 -1 2 6 10 9 4 -1 -5 -9 -10 -6 -2 -0 -1 -4 -6 -7 -7 -9 -10 -11 -12 -12 -11 -9 -9 -9 -9 -8 -8 -8 -9 -7 -5 -4 -4 -5 -8 -8 -6 -4 -5 -6 -6 -5 -5 -5 -5 -5 -5 -3 -3 -4 -5 -6 -4 -2 -1 -1 -4 -9 -14 -17 -17 -14 -9 -6 -6 -10 -14 -15 -14 -9 -3 2 2 -0 -3 -6 -8 -10 -12 -15 -20 -26 -28 -25 -17 -11 -9 -10 -12 -13 -13 -13 -12 -11 -10 -6 -2 1 3 3 2 -0 -2 -4 -5 -6 -6 -8 -11 -14 -15 -16 -15 -14 -14 -14 -14 -12 -11 -10 -9 -8 -6 -6 -7 -8 -8 -8 -8 -8 -9 -10 -10 -11 -12 -13 -15 -18 -20 -21 -18 -14 -13 -15 -20 -21 -19 -16 -13 -12 -11 -12 -14 -17 -17 -18 -16 -14 -13 -15 -17 -16 -14 -14 -13 -14 -15 -17 -19 -22 -23 -23 -23 -24 -24 -24 -24 -23 -22 -21 -21 -22 -21 -19 -17 -15 -15 -15 -15 -15 -16 -18 -18 -17 -16 -18 -16 -14 -14 -16 -21 -21 -21 -22 -26 -27 -27 -27 -28 -28 -28 -27 -26 -24 -22 -21 -19 -18 -16 -15 -15 -16 -16 -16 -16 -17 -19 -21 -24 -27 -28 -29 -27 -26 -23 -21 -20 -21 -20 -19 -19 -20 -23 -23 -23 -23 -23 -24 -24 -24 -24 -24 -24 -23 -22 -23 -24 -23 -22 -22 -22 -20 -20 -21 -22 -22 -21 -20 -18 -18 -17 -17 -17 -18 -18 -17 -16 -15 -17 -16 -15 -15 -16 -16 -16 -16 -16 -16 -16 -17 -17 -18 -18 -16 -14 -13 -14 -17 -17 -16 -15 -15 -16 -16 -17 -18 -17 -16 -16 -16 -16 -9 -9 -7 -5 -3 -1 -1 -2 -3 -3 -3 -4 -5 -7 -7 -4 -1 -0 -0 -2 -4 -7 -8 -7 -3 -0 1 -0 -1 -3 -4 -4 -4 -5 -4 -2 -0 2 2 3 3 2 -0 -2 -3 -4 -5 -5 -6 -5 -3 -3 -2 -2 -2 -2 -2 -3 -4 -3 -3 -2 -2 -2 -1 -2 -2 -3 -3 -5 -5 -6 -5 -5 -4 -4 -4 -4 -5 -5 -5 -4 -3 -2 -2 -1 1 2 1 -1 -2 -1 1 6 8 6 1 -4 -6 -4 2 8 9 6 3 -1 -6 -7 -6 -4 -1 -1 -3 -5 -7 -9 -9 -9 -10 -11 -12 -11 -9 -9 -9 -9 -7 -6 -7 -9 -11 -10 -8 -6 -5 -7 -7 -6 -4 -4 -5 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -4 -6 -5 -3 -1 -0 -2 -6 -10 -15 -17 -16 -12 -8 -5 -6 -10 -13 -14 -14 -12 -6 -0 4 4 1 -1 -4 -8 -13 -18 -24 -29 -30 -25 -15 -9 -8 -10 -11 -11 -11 -11 -11 -12 -11 -9 -7 -4 -0 2 2 1 -2 -5 -6 -6 -6 -8 -12 -15 -16 -14 -12 -13 -15 -17 -16 -13 -11 -9 -8 -7 -7 -7 -8 -8 -6 -6 -5 -5 -6 -9 -11 -13 -15 -16 -19 -21 -22 -17 -11 -11 -15 -22 -22 -20 -18 -16 -13 -10 -9 -10 -14 -17 -18 -17 -16 -15 -18 -19 -19 -18 -18 -16 -14 -13 -15 -19 -23 -24 -24 -23 -23 -23 -23 -23 -23 -22 -22 -22 -22 -22 -19 -17 -15 -15 -16 -16 -16 -18 -19 -19 -18 -17 -20 -19 -16 -14 -14 -21 -22 -23 -24 -27 -28 -27 -27 -28 -28 -25 -23 -21 -19 -19 -19 -18 -17 -16 -15 -15 -15 -16 -17 -17 -18 -20 -21 -24 -26 -27 -29 -28 -27 -26 -23 -21 -21 -20 -20 -20 -21 -23 -24 -24 -24 -23 -24 -24 -24 -24 -24 -24 -24 -23 -23 -23 -22 -21 -23 -22 -21 -20 -21 -21 -22 -21 -19 -19 -19 -18 -17 -17 -17 -18 -18 -17 -15 -16 -16 -16 -16 -17 -16 -16 -16 -16 -16 -16 -16 -17 -18 -17 -16 -15 -13 -13 -15 -16 -15 -15 -15 -16 -17 -17 -18 -17 -17 -17 -16 -16 -10 -9 -5 -2 -1 -1 -3 -4 -5 -5 -5 -6 -7 -7 -6 -4 -2 -1 -1 -3 -6 -8 -8 -7 -2 1 1 -0 -2 -3 -4 -5 -6 -5 -4 -2 2 3 3 3 3 2 -0 -3 -5 -5 -5 -5 -6 -6 -4 -3 -2 -2 -1 -1 -1 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -3 -3 -3 -2 -3 -3 -3 -3 -4 -4 -3 -3 -3 -2 -1 -0 1 1 1 -1 -2 -1 3 7 7 2 -5 -9 -7 -1 7 10 7 4 -0 -5 -6 -6 -4 -2 -1 -2 -4 -7 -9 -10 -9 -8 -8 -10 -10 -8 -8 -8 -8 -6 -5 -5 -7 -10 -12 -12 -11 -9 -7 -7 -6 -4 -4 -4 -5 -7 -7 -8 -7 -5 -4 -4 -3 -2 -2 -4 -4 -4 -2 -1 -0 -3 -7 -12 -16 -16 -14 -11 -7 -4 -5 -8 -11 -15 -17 -15 -8 -1 4 5 4 1 -3 -9 -14 -22 -27 -31 -29 -22 -14 -8 -7 -9 -11 -12 -10 -8 -8 -8 -9 -10 -11 -8 -5 -3 -2 -1 -4 -5 -5 -5 -7 -9 -13 -15 -14 -12 -12 -13 -17 -18 -16 -13 -10 -9 -8 -8 -8 -8 -7 -6 -5 -4 -4 -5 -8 -11 -14 -16 -17 -19 -21 -22 -16 -12 -12 -16 -23 -22 -21 -19 -18 -16 -12 -9 -9 -12 -16 -17 -17 -16 -16 -18 -20 -20 -19 -20 -18 -16 -14 -14 -18 -22 -25 -25 -24 -23 -22 -22 -22 -22 -23 -23 -23 -23 -22 -19 -17 -16 -18 -19 -19 -19 -19 -19 -19 -18 -18 -22 -22 -19 -15 -13 -19 -22 -24 -25 -24 -26 -27 -27 -28 -27 -22 -18 -16 -16 -17 -17 -18 -17 -16 -16 -15 -16 -16 -17 -18 -20 -21 -22 -23 -24 -25 -28 -28 -29 -28 -24 -21 -21 -20 -20 -21 -22 -23 -23 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -23 -23 -22 -21 -22 -22 -21 -21 -20 -21 -21 -21 -20 -20 -19 -18 -17 -17 -17 -18 -18 -17 -16 -16 -16 -15 -15 -16 -16 -16 -16 -15 -16 -16 -16 -17 -18 -17 -16 -14 -13 -12 -13 -14 -15 -15 -15 -16 -17 -18 -18 -18 -18 -18 -17 -16 -10 -6 -2 -0 -0 -3 -5 -6 -6 -7 -7 -7 -7 -7 -6 -4 -3 -3 -3 -4 -7 -9 -9 -6 -3 -1 -0 -1 -2 -4 -5 -5 -5 -5 -3 -1 1 3 3 3 3 1 -1 -3 -5 -5 -5 -5 -5 -5 -4 -3 -2 -2 -1 -1 -1 -2 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -0 -0 -1 -0 -0 -0 -0 -1 1 4 4 2 -4 -10 -9 -3 5 10 9 6 2 -4 -6 -5 -3 -2 -1 -2 -4 -6 -9 -11 -10 -9 -8 -8 -7 -7 -6 -5 -6 -6 -5 -4 -4 -6 -9 -11 -11 -9 -9 -8 -8 -6 -4 -3 -3 -4 -7 -8 -8 -7 -5 -4 -3 -3 -3 -3 -4 -5 -4 -2 -0 -0 -4 -9 -14 -14 -14 -13 -10 -6 -4 -5 -8 -12 -17 -18 -16 -11 -5 -0 2 2 -0 -4 -10 -17 -23 -28 -30 -27 -21 -13 -7 -9 -11 -12 -11 -8 -5 -4 -5 -7 -11 -12 -12 -11 -8 -5 -4 -5 -4 -4 -3 -5 -8 -13 -14 -13 -11 -11 -14 -16 -16 -15 -12 -9 -7 -7 -8 -10 -9 -7 -5 -3 -3 -4 -6 -10 -15 -18 -18 -19 -21 -21 -18 -14 -13 -15 -21 -21 -20 -20 -19 -18 -15 -12 -10 -11 -13 -16 -17 -16 -17 -19 -20 -21 -21 -21 -21 -19 -17 -14 -16 -20 -24 -26 -25 -23 -21 -21 -21 -22 -23 -23 -24 -23 -21 -19 -18 -18 -20 -22 -21 -20 -20 -20 -20 -19 -20 -23 -23 -21 -17 -13 -17 -22 -24 -24 -20 -22 -25 -28 -28 -27 -22 -17 -15 -15 -16 -17 -18 -18 -16 -16 -16 -17 -17 -17 -19 -21 -22 -23 -22 -22 -22 -26 -27 -30 -30 -26 -21 -20 -20 -20 -21 -22 -22 -23 -24 -24 -24 -24 -23 -23 -23 -23 -23 -23 -23 -24 -24 -23 -21 -21 -21 -21 -21 -20 -20 -21 -21 -21 -21 -20 -19 -18 -18 -18 -18 -18 -17 -16 -16 -16 -16 -16 -16 -16 -15 -15 -15 -15 -15 -15 -17 -18 -16 -15 -14 -14 -13 -13 -13 -13 -14 -15 -16 -17 -18 -18 -19 -20 -20 -18 -18 -7 -1 1 1 -3 -5 -6 -6 -6 -8 -8 -8 -7 -6 -7 -6 -4 -3 -3 -4 -7 -8 -9 -7 -5 -3 -3 -3 -4 -4 -5 -5 -5 -3 -2 -1 -0 2 2 3 2 -0 -2 -4 -5 -5 -4 -4 -4 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 1 1 -0 -1 -0 -0 -0 -0 -1 -1 -1 -0 -0 -1 -2 -2 -1 1 1 1 2 2 -0 -4 -10 -11 -6 2 8 9 8 4 -3 -5 -3 -1 -1 -1 -3 -4 -6 -8 -11 -11 -10 -9 -8 -6 -6 -5 -4 -4 -4 -4 -3 -2 -3 -6 -8 -9 -8 -8 -9 -8 -7 -6 -4 -3 -3 -5 -8 -8 -8 -7 -5 -4 -3 -3 -3 -4 -5 -5 -5 -2 1 -1 -5 -11 -13 -13 -13 -13 -11 -7 -6 -6 -8 -12 -16 -18 -18 -15 -10 -5 -2 -1 -2 -6 -11 -17 -23 -27 -28 -25 -19 -11 -8 -8 -10 -12 -10 -6 -3 -1 -3 -8 -11 -12 -11 -10 -9 -8 -7 -5 -3 -3 -3 -5 -9 -13 -14 -13 -11 -10 -11 -13 -13 -13 -9 -7 -6 -8 -10 -10 -7 -4 -3 -3 -4 -6 -9 -14 -17 -19 -19 -19 -17 -17 -17 -15 -13 -18 -20 -20 -20 -19 -20 -19 -17 -14 -12 -13 -15 -16 -17 -18 -19 -21 -22 -22 -22 -23 -23 -21 -18 -16 -17 -22 -25 -24 -21 -20 -19 -19 -20 -22 -23 -23 -22 -20 -19 -19 -20 -22 -22 -22 -21 -20 -21 -21 -21 -21 -23 -24 -23 -20 -15 -16 -20 -23 -24 -20 -19 -21 -25 -27 -26 -22 -17 -15 -15 -16 -18 -19 -19 -16 -16 -17 -18 -18 -17 -19 -21 -23 -24 -23 -21 -20 -22 -25 -28 -28 -26 -22 -20 -20 -20 -21 -22 -22 -22 -24 -24 -25 -24 -23 -23 -22 -22 -22 -22 -22 -24 -25 -25 -23 -21 -21 -20 -21 -21 -21 -20 -20 -21 -21 -20 -19 -19 -19 -18 -18 -18 -17 -16 -16 -16 -17 -18 -18 -17 -15 -14 -14 -15 -15 -15 -16 -16 -15 -15 -15 -15 -14 -13 -13 -13 -15 -16 -16 -16 -17 -19 -20 -21 -22 -20 -19 -2 2 1 -2 -5 -5 -6 -6 -7 -8 -8 -6 -6 -6 -9 -9 -5 -2 -0 -3 -6 -9 -10 -8 -6 -5 -4 -4 -5 -5 -5 -5 -4 -3 -1 -0 -0 1 2 2 1 -0 -3 -6 -7 -6 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -3 -4 -5 -5 -5 -4 -3 -3 -3 -3 -2 -1 -1 -1 1 2 1 1 1 2 2 1 1 -0 -1 -1 -1 -2 -3 -3 -2 -0 2 3 2 1 -1 -4 -10 -12 -9 -3 3 7 7 4 -1 -3 -2 -1 -0 -1 -3 -4 -6 -8 -10 -11 -11 -11 -9 -7 -6 -4 -3 -2 -2 -2 -2 -2 -2 -3 -4 -5 -5 -6 -6 -7 -8 -8 -7 -5 -4 -4 -6 -7 -8 -9 -8 -6 -4 -3 -3 -4 -4 -5 -5 -4 -3 -2 -4 -8 -11 -12 -12 -13 -13 -11 -9 -7 -6 -8 -12 -16 -18 -19 -17 -13 -9 -5 -3 -4 -7 -12 -17 -22 -26 -26 -23 -16 -10 -8 -9 -11 -12 -10 -6 -2 -0 -2 -6 -9 -10 -10 -10 -10 -9 -8 -6 -5 -5 -5 -7 -11 -14 -14 -11 -9 -8 -8 -10 -11 -9 -8 -7 -7 -9 -9 -8 -5 -4 -4 -5 -6 -9 -12 -16 -18 -19 -17 -15 -14 -15 -15 -13 -15 -18 -19 -19 -19 -20 -21 -21 -19 -17 -16 -15 -15 -16 -18 -20 -21 -23 -23 -23 -24 -25 -24 -22 -19 -17 -18 -20 -19 -18 -17 -17 -17 -18 -19 -20 -21 -21 -20 -20 -20 -20 -22 -22 -21 -21 -21 -21 -21 -21 -21 -23 -25 -25 -23 -19 -16 -18 -22 -24 -22 -18 -16 -20 -25 -24 -21 -17 -16 -16 -17 -19 -20 -19 -17 -17 -17 -18 -18 -19 -19 -21 -24 -24 -23 -22 -20 -18 -22 -25 -26 -25 -22 -21 -21 -21 -21 -22 -22 -22 -23 -24 -24 -24 -23 -23 -22 -21 -21 -22 -21 -23 -24 -25 -25 -23 -21 -20 -21 -21 -21 -20 -20 -19 -20 -20 -20 -19 -19 -18 -18 -18 -18 -17 -16 -16 -17 -18 -20 -19 -16 -14 -14 -14 -14 -15 -16 -15 -15 -14 -15 -15 -15 -14 -12 -13 -15 -16 -16 -16 -17 -18 -19 -21 -22 -21 -19 1 1 -2 -4 -4 -4 -5 -7 -8 -7 -6 -5 -6 -9 -12 -9 -4 -1 -0 -2 -6 -8 -10 -8 -6 -5 -5 -5 -6 -5 -5 -5 -5 -3 -1 -0 -0 -0 1 1 1 -1 -4 -7 -8 -7 -4 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -3 -3 -5 -7 -7 -7 -7 -6 -5 -4 -3 -3 -3 -2 -2 -1 -0 1 1 1 2 2 2 2 1 -0 -0 -2 -2 -3 -3 -2 -2 -1 -0 3 3 2 -1 -4 -8 -12 -12 -7 -1 3 4 3 -1 -2 -1 -0 -0 -1 -2 -3 -5 -7 -9 -10 -10 -11 -11 -9 -7 -5 -3 -2 -1 -1 -1 -2 -2 -3 -3 -3 -2 -2 -3 -4 -6 -8 -9 -8 -6 -5 -5 -6 -7 -8 -9 -8 -6 -4 -2 -2 -3 -4 -4 -5 -4 -3 -3 -6 -11 -13 -13 -12 -13 -13 -12 -9 -7 -8 -10 -13 -16 -20 -19 -16 -13 -10 -6 -5 -6 -9 -12 -17 -21 -24 -24 -21 -16 -11 -9 -10 -12 -12 -9 -5 -2 -1 -2 -4 -6 -8 -9 -10 -10 -9 -9 -8 -7 -7 -7 -9 -12 -14 -14 -12 -9 -7 -7 -9 -10 -9 -8 -7 -9 -10 -9 -8 -7 -5 -5 -6 -7 -10 -15 -18 -19 -17 -14 -14 -16 -16 -14 -14 -16 -18 -20 -20 -20 -20 -20 -20 -21 -18 -16 -14 -14 -16 -19 -21 -23 -23 -23 -25 -27 -27 -24 -21 -18 -14 -13 -14 -16 -17 -17 -17 -17 -17 -18 -20 -21 -21 -21 -21 -21 -22 -22 -21 -21 -21 -21 -21 -21 -21 -23 -24 -25 -25 -22 -19 -18 -20 -23 -24 -20 -16 -15 -20 -22 -21 -18 -17 -17 -18 -19 -19 -19 -18 -18 -19 -18 -19 -20 -21 -22 -25 -24 -24 -23 -21 -18 -20 -23 -26 -26 -23 -21 -21 -21 -21 -21 -22 -22 -22 -23 -23 -23 -23 -23 -22 -21 -21 -21 -20 -21 -23 -24 -24 -23 -21 -20 -22 -22 -21 -20 -19 -19 -20 -21 -20 -19 -19 -18 -18 -18 -18 -18 -17 -17 -17 -19 -20 -19 -18 -15 -14 -14 -14 -15 -16 -15 -14 -14 -14 -15 -15 -13 -11 -12 -14 -15 -16 -17 -17 -18 -19 -21 -21 -21 -20 2 -1 -3 -4 -4 -4 -6 -7 -7 -7 -5 -5 -7 -9 -10 -6 -2 -1 -2 -3 -5 -8 -9 -10 -7 -5 -5 -5 -6 -6 -6 -6 -5 -3 -1 -1 -0 -0 -0 -0 -1 -2 -6 -9 -9 -7 -4 -2 -2 -2 -3 -3 -3 -3 -2 -1 -1 -2 -3 -5 -7 -8 -9 -9 -7 -6 -6 -5 -4 -4 -3 -2 -2 -1 -1 -0 1 1 2 2 2 1 -0 -0 -0 -1 -2 -3 -2 -2 -1 -1 -0 2 3 3 1 -0 -4 -9 -11 -9 -4 -1 -0 -0 -1 -1 1 1 -0 -1 -2 -3 -4 -6 -8 -8 -8 -9 -11 -11 -9 -7 -4 -2 -0 -0 -1 -3 -4 -4 -4 -3 -1 -0 -0 -1 -3 -6 -8 -9 -9 -8 -7 -7 -6 -7 -8 -9 -8 -6 -3 -1 -0 -1 -2 -4 -4 -4 -4 -5 -10 -13 -13 -12 -12 -14 -13 -11 -8 -7 -8 -11 -14 -17 -18 -17 -15 -12 -10 -8 -7 -7 -9 -13 -18 -21 -22 -22 -21 -16 -12 -10 -11 -10 -10 -9 -7 -3 -1 -1 -2 -4 -6 -8 -9 -10 -10 -9 -9 -9 -9 -9 -11 -13 -15 -15 -13 -10 -8 -8 -9 -10 -9 -9 -10 -11 -12 -11 -9 -5 -3 -3 -5 -9 -13 -16 -17 -16 -15 -15 -17 -18 -16 -14 -16 -19 -21 -21 -20 -18 -17 -18 -20 -19 -17 -15 -14 -15 -17 -20 -22 -23 -24 -25 -27 -27 -25 -23 -18 -12 -10 -11 -13 -16 -18 -18 -18 -17 -18 -20 -23 -23 -23 -23 -22 -21 -21 -21 -21 -21 -21 -21 -21 -21 -23 -24 -24 -25 -23 -20 -18 -18 -20 -21 -21 -19 -15 -18 -22 -22 -19 -18 -18 -18 -19 -19 -19 -18 -19 -20 -21 -21 -21 -22 -25 -26 -25 -25 -25 -23 -21 -22 -24 -26 -27 -24 -22 -20 -20 -20 -21 -22 -22 -22 -22 -23 -23 -23 -23 -21 -21 -21 -21 -20 -21 -22 -23 -24 -23 -22 -21 -21 -22 -22 -21 -20 -19 -21 -21 -20 -19 -19 -19 -18 -18 -18 -18 -18 -18 -19 -20 -20 -19 -19 -17 -14 -14 -14 -15 -17 -16 -14 -13 -14 -14 -14 -12 -11 -12 -13 -15 -16 -17 -18 -19 -20 -21 -20 -19 -19 1 -3 -4 -3 -3 -4 -7 -7 -7 -6 -5 -5 -6 -7 -6 -3 -2 -3 -4 -4 -5 -6 -8 -11 -9 -7 -5 -5 -6 -6 -6 -6 -5 -3 -2 -1 -0 -0 -0 -1 -3 -5 -8 -10 -9 -6 -3 -2 -2 -3 -3 -2 -2 -1 -1 -1 -1 -2 -4 -6 -8 -8 -8 -7 -6 -6 -6 -6 -5 -4 -4 -3 -3 -2 -1 1 1 1 1 1 1 -0 -2 -2 -2 -2 -2 -2 -2 -1 -0 -0 -0 1 2 3 3 1 -2 -6 -8 -7 -4 -3 -3 -4 -5 -3 -0 1 1 -0 -2 -3 -4 -5 -6 -6 -6 -7 -10 -11 -10 -8 -5 -3 -1 1 1 -1 -3 -5 -5 -4 -2 -0 2 2 -0 -3 -5 -7 -9 -10 -10 -9 -8 -6 -7 -9 -10 -8 -5 -1 2 3 1 -2 -3 -4 -5 -5 -9 -12 -13 -12 -12 -14 -15 -13 -10 -9 -9 -11 -13 -15 -16 -16 -16 -14 -14 -13 -11 -8 -6 -9 -14 -18 -20 -20 -22 -21 -17 -13 -10 -9 -9 -10 -9 -7 -4 -1 -0 -2 -4 -6 -8 -10 -10 -9 -9 -10 -11 -11 -11 -12 -14 -16 -16 -14 -12 -8 -7 -8 -9 -10 -10 -12 -13 -14 -13 -6 -0 2 -1 -8 -12 -14 -14 -14 -15 -15 -17 -18 -17 -15 -16 -18 -21 -22 -21 -19 -17 -18 -21 -21 -20 -18 -17 -17 -18 -19 -20 -23 -24 -25 -27 -26 -25 -22 -19 -13 -11 -10 -11 -14 -17 -19 -19 -19 -19 -22 -24 -25 -24 -23 -22 -21 -21 -21 -21 -21 -21 -21 -21 -21 -23 -24 -24 -23 -23 -21 -19 -17 -17 -18 -19 -20 -20 -21 -22 -22 -21 -20 -19 -19 -19 -19 -19 -18 -18 -19 -20 -22 -23 -22 -25 -26 -26 -25 -24 -24 -24 -25 -26 -27 -29 -27 -23 -20 -20 -20 -22 -23 -22 -21 -22 -23 -23 -23 -22 -21 -21 -21 -21 -20 -20 -21 -23 -23 -23 -23 -21 -21 -21 -22 -21 -20 -20 -21 -21 -19 -18 -18 -18 -18 -18 -18 -18 -18 -18 -19 -19 -19 -18 -19 -18 -15 -14 -15 -16 -16 -15 -14 -14 -14 -14 -14 -12 -11 -11 -13 -15 -16 -18 -18 -18 -19 -19 -18 -18 -19 -2 -5 -4 -3 -4 -5 -7 -6 -6 -6 -5 -6 -5 -4 -2 -2 -3 -4 -5 -4 -4 -4 -6 -8 -9 -9 -8 -7 -7 -7 -6 -5 -4 -3 -2 -1 -0 -0 -1 -3 -5 -7 -9 -9 -6 -4 -3 -3 -3 -3 -2 -2 -1 -0 -0 -1 -1 -3 -5 -7 -8 -7 -6 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 1 1 1 -0 -0 -1 -2 -4 -5 -4 -3 -2 -2 -2 -1 -0 2 3 3 3 3 3 2 -1 -4 -5 -5 -3 -3 -4 -6 -7 -7 -4 -2 -0 -0 -1 -3 -4 -5 -5 -5 -5 -6 -9 -9 -10 -9 -6 -3 -1 3 5 4 -0 -3 -5 -6 -6 -3 -0 1 2 1 -1 -3 -6 -9 -12 -13 -12 -8 -6 -7 -9 -10 -8 -3 1 4 5 2 -1 -3 -4 -5 -7 -10 -11 -13 -13 -14 -15 -14 -12 -10 -10 -11 -13 -15 -15 -15 -14 -13 -14 -14 -12 -9 -6 -7 -11 -15 -17 -18 -20 -21 -20 -17 -12 -8 -7 -9 -11 -10 -7 -5 -2 -2 -2 -3 -5 -8 -10 -10 -10 -11 -12 -13 -13 -13 -14 -15 -15 -14 -13 -9 -6 -6 -7 -8 -9 -10 -12 -14 -16 -11 -2 4 3 -4 -10 -13 -13 -12 -13 -14 -15 -17 -17 -16 -16 -17 -20 -22 -22 -20 -17 -19 -21 -21 -20 -20 -19 -19 -19 -18 -19 -22 -24 -25 -26 -26 -23 -20 -18 -15 -13 -11 -10 -13 -18 -20 -21 -21 -21 -23 -25 -26 -24 -23 -22 -22 -21 -21 -21 -21 -20 -20 -21 -21 -23 -23 -23 -22 -22 -21 -19 -15 -15 -16 -18 -21 -22 -22 -22 -21 -23 -22 -20 -20 -20 -19 -19 -18 -17 -17 -18 -22 -24 -22 -22 -23 -24 -24 -23 -23 -25 -26 -28 -28 -30 -29 -26 -22 -21 -21 -22 -23 -22 -20 -21 -22 -23 -23 -22 -21 -21 -21 -21 -20 -20 -21 -22 -22 -23 -23 -22 -21 -21 -22 -21 -20 -20 -21 -20 -18 -18 -18 -18 -19 -19 -18 -19 -19 -19 -19 -18 -18 -19 -20 -18 -16 -15 -15 -16 -16 -15 -15 -16 -16 -16 -15 -13 -11 -11 -13 -16 -17 -18 -18 -18 -18 -18 -18 -18 -19 -4 -5 -4 -3 -4 -6 -6 -6 -6 -6 -7 -6 -4 -2 -1 -2 -3 -4 -4 -4 -3 -2 -3 -3 -6 -9 -11 -12 -9 -7 -7 -6 -4 -3 -1 -0 1 -0 -3 -5 -7 -8 -9 -7 -5 -4 -3 -3 -3 -2 -1 -0 -0 -0 -1 -2 -3 -5 -7 -7 -7 -5 -4 -3 -4 -5 -5 -4 -3 -2 -2 -3 -3 -3 -1 1 1 1 -0 -2 -3 -4 -5 -7 -6 -4 -3 -2 -2 -2 -1 1 3 4 5 6 6 4 1 -2 -3 -4 -2 -2 -3 -5 -7 -8 -8 -6 -5 -3 -2 -3 -4 -6 -6 -6 -6 -7 -8 -9 -9 -8 -6 -4 -2 2 5 6 3 -0 -3 -4 -5 -5 -4 -2 -0 1 1 1 -2 -6 -12 -17 -18 -14 -8 -5 -6 -9 -10 -8 -3 2 6 5 2 -0 -1 -4 -6 -8 -10 -12 -13 -14 -15 -15 -14 -12 -11 -12 -14 -16 -16 -15 -12 -10 -12 -14 -14 -13 -10 -7 -8 -11 -15 -16 -17 -19 -20 -19 -15 -10 -7 -8 -10 -8 -8 -7 -6 -4 -2 -1 -1 -5 -9 -11 -11 -11 -12 -14 -14 -14 -14 -14 -14 -13 -12 -10 -8 -6 -6 -7 -8 -9 -11 -14 -18 -16 -9 -1 4 -0 -6 -11 -12 -12 -12 -11 -12 -15 -17 -17 -16 -16 -18 -21 -22 -20 -18 -20 -22 -22 -21 -21 -20 -21 -20 -19 -18 -20 -23 -25 -26 -25 -22 -19 -17 -16 -14 -13 -12 -14 -18 -21 -22 -22 -22 -24 -25 -25 -24 -23 -23 -22 -21 -21 -21 -21 -20 -20 -21 -21 -22 -23 -22 -21 -21 -20 -19 -15 -14 -15 -19 -22 -25 -25 -24 -23 -23 -22 -21 -21 -20 -20 -19 -18 -18 -16 -16 -20 -23 -22 -21 -21 -21 -21 -21 -22 -24 -25 -26 -27 -29 -30 -28 -25 -23 -22 -22 -22 -21 -20 -21 -22 -23 -23 -22 -21 -21 -21 -21 -20 -20 -21 -20 -21 -22 -23 -23 -21 -21 -21 -21 -20 -20 -19 -18 -18 -18 -18 -18 -19 -19 -19 -19 -20 -20 -19 -18 -18 -19 -19 -18 -18 -17 -17 -16 -15 -15 -16 -17 -17 -17 -16 -14 -12 -12 -14 -16 -18 -19 -19 -17 -17 -17 -18 -18 -19 -4 -4 -3 -3 -4 -5 -5 -5 -6 -7 -6 -5 -3 -1 -1 -2 -3 -4 -4 -5 -3 -1 -0 -0 -2 -8 -11 -12 -9 -7 -7 -6 -4 -1 1 2 1 -1 -4 -8 -9 -10 -9 -6 -4 -3 -3 -2 -1 -1 -0 -0 -0 -0 -1 -2 -3 -6 -7 -7 -6 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -2 -3 -2 -0 1 1 -0 -2 -4 -6 -7 -8 -7 -6 -4 -3 -3 -3 -3 -2 -0 2 5 7 8 7 4 1 -2 -3 -2 -2 -3 -5 -5 -7 -8 -9 -8 -6 -5 -4 -5 -7 -8 -7 -7 -8 -9 -10 -9 -8 -6 -4 -2 -0 3 6 6 3 -0 -1 -2 -3 -5 -5 -4 -4 -2 -1 -0 -2 -9 -15 -20 -19 -13 -7 -4 -5 -8 -10 -8 -3 2 5 5 4 2 -1 -3 -6 -8 -10 -12 -14 -15 -16 -16 -14 -12 -12 -15 -18 -18 -16 -12 -8 -8 -11 -14 -16 -15 -11 -9 -9 -12 -13 -15 -17 -19 -19 -17 -12 -9 -7 -8 -8 -8 -8 -7 -6 -5 -2 -1 -2 -6 -10 -11 -11 -11 -13 -15 -15 -14 -14 -13 -12 -10 -11 -10 -8 -6 -7 -7 -8 -8 -11 -16 -17 -15 -8 -0 2 -1 -6 -9 -11 -11 -11 -12 -15 -18 -18 -18 -17 -17 -20 -22 -21 -19 -21 -23 -23 -21 -21 -20 -21 -21 -21 -19 -19 -21 -23 -24 -23 -21 -20 -18 -16 -15 -15 -15 -16 -19 -20 -21 -21 -21 -23 -24 -24 -24 -24 -23 -22 -21 -21 -21 -21 -21 -21 -21 -22 -22 -22 -22 -21 -20 -20 -19 -17 -15 -15 -16 -20 -25 -26 -27 -26 -24 -22 -21 -21 -21 -20 -20 -20 -19 -18 -16 -18 -21 -21 -19 -19 -19 -19 -19 -20 -21 -22 -22 -24 -26 -28 -30 -27 -25 -24 -24 -23 -21 -21 -22 -22 -22 -23 -22 -21 -21 -21 -21 -21 -20 -21 -20 -20 -21 -21 -22 -21 -21 -21 -21 -19 -19 -19 -18 -18 -18 -19 -19 -19 -19 -19 -19 -20 -19 -19 -19 -19 -19 -19 -18 -18 -19 -19 -17 -16 -16 -17 -19 -18 -18 -17 -16 -14 -14 -14 -16 -17 -19 -19 -17 -17 -17 -18 -18 -19 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -3 -2 -2 -2 -2 -3 -3 -4 -5 -4 -1 1 1 -1 -5 -8 -9 -8 -7 -7 -5 -2 1 1 1 -0 -2 -6 -8 -10 -10 -9 -5 -4 -2 -1 -1 -0 1 1 -0 -0 -0 -1 -2 -3 -5 -7 -7 -5 -3 -2 -2 -2 -2 -2 -1 -1 -0 -0 -0 -0 -1 -1 -1 -1 -0 -0 -1 -4 -6 -8 -8 -7 -6 -5 -4 -4 -4 -4 -3 -2 -1 2 5 8 8 7 4 1 -3 -1 -2 -4 -6 -5 -5 -7 -8 -9 -9 -7 -6 -6 -7 -9 -9 -8 -8 -9 -10 -10 -8 -6 -4 -2 -1 1 3 5 5 3 2 -0 -1 -3 -5 -6 -7 -7 -6 -3 -1 -5 -11 -17 -20 -16 -10 -5 -4 -5 -8 -9 -8 -4 -0 3 5 5 4 1 -2 -6 -8 -10 -12 -15 -17 -19 -17 -15 -15 -16 -18 -19 -18 -14 -8 -5 -6 -10 -15 -17 -14 -12 -10 -10 -12 -14 -16 -18 -19 -17 -15 -11 -8 -8 -8 -8 -7 -7 -7 -6 -4 -3 -3 -6 -9 -11 -11 -11 -13 -15 -14 -13 -13 -12 -11 -10 -11 -10 -9 -7 -7 -8 -7 -7 -8 -13 -16 -17 -14 -8 -2 1 1 -4 -11 -12 -12 -12 -12 -16 -20 -21 -18 -17 -19 -21 -22 -21 -21 -22 -23 -22 -21 -19 -20 -22 -22 -20 -19 -19 -20 -21 -21 -20 -19 -18 -16 -15 -16 -17 -17 -17 -19 -19 -18 -20 -22 -23 -23 -23 -24 -23 -21 -20 -20 -21 -22 -22 -22 -22 -21 -21 -22 -22 -21 -21 -21 -20 -19 -17 -14 -13 -17 -23 -26 -28 -28 -25 -23 -23 -23 -22 -21 -21 -21 -21 -18 -16 -17 -19 -19 -19 -18 -18 -18 -18 -19 -19 -20 -20 -21 -22 -24 -27 -28 -27 -26 -25 -24 -22 -23 -23 -22 -22 -21 -21 -21 -21 -22 -21 -20 -20 -21 -19 -19 -19 -19 -20 -20 -20 -21 -21 -19 -19 -19 -18 -18 -18 -19 -19 -19 -19 -19 -19 -18 -18 -18 -19 -20 -19 -18 -18 -18 -18 -20 -18 -16 -17 -19 -19 -20 -19 -17 -17 -16 -15 -15 -16 -17 -18 -19 -18 -17 -17 -17 -19 -18 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -5 -3 -2 -2 -2 -2 -2 -3 -4 -4 -3 -1 1 -0 -1 -3 -4 -5 -6 -6 -6 -3 -0 3 2 -0 -2 -4 -6 -8 -8 -8 -8 -5 -3 -1 -0 1 1 1 1 1 1 -0 -1 -2 -3 -5 -6 -6 -4 -3 -2 -2 -1 -1 -1 -1 -1 -0 -0 1 2 2 1 -0 -1 -1 -1 -1 -3 -6 -8 -8 -7 -6 -5 -4 -4 -3 -3 -3 -2 -2 -0 3 5 8 8 6 3 -1 -0 -1 -5 -8 -8 -5 -4 -6 -9 -10 -9 -7 -6 -7 -9 -10 -10 -9 -10 -10 -10 -9 -7 -5 -3 -1 -0 1 4 5 5 4 2 1 -1 -3 -6 -9 -11 -11 -8 -4 -4 -7 -12 -17 -16 -13 -9 -6 -4 -6 -7 -8 -8 -5 -2 1 4 5 5 2 -1 -4 -7 -10 -14 -18 -21 -21 -19 -17 -16 -17 -18 -18 -16 -11 -5 -3 -5 -10 -15 -16 -15 -13 -12 -12 -14 -15 -16 -17 -17 -16 -13 -10 -9 -8 -7 -7 -6 -5 -5 -5 -5 -5 -5 -6 -8 -8 -10 -12 -14 -13 -12 -12 -12 -11 -11 -11 -10 -9 -7 -6 -8 -7 -7 -7 -10 -14 -17 -17 -15 -9 -2 4 5 -3 -9 -12 -12 -11 -14 -19 -21 -20 -19 -20 -21 -20 -20 -20 -21 -21 -21 -21 -20 -21 -21 -22 -20 -19 -18 -17 -17 -17 -17 -18 -17 -16 -16 -16 -18 -18 -18 -18 -17 -17 -18 -21 -22 -22 -22 -23 -22 -21 -19 -19 -20 -21 -22 -22 -21 -21 -21 -22 -22 -21 -21 -21 -21 -21 -18 -16 -14 -16 -21 -25 -28 -28 -26 -24 -24 -25 -25 -23 -22 -21 -21 -18 -17 -17 -18 -18 -19 -19 -19 -18 -18 -19 -19 -19 -20 -20 -20 -22 -23 -26 -26 -26 -25 -25 -23 -24 -24 -23 -23 -21 -20 -20 -22 -22 -21 -20 -20 -21 -20 -19 -19 -19 -19 -19 -20 -22 -22 -20 -20 -20 -19 -19 -19 -19 -19 -19 -18 -18 -18 -18 -18 -19 -20 -20 -20 -18 -17 -17 -17 -19 -18 -17 -17 -18 -20 -20 -19 -18 -18 -17 -16 -16 -17 -17 -18 -18 -18 -16 -16 -17 -18 -18 -4 -4 -4 -4 -3 -3 -3 -5 -6 -5 -4 -3 -3 -3 -2 -1 -2 -4 -5 -4 -3 -1 -0 -0 -2 -2 -3 -3 -5 -4 -3 -1 1 3 2 -0 -3 -5 -6 -7 -7 -7 -7 -5 -2 -0 -0 1 1 1 2 3 2 1 -0 -2 -4 -5 -6 -5 -4 -4 -3 -2 -1 -1 -1 -1 -1 -1 -0 1 2 2 2 2 1 -0 -1 -2 -3 -5 -7 -7 -6 -4 -3 -3 -3 -3 -2 -2 -2 -2 -0 3 4 5 6 5 3 1 2 -0 -5 -10 -11 -8 -5 -4 -5 -8 -9 -9 -8 -8 -9 -10 -10 -10 -10 -10 -9 -9 -9 -7 -5 -3 -1 1 3 4 5 5 3 2 -0 -2 -3 -7 -10 -12 -12 -8 -5 -5 -8 -12 -14 -14 -12 -8 -5 -5 -5 -6 -7 -6 -5 -3 -1 1 3 3 3 2 -1 -4 -9 -16 -22 -24 -23 -19 -16 -16 -17 -18 -18 -15 -11 -6 -3 -4 -10 -15 -17 -17 -16 -15 -14 -13 -13 -14 -16 -16 -15 -12 -10 -9 -8 -8 -7 -5 -5 -5 -6 -7 -6 -6 -6 -7 -9 -11 -12 -13 -12 -13 -13 -11 -10 -11 -12 -11 -8 -6 -6 -7 -7 -7 -9 -12 -15 -17 -17 -14 -9 -0 7 3 -5 -11 -13 -12 -13 -16 -20 -21 -20 -19 -17 -15 -16 -17 -18 -18 -19 -21 -22 -21 -20 -21 -20 -19 -17 -16 -14 -13 -14 -15 -17 -16 -16 -17 -19 -19 -18 -17 -17 -18 -19 -21 -22 -22 -22 -21 -21 -20 -19 -19 -20 -22 -23 -23 -21 -21 -21 -22 -22 -21 -21 -21 -21 -20 -20 -20 -20 -20 -22 -25 -28 -28 -27 -26 -27 -28 -29 -26 -23 -20 -19 -17 -17 -17 -17 -18 -20 -20 -20 -18 -19 -20 -20 -19 -19 -19 -20 -21 -20 -22 -24 -25 -26 -24 -22 -23 -24 -25 -25 -22 -20 -20 -23 -23 -22 -21 -21 -21 -20 -19 -19 -19 -20 -21 -21 -22 -22 -21 -21 -20 -19 -20 -20 -19 -19 -19 -18 -18 -19 -19 -20 -20 -20 -20 -19 -18 -17 -17 -17 -19 -18 -17 -17 -18 -20 -21 -20 -19 -18 -17 -17 -17 -16 -17 -18 -18 -18 -16 -16 -17 -18 -18 -4 -5 -5 -4 -3 -3 -3 -4 -5 -5 -4 -3 -3 -2 -1 -1 -2 -4 -5 -4 -2 -2 -1 -2 -3 -3 -3 -3 -3 -2 -1 -0 2 2 1 -1 -4 -6 -6 -7 -6 -5 -5 -3 -2 -1 -1 -1 -0 1 3 4 4 3 1 -2 -5 -6 -6 -5 -3 -3 -3 -2 -1 -1 -1 -1 -2 -2 -2 -1 -0 -0 -0 1 1 1 -0 -2 -4 -5 -6 -6 -4 -3 -3 -3 -3 -2 -2 -2 -2 -1 2 5 6 6 5 3 2 2 3 2 -2 -9 -13 -14 -10 -5 -2 -4 -6 -8 -9 -10 -9 -10 -10 -9 -9 -9 -10 -10 -9 -9 -8 -6 -4 -2 1 3 5 5 4 2 -0 -1 -2 -3 -6 -8 -10 -10 -7 -6 -6 -9 -12 -12 -11 -9 -7 -6 -6 -5 -5 -5 -5 -4 -4 -3 -2 -0 2 3 3 1 -4 -11 -19 -23 -24 -21 -16 -16 -16 -17 -18 -17 -14 -9 -5 -2 -5 -12 -17 -20 -21 -18 -15 -12 -10 -10 -13 -15 -15 -13 -11 -11 -11 -10 -9 -7 -6 -5 -6 -8 -8 -8 -7 -8 -8 -9 -10 -12 -13 -14 -13 -10 -9 -11 -12 -13 -11 -7 -7 -8 -9 -9 -9 -9 -12 -15 -16 -17 -15 -9 -0 1 -3 -9 -12 -12 -13 -15 -18 -20 -21 -19 -16 -13 -15 -16 -15 -16 -18 -21 -22 -21 -19 -20 -21 -19 -16 -14 -13 -12 -12 -13 -16 -17 -17 -18 -20 -20 -18 -17 -17 -19 -20 -21 -21 -22 -22 -21 -20 -19 -19 -19 -21 -22 -23 -23 -22 -21 -21 -22 -22 -21 -21 -21 -21 -20 -20 -21 -21 -21 -22 -24 -27 -27 -28 -28 -28 -30 -30 -27 -24 -21 -19 -18 -17 -17 -17 -19 -20 -20 -19 -18 -20 -21 -21 -21 -19 -18 -19 -20 -20 -21 -23 -25 -27 -23 -21 -22 -23 -25 -25 -23 -21 -21 -23 -24 -23 -21 -21 -21 -20 -19 -19 -19 -20 -21 -21 -22 -22 -22 -21 -20 -20 -20 -20 -19 -18 -18 -18 -19 -20 -20 -20 -19 -18 -19 -19 -17 -17 -17 -17 -19 -19 -18 -16 -17 -20 -22 -22 -21 -20 -19 -18 -17 -16 -17 -18 -18 -19 -16 -15 -16 -18 -19 -5 -5 -4 -3 -3 -3 -3 -4 -4 -4 -4 -3 -3 -2 -1 -1 -3 -5 -5 -4 -2 -2 -2 -3 -4 -4 -3 -2 -1 -0 -0 1 1 1 1 -2 -4 -6 -6 -6 -6 -4 -2 -3 -3 -3 -3 -3 -1 1 4 5 5 4 1 -2 -5 -6 -5 -3 -2 -2 -2 -1 -1 -1 -0 -0 -1 -2 -1 -1 -0 -0 -0 -1 -1 -0 -1 -3 -5 -6 -6 -5 -4 -3 -2 -2 -2 -2 -2 -1 -1 -1 1 5 8 9 7 4 2 1 2 3 -0 -5 -11 -16 -16 -11 -5 -4 -4 -6 -7 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -7 -7 -4 -1 2 4 3 1 -0 -2 -2 -1 -1 -2 -4 -8 -9 -8 -7 -9 -10 -10 -10 -9 -7 -8 -8 -7 -6 -5 -4 -3 -3 -4 -5 -5 -2 1 3 2 -0 -6 -14 -20 -22 -21 -17 -15 -15 -15 -16 -17 -15 -12 -8 -5 -6 -8 -13 -18 -20 -17 -15 -12 -9 -9 -11 -13 -14 -13 -12 -12 -12 -11 -11 -9 -7 -6 -6 -7 -9 -10 -10 -9 -7 -6 -8 -12 -13 -14 -12 -10 -7 -9 -12 -13 -12 -9 -8 -8 -9 -9 -8 -8 -10 -14 -15 -17 -18 -16 -11 -6 -5 -7 -9 -10 -12 -14 -15 -18 -19 -18 -15 -13 -15 -15 -15 -15 -17 -22 -24 -22 -19 -19 -19 -18 -16 -14 -15 -13 -11 -11 -14 -16 -18 -19 -21 -21 -19 -18 -19 -20 -20 -21 -21 -21 -21 -21 -21 -20 -21 -21 -22 -22 -23 -22 -22 -21 -21 -22 -21 -21 -20 -20 -20 -20 -20 -21 -22 -21 -22 -24 -26 -27 -28 -28 -28 -29 -29 -28 -26 -23 -21 -20 -19 -18 -17 -18 -19 -19 -19 -18 -19 -20 -22 -22 -19 -18 -18 -20 -21 -22 -23 -26 -28 -25 -23 -22 -23 -23 -22 -22 -21 -21 -24 -24 -22 -21 -21 -21 -20 -19 -18 -19 -20 -21 -22 -22 -23 -22 -21 -21 -21 -20 -19 -18 -18 -18 -19 -20 -21 -21 -21 -19 -16 -18 -19 -18 -17 -17 -17 -18 -19 -19 -15 -17 -20 -22 -23 -23 -22 -20 -18 -17 -17 -17 -18 -18 -18 -17 -15 -15 -17 -20 -5 -5 -4 -3 -3 -3 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -3 -5 -5 -4 -2 -2 -3 -4 -5 -5 -4 -3 -1 -0 -0 -0 1 1 -0 -3 -5 -7 -7 -6 -5 -3 -2 -2 -4 -6 -6 -4 1 4 6 7 6 4 1 -2 -2 -2 -1 -0 1 1 1 1 -0 -0 1 1 1 1 -0 1 1 1 2 1 -0 -1 -1 -2 -4 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -1 -0 1 1 3 6 9 9 6 3 1 2 3 2 -2 -7 -13 -17 -16 -11 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -8 -9 -9 -10 -10 -9 -6 -3 -0 -0 -2 -3 -3 -2 -1 -1 -1 -4 -8 -9 -9 -9 -9 -9 -8 -7 -6 -7 -9 -9 -9 -7 -5 -3 -2 -2 -5 -7 -7 -4 -1 -0 -0 -3 -9 -16 -19 -19 -17 -15 -14 -13 -14 -16 -15 -13 -12 -10 -9 -8 -10 -13 -17 -17 -16 -14 -12 -8 -8 -10 -12 -13 -12 -12 -12 -12 -12 -10 -9 -8 -7 -8 -10 -12 -12 -10 -6 -5 -8 -12 -13 -13 -12 -11 -8 -8 -10 -12 -13 -11 -9 -8 -9 -9 -8 -7 -7 -10 -14 -17 -19 -18 -15 -11 -8 -7 -6 -8 -11 -12 -13 -16 -18 -16 -14 -13 -15 -15 -15 -15 -17 -21 -24 -23 -18 -16 -15 -15 -15 -15 -16 -14 -11 -9 -12 -16 -19 -20 -21 -20 -20 -20 -21 -21 -21 -21 -20 -20 -20 -21 -21 -21 -22 -22 -22 -22 -23 -22 -22 -22 -22 -22 -21 -20 -20 -20 -19 -19 -20 -21 -22 -22 -22 -23 -26 -27 -28 -28 -28 -27 -27 -28 -28 -25 -23 -24 -22 -19 -17 -18 -18 -18 -17 -17 -18 -19 -20 -21 -18 -18 -18 -19 -21 -21 -23 -27 -30 -27 -25 -24 -23 -23 -22 -22 -22 -21 -24 -23 -22 -21 -21 -21 -20 -19 -17 -18 -19 -20 -21 -22 -22 -22 -22 -21 -21 -19 -18 -18 -18 -19 -19 -20 -20 -21 -21 -19 -17 -18 -19 -18 -17 -17 -17 -18 -19 -20 -16 -17 -20 -23 -24 -24 -22 -20 -19 -18 -18 -17 -17 -18 -18 -17 -16 -15 -17 -19 -5 -4 -4 -3 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -3 -5 -6 -5 -3 -3 -4 -6 -6 -6 -5 -3 -0 -0 -0 -0 -0 1 -0 -2 -4 -6 -5 -4 -3 -2 -1 -2 -4 -6 -5 -2 3 5 6 6 4 3 1 -1 -0 2 2 2 2 2 2 2 1 1 2 2 3 3 2 2 2 3 4 3 2 -0 -0 -0 -1 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -1 -0 2 3 3 4 6 6 6 5 3 3 3 2 -1 -4 -8 -12 -14 -13 -9 -8 -8 -9 -7 -5 -3 -2 -2 -3 -3 -4 -5 -4 -4 -5 -7 -9 -10 -11 -12 -13 -11 -8 -6 -4 -4 -4 -5 -5 -4 -3 -4 -6 -8 -9 -9 -9 -9 -8 -6 -5 -5 -7 -10 -11 -10 -8 -5 -2 -1 -3 -5 -7 -6 -6 -4 -3 -3 -7 -12 -15 -17 -16 -14 -14 -13 -13 -14 -14 -14 -14 -13 -11 -9 -8 -9 -13 -15 -16 -15 -13 -10 -7 -7 -8 -11 -11 -11 -11 -11 -11 -10 -10 -9 -10 -10 -11 -11 -10 -8 -6 -6 -9 -14 -14 -13 -13 -13 -12 -9 -9 -9 -11 -12 -11 -10 -10 -10 -8 -6 -5 -6 -11 -15 -18 -18 -17 -13 -11 -10 -8 -8 -9 -11 -14 -16 -17 -16 -14 -13 -15 -16 -16 -15 -16 -20 -21 -20 -17 -15 -14 -14 -13 -14 -17 -15 -12 -10 -12 -17 -20 -21 -21 -19 -19 -21 -23 -22 -21 -21 -21 -20 -20 -21 -21 -22 -22 -22 -22 -22 -22 -22 -22 -23 -24 -23 -21 -20 -20 -20 -19 -20 -20 -21 -22 -23 -23 -24 -25 -27 -28 -27 -27 -26 -26 -26 -27 -25 -27 -28 -27 -22 -18 -18 -18 -17 -17 -17 -18 -19 -20 -20 -18 -18 -18 -20 -20 -21 -23 -26 -30 -28 -27 -25 -24 -24 -24 -23 -22 -22 -23 -23 -22 -22 -22 -22 -21 -19 -17 -17 -18 -20 -22 -22 -22 -21 -22 -22 -21 -20 -19 -18 -18 -18 -19 -20 -20 -21 -20 -19 -19 -18 -18 -19 -19 -19 -19 -18 -18 -20 -17 -18 -20 -23 -23 -23 -22 -21 -20 -19 -19 -17 -16 -18 -18 -17 -16 -16 -17 -19 -5 -4 -4 -2 -1 -2 -3 -3 -3 -3 -2 -1 -1 -2 -3 -3 -3 -5 -5 -4 -3 -4 -6 -7 -6 -6 -4 -3 -1 -0 -1 -0 -0 -0 -0 -2 -3 -4 -3 -2 -2 -1 -1 -1 -3 -4 -3 -0 3 5 5 4 2 1 -0 -0 1 3 3 3 2 3 3 3 2 1 1 2 2 2 2 2 2 3 4 4 2 1 1 1 1 1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 3 4 3 2 2 2 3 5 5 4 2 -1 -3 -5 -6 -7 -8 -8 -8 -10 -12 -12 -8 -4 -0 1 1 -0 -0 -1 -1 -1 -2 -4 -6 -8 -9 -11 -14 -15 -13 -10 -8 -7 -7 -7 -7 -8 -8 -7 -6 -6 -7 -8 -9 -10 -9 -7 -4 -4 -5 -8 -10 -12 -11 -9 -6 -3 -3 -3 -4 -4 -6 -6 -6 -5 -6 -10 -13 -15 -13 -13 -13 -14 -12 -11 -12 -13 -15 -15 -12 -10 -8 -8 -9 -12 -14 -14 -14 -12 -8 -6 -6 -8 -9 -10 -11 -12 -11 -10 -10 -11 -11 -11 -10 -8 -6 -6 -7 -9 -11 -14 -14 -13 -13 -14 -14 -12 -9 -7 -9 -11 -12 -12 -10 -10 -9 -8 -6 -5 -7 -12 -16 -18 -17 -15 -14 -14 -13 -9 -9 -10 -13 -15 -17 -17 -15 -14 -15 -16 -16 -15 -15 -17 -17 -17 -16 -15 -14 -13 -13 -14 -15 -15 -12 -11 -13 -16 -19 -22 -23 -19 -19 -21 -23 -23 -22 -22 -21 -21 -21 -21 -22 -22 -22 -22 -21 -21 -21 -21 -22 -24 -24 -24 -22 -21 -21 -21 -21 -21 -21 -22 -23 -23 -23 -24 -25 -26 -27 -27 -26 -25 -24 -24 -25 -25 -27 -29 -28 -23 -20 -18 -18 -18 -18 -17 -19 -20 -21 -20 -19 -18 -18 -19 -20 -23 -25 -26 -28 -28 -27 -26 -25 -25 -25 -24 -23 -22 -22 -22 -21 -22 -22 -22 -21 -18 -18 -18 -19 -21 -23 -23 -22 -21 -21 -21 -21 -20 -19 -18 -18 -18 -18 -19 -19 -20 -20 -20 -20 -19 -19 -19 -20 -20 -20 -19 -18 -20 -19 -19 -21 -23 -23 -23 -22 -21 -21 -20 -18 -17 -16 -18 -19 -18 -17 -17 -18 -19 -5 -4 -4 -2 -1 -1 -3 -3 -3 -2 -1 -1 -1 -2 -2 -2 -3 -4 -4 -3 -3 -6 -7 -7 -6 -5 -4 -2 -1 -1 -2 -1 -0 -0 -1 -2 -2 -3 -1 -1 -2 -3 -2 -2 -2 -1 -1 1 2 2 2 1 -0 -0 1 1 1 1 -0 -0 -0 2 3 3 2 2 1 -0 -1 -1 -0 1 1 1 1 1 1 1 -0 1 2 2 1 -0 1 1 1 -0 -0 1 1 -0 -2 -2 2 5 4 1 -2 -3 -2 1 4 4 2 -1 -4 -5 -3 -1 -0 -2 -5 -9 -13 -16 -14 -9 -3 1 2 2 3 3 2 2 2 -0 -3 -4 -5 -7 -10 -15 -17 -16 -14 -12 -11 -9 -9 -9 -10 -9 -8 -7 -7 -8 -9 -10 -10 -8 -5 -4 -4 -6 -10 -12 -12 -12 -12 -10 -7 -3 -1 -1 -2 -4 -5 -6 -7 -10 -12 -13 -13 -12 -12 -13 -11 -11 -12 -13 -14 -15 -13 -11 -10 -9 -9 -10 -11 -12 -14 -13 -10 -7 -5 -5 -6 -7 -9 -10 -10 -10 -10 -11 -11 -12 -10 -8 -6 -6 -7 -10 -13 -14 -15 -14 -13 -13 -14 -14 -12 -9 -8 -9 -10 -11 -10 -10 -11 -11 -9 -5 -5 -9 -15 -19 -18 -16 -15 -16 -16 -14 -11 -8 -8 -10 -14 -16 -15 -14 -13 -15 -15 -15 -14 -14 -13 -13 -15 -15 -15 -14 -13 -13 -15 -15 -13 -14 -15 -16 -19 -24 -25 -23 -21 -22 -23 -23 -23 -22 -21 -21 -21 -22 -22 -22 -22 -22 -21 -21 -21 -22 -23 -25 -25 -25 -24 -23 -21 -22 -22 -22 -22 -22 -23 -24 -24 -25 -25 -26 -26 -25 -26 -25 -23 -22 -22 -23 -25 -27 -27 -23 -20 -19 -18 -18 -18 -18 -21 -23 -23 -21 -19 -18 -19 -19 -19 -20 -22 -24 -27 -27 -27 -27 -25 -25 -25 -25 -24 -23 -22 -21 -20 -21 -21 -21 -20 -17 -17 -18 -20 -22 -23 -23 -22 -21 -20 -20 -20 -19 -17 -18 -17 -17 -18 -18 -18 -19 -20 -20 -21 -20 -19 -19 -20 -21 -21 -20 -18 -19 -19 -20 -22 -24 -23 -22 -22 -21 -20 -19 -17 -16 -16 -17 -18 -18 -18 -18 -19 -20 -5 -4 -4 -2 -1 -2 -3 -3 -2 -1 -1 -1 -3 -3 -3 -2 -3 -3 -2 -2 -3 -7 -8 -7 -6 -5 -4 -2 -2 -2 -2 -2 -0 -0 -1 -2 -2 -2 -0 -1 -2 -4 -3 -2 -1 -0 1 2 1 -0 -1 -1 -0 2 2 2 1 -2 -4 -4 -3 1 3 3 2 3 1 -0 -2 -3 -2 -1 -1 -1 -2 -1 -1 -1 -1 -1 -0 -0 -0 -0 1 2 3 3 3 4 3 2 -1 -3 -0 4 7 3 -0 -5 -7 -6 -1 1 1 -2 -5 -8 -6 -2 3 5 2 -3 -9 -16 -18 -15 -9 -3 -1 -0 1 3 4 5 4 3 1 -0 1 -1 -5 -12 -18 -21 -21 -18 -15 -12 -10 -10 -10 -10 -10 -9 -9 -10 -10 -10 -10 -9 -6 -4 -4 -5 -7 -10 -12 -13 -14 -13 -12 -8 -4 -2 -1 -1 -3 -4 -6 -9 -12 -13 -13 -11 -11 -11 -11 -11 -11 -12 -14 -15 -14 -13 -11 -11 -10 -10 -9 -10 -12 -14 -12 -9 -4 -3 -3 -5 -6 -8 -8 -9 -10 -11 -11 -11 -10 -8 -6 -7 -8 -10 -12 -14 -16 -15 -13 -11 -11 -13 -14 -13 -12 -11 -10 -9 -9 -10 -11 -12 -10 -7 -6 -9 -14 -19 -18 -17 -16 -16 -17 -17 -14 -10 -6 -7 -12 -15 -16 -14 -13 -14 -16 -15 -13 -11 -11 -12 -14 -15 -15 -15 -14 -15 -16 -15 -15 -17 -18 -18 -20 -25 -25 -24 -23 -22 -22 -23 -23 -22 -21 -21 -21 -21 -21 -21 -22 -22 -21 -21 -21 -22 -24 -25 -26 -25 -25 -24 -22 -22 -21 -21 -23 -24 -24 -25 -25 -25 -25 -25 -25 -25 -26 -24 -22 -20 -20 -21 -22 -23 -24 -24 -22 -20 -19 -18 -18 -19 -21 -24 -24 -20 -18 -18 -18 -18 -17 -17 -18 -20 -23 -25 -27 -28 -26 -26 -26 -26 -26 -25 -23 -21 -20 -20 -21 -21 -19 -16 -16 -17 -19 -22 -22 -22 -22 -21 -20 -20 -20 -18 -17 -18 -18 -18 -18 -18 -18 -18 -19 -20 -20 -20 -20 -20 -20 -22 -22 -21 -19 -19 -19 -20 -22 -23 -21 -21 -21 -20 -19 -18 -17 -16 -16 -17 -17 -18 -18 -20 -20 -20 -5 -4 -3 -1 -1 -3 -3 -3 -2 -1 -1 -2 -4 -4 -4 -2 -2 -2 -1 -1 -3 -7 -8 -7 -6 -6 -5 -3 -2 -2 -2 -2 -1 -1 -1 -2 -1 -1 -0 -1 -2 -3 -3 -2 -1 1 2 2 -0 -1 -2 -1 3 4 4 2 -0 -4 -6 -7 -6 -1 2 3 3 3 3 2 1 -1 -2 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -1 1 2 4 5 7 6 5 3 1 1 3 7 7 4 -2 -9 -13 -9 -4 -2 -3 -5 -9 -11 -9 -1 6 8 5 -0 -8 -16 -18 -15 -9 -6 -5 -4 -2 1 4 5 5 4 3 5 6 3 -5 -14 -21 -25 -23 -18 -15 -13 -11 -10 -10 -10 -10 -11 -11 -11 -10 -9 -9 -8 -6 -4 -4 -5 -8 -10 -12 -13 -14 -14 -12 -9 -6 -2 -1 -1 -2 -5 -8 -10 -12 -13 -12 -11 -11 -12 -11 -11 -12 -14 -14 -14 -13 -12 -12 -12 -10 -8 -8 -9 -12 -13 -11 -7 -4 -3 -3 -3 -5 -7 -8 -9 -10 -10 -11 -10 -8 -8 -8 -8 -9 -11 -14 -16 -17 -15 -11 -10 -11 -13 -16 -17 -15 -12 -8 -7 -9 -10 -11 -11 -9 -7 -9 -12 -17 -17 -16 -16 -16 -17 -18 -17 -14 -9 -8 -10 -13 -15 -14 -13 -13 -13 -14 -12 -10 -10 -11 -14 -16 -17 -17 -16 -17 -17 -17 -17 -19 -20 -20 -22 -24 -25 -24 -23 -22 -23 -23 -23 -22 -22 -21 -21 -20 -20 -20 -21 -22 -22 -22 -23 -23 -24 -25 -25 -26 -25 -25 -23 -22 -22 -22 -24 -24 -25 -25 -25 -25 -25 -25 -24 -25 -25 -24 -21 -20 -20 -20 -22 -23 -24 -25 -24 -23 -21 -18 -18 -19 -20 -22 -21 -18 -18 -19 -18 -17 -16 -15 -16 -17 -19 -22 -26 -29 -28 -27 -27 -26 -26 -26 -24 -22 -21 -21 -21 -20 -19 -16 -16 -17 -19 -22 -22 -22 -21 -20 -19 -20 -19 -18 -17 -19 -19 -19 -20 -19 -19 -19 -19 -19 -19 -20 -20 -20 -20 -22 -23 -24 -22 -21 -20 -20 -21 -22 -20 -20 -20 -20 -18 -18 -18 -17 -16 -16 -17 -18 -20 -21 -21 -21 -5 -4 -2 -1 -2 -3 -3 -2 -1 -1 -1 -2 -4 -5 -4 -3 -2 -2 -2 -2 -4 -6 -7 -7 -6 -6 -5 -3 -2 -2 -2 -2 -1 -1 -0 -0 -0 -0 -1 -1 -2 -2 -2 -2 -0 1 2 2 1 1 1 2 3 4 4 4 1 -2 -5 -6 -4 1 3 3 2 3 3 4 3 2 -1 -4 -4 -3 -2 -3 -3 -3 -4 -4 -4 -4 -3 -2 -2 -1 -1 -0 3 6 6 6 3 2 3 4 7 8 7 1 -7 -16 -16 -9 -4 -2 -3 -7 -11 -12 -9 -2 3 7 7 1 -8 -13 -15 -12 -8 -7 -8 -9 -7 -1 2 4 2 2 5 9 11 7 -4 -15 -23 -25 -21 -17 -15 -13 -11 -9 -8 -9 -10 -12 -12 -11 -9 -8 -8 -8 -6 -4 -4 -6 -8 -10 -11 -13 -14 -14 -13 -10 -6 -3 -2 -2 -4 -6 -8 -10 -11 -11 -10 -10 -10 -10 -11 -12 -14 -15 -15 -14 -13 -12 -12 -10 -9 -8 -8 -10 -11 -12 -9 -6 -4 -2 -2 -3 -5 -7 -8 -9 -10 -10 -10 -9 -9 -9 -9 -10 -11 -14 -17 -18 -18 -14 -10 -9 -12 -15 -18 -19 -17 -11 -5 -4 -5 -8 -10 -10 -8 -8 -11 -15 -16 -16 -16 -17 -17 -18 -19 -17 -13 -9 -9 -10 -13 -13 -12 -10 -9 -10 -11 -11 -12 -13 -16 -18 -20 -19 -18 -19 -20 -19 -19 -19 -20 -21 -22 -23 -25 -25 -24 -23 -23 -23 -23 -22 -22 -21 -20 -20 -20 -20 -21 -22 -23 -24 -24 -24 -24 -25 -25 -26 -26 -25 -24 -24 -24 -24 -24 -24 -24 -24 -24 -25 -25 -24 -24 -25 -24 -23 -21 -20 -20 -20 -22 -24 -25 -26 -26 -25 -23 -20 -18 -18 -17 -17 -17 -17 -18 -19 -19 -17 -16 -15 -15 -15 -17 -20 -25 -29 -29 -28 -28 -26 -26 -25 -25 -23 -23 -23 -22 -21 -20 -17 -17 -19 -20 -22 -22 -21 -20 -19 -18 -18 -18 -18 -19 -20 -20 -20 -21 -20 -19 -18 -18 -19 -19 -20 -21 -21 -20 -20 -22 -24 -23 -21 -21 -21 -21 -20 -19 -19 -20 -20 -19 -19 -19 -17 -16 -16 -17 -19 -20 -21 -22 -21 -5 -3 -2 -2 -3 -4 -3 -2 -1 -1 -1 -3 -4 -5 -5 -4 -2 -2 -3 -4 -5 -6 -6 -6 -6 -7 -5 -3 -2 -2 -2 -2 -1 -0 1 1 -0 -1 -1 -1 -1 -1 -1 -1 -0 1 2 2 2 3 3 2 2 2 3 3 3 1 -1 -2 -1 3 4 4 4 4 4 4 4 4 2 -1 -3 -3 -3 -3 -2 -2 -3 -4 -5 -5 -4 -3 -2 -1 -1 -0 -0 2 3 4 4 4 5 6 7 8 8 4 -3 -13 -19 -15 -8 -3 -1 -2 -5 -9 -11 -8 -3 2 6 5 -1 -6 -9 -9 -8 -6 -7 -9 -10 -7 -2 1 -0 -2 -2 1 5 10 9 1 -10 -19 -19 -18 -17 -15 -12 -9 -8 -8 -9 -12 -12 -11 -9 -8 -7 -8 -8 -7 -4 -5 -7 -8 -9 -11 -12 -13 -14 -13 -11 -8 -5 -3 -4 -5 -7 -8 -9 -10 -10 -10 -11 -11 -11 -12 -13 -15 -16 -15 -13 -13 -13 -12 -10 -8 -8 -9 -11 -11 -9 -7 -5 -3 -2 -2 -3 -5 -7 -7 -8 -9 -9 -8 -8 -8 -9 -10 -12 -15 -18 -20 -21 -17 -12 -10 -11 -13 -18 -21 -20 -16 -8 -3 -2 -5 -9 -9 -8 -8 -10 -13 -15 -15 -16 -16 -16 -17 -18 -19 -16 -11 -8 -7 -9 -12 -11 -9 -8 -9 -11 -12 -14 -16 -16 -17 -18 -18 -18 -19 -20 -21 -21 -20 -20 -21 -21 -22 -24 -25 -24 -24 -23 -22 -22 -22 -22 -21 -21 -20 -21 -21 -21 -22 -24 -24 -24 -24 -24 -25 -25 -25 -26 -25 -25 -25 -25 -25 -24 -24 -23 -23 -24 -25 -25 -24 -24 -25 -24 -24 -23 -22 -20 -20 -22 -24 -25 -26 -27 -26 -25 -21 -19 -18 -17 -16 -16 -17 -19 -20 -19 -18 -16 -16 -16 -15 -16 -19 -25 -29 -30 -29 -27 -26 -25 -24 -23 -22 -22 -23 -22 -21 -20 -17 -17 -19 -21 -22 -21 -19 -18 -17 -17 -17 -17 -18 -19 -21 -21 -21 -22 -20 -19 -17 -17 -18 -19 -20 -21 -21 -19 -19 -20 -22 -21 -20 -20 -21 -20 -19 -18 -19 -19 -19 -19 -19 -18 -17 -16 -16 -17 -20 -20 -21 -21 -22 -4 -3 -2 -3 -4 -4 -3 -1 -1 -1 -2 -3 -4 -5 -5 -4 -2 -2 -4 -7 -8 -7 -5 -5 -6 -6 -5 -3 -2 -2 -2 -1 -0 2 2 -0 -1 -2 -1 -1 -0 1 -0 -0 -0 -0 -0 1 2 3 2 -0 -1 -0 1 2 2 2 -0 -0 1 3 4 5 6 6 5 5 4 4 3 1 -1 -3 -4 -3 -2 -2 -3 -4 -5 -5 -4 -2 -1 -0 1 1 1 -0 -0 1 3 4 5 7 8 8 7 5 -0 -9 -18 -18 -13 -7 -3 -1 -1 -3 -7 -9 -6 -1 4 5 2 -1 -3 -4 -5 -4 -4 -6 -8 -9 -6 -2 -0 -2 -4 -4 -3 -1 2 2 -0 -3 -6 -9 -12 -13 -11 -8 -8 -7 -7 -8 -11 -11 -10 -8 -7 -8 -8 -8 -7 -6 -6 -6 -8 -9 -10 -11 -12 -13 -13 -11 -9 -6 -5 -6 -7 -7 -8 -9 -10 -11 -11 -11 -11 -11 -12 -15 -16 -15 -14 -14 -15 -13 -11 -9 -8 -9 -10 -11 -11 -9 -7 -4 -2 -1 -1 -3 -5 -6 -6 -8 -8 -7 -7 -7 -8 -10 -13 -16 -20 -23 -24 -21 -15 -11 -10 -11 -17 -20 -21 -19 -14 -8 -3 -1 -5 -8 -9 -9 -9 -11 -12 -14 -15 -15 -15 -14 -15 -17 -17 -13 -8 -5 -7 -10 -10 -8 -8 -9 -11 -13 -15 -17 -16 -15 -15 -17 -19 -20 -20 -21 -21 -22 -21 -21 -21 -22 -24 -24 -24 -25 -23 -22 -22 -22 -22 -22 -22 -22 -23 -22 -23 -23 -24 -24 -24 -24 -24 -25 -24 -25 -25 -26 -26 -26 -26 -25 -24 -24 -24 -23 -23 -24 -24 -25 -25 -25 -24 -25 -26 -23 -21 -21 -21 -23 -24 -25 -26 -26 -25 -23 -20 -18 -17 -16 -17 -19 -21 -21 -21 -19 -18 -17 -18 -17 -16 -19 -25 -29 -29 -28 -27 -25 -23 -23 -22 -21 -21 -22 -21 -20 -19 -16 -16 -18 -19 -21 -19 -17 -17 -18 -17 -18 -19 -19 -20 -21 -20 -21 -22 -20 -18 -17 -17 -17 -18 -20 -22 -22 -20 -19 -19 -21 -20 -18 -18 -20 -19 -18 -18 -19 -19 -19 -19 -19 -19 -18 -17 -17 -18 -20 -20 -21 -21 -21 -3 -3 -3 -4 -4 -4 -2 -1 -1 -1 -2 -3 -4 -5 -5 -3 -1 -2 -5 -8 -8 -8 -6 -5 -6 -6 -5 -4 -3 -3 -3 -0 2 4 1 -1 -1 -1 -1 1 2 2 1 -1 -2 -2 -1 1 2 2 1 -1 -2 -1 -0 1 1 1 1 1 1 2 3 5 6 7 7 6 5 4 3 2 -0 -2 -3 -3 -3 -3 -3 -4 -4 -4 -4 -2 -1 -0 2 4 3 1 -0 -0 2 4 5 7 8 7 6 5 -0 -7 -15 -17 -14 -10 -8 -4 -2 -1 -2 -5 -5 -1 3 5 2 -0 -1 -1 -1 -1 -2 -2 -5 -8 -7 -4 -1 -1 -2 -3 -4 -4 -4 -4 -3 -3 -4 -5 -8 -10 -10 -9 -9 -9 -7 -7 -8 -10 -10 -9 -7 -6 -7 -9 -9 -8 -7 -6 -6 -6 -7 -8 -10 -11 -12 -12 -11 -9 -7 -7 -7 -7 -7 -8 -9 -10 -10 -10 -10 -11 -12 -14 -15 -14 -14 -15 -16 -15 -13 -10 -8 -7 -8 -10 -12 -11 -10 -7 -4 -2 -2 -3 -5 -6 -7 -6 -5 -5 -5 -6 -7 -8 -12 -17 -21 -24 -26 -23 -17 -11 -8 -9 -15 -19 -21 -20 -18 -13 -6 -0 -2 -6 -9 -10 -10 -12 -12 -12 -11 -11 -11 -12 -13 -13 -14 -13 -11 -8 -7 -8 -7 -7 -7 -9 -11 -13 -16 -17 -16 -15 -15 -16 -20 -21 -21 -21 -21 -21 -21 -21 -21 -21 -22 -23 -24 -24 -24 -23 -23 -23 -23 -23 -23 -24 -25 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -25 -25 -26 -26 -26 -25 -25 -25 -25 -24 -23 -22 -23 -24 -24 -24 -24 -25 -24 -21 -21 -21 -21 -22 -22 -24 -25 -25 -26 -24 -22 -20 -18 -17 -17 -19 -21 -23 -24 -22 -20 -19 -19 -18 -18 -20 -23 -26 -27 -27 -26 -24 -22 -22 -23 -22 -22 -22 -21 -20 -18 -17 -16 -16 -17 -18 -17 -16 -15 -18 -19 -19 -20 -20 -20 -19 -19 -20 -20 -19 -18 -17 -17 -17 -18 -19 -22 -22 -21 -19 -18 -20 -20 -18 -17 -16 -17 -18 -19 -20 -19 -20 -20 -20 -21 -19 -18 -19 -20 -21 -21 -21 -21 -21 -3 -3 -4 -4 -4 -3 -1 -1 -1 -1 -2 -3 -4 -5 -5 -3 -1 -3 -5 -8 -8 -8 -7 -7 -7 -7 -6 -5 -5 -5 -2 1 3 2 -1 -3 -2 -1 1 2 2 2 -0 -2 -3 -3 -1 -0 1 1 -0 -1 -1 -0 1 2 2 2 1 1 1 2 3 4 6 7 7 8 7 5 3 1 -1 -2 -2 -2 -3 -4 -4 -3 -3 -3 -3 -3 -2 -1 2 5 6 4 2 1 2 4 5 6 7 8 6 3 -1 -7 -13 -13 -12 -10 -10 -8 -6 -4 -3 -4 -3 -1 3 4 2 -0 -1 -1 -0 -0 -0 -1 -3 -6 -7 -6 -3 -1 -1 -1 -1 -2 -5 -7 -9 -9 -9 -8 -7 -6 -6 -8 -10 -10 -9 -8 -7 -8 -9 -10 -8 -6 -6 -8 -9 -10 -10 -8 -7 -5 -5 -6 -8 -9 -11 -12 -11 -11 -10 -10 -9 -8 -7 -8 -9 -10 -9 -9 -10 -11 -12 -13 -13 -13 -14 -16 -17 -17 -14 -11 -8 -6 -6 -8 -10 -12 -12 -10 -7 -5 -4 -3 -4 -7 -8 -8 -6 -5 -4 -4 -5 -7 -10 -16 -21 -24 -24 -22 -16 -10 -5 -6 -12 -17 -18 -18 -19 -16 -10 -3 -1 -5 -7 -9 -11 -12 -11 -10 -9 -9 -10 -11 -11 -12 -14 -16 -16 -14 -11 -8 -6 -5 -6 -9 -11 -13 -16 -18 -18 -16 -15 -16 -19 -20 -21 -20 -20 -20 -20 -20 -21 -22 -22 -22 -23 -24 -24 -23 -23 -23 -23 -23 -23 -25 -26 -25 -24 -24 -24 -24 -23 -23 -23 -23 -23 -24 -25 -25 -25 -26 -26 -26 -26 -26 -26 -25 -23 -21 -21 -22 -23 -23 -24 -24 -22 -20 -21 -22 -22 -22 -22 -23 -24 -25 -25 -25 -24 -22 -20 -18 -17 -17 -20 -23 -26 -25 -22 -20 -19 -18 -18 -19 -20 -23 -25 -26 -27 -23 -22 -24 -24 -24 -23 -23 -24 -23 -21 -20 -18 -17 -17 -17 -16 -15 -15 -17 -18 -19 -19 -19 -19 -18 -18 -19 -19 -18 -18 -17 -17 -17 -18 -20 -22 -22 -21 -19 -17 -19 -19 -18 -16 -16 -16 -19 -21 -22 -20 -20 -20 -21 -22 -20 -20 -21 -22 -22 -22 -22 -21 -22 -3 -3 -4 -5 -4 -2 -1 -0 -0 -1 -2 -3 -4 -5 -5 -3 -2 -3 -5 -7 -7 -7 -7 -7 -8 -8 -7 -7 -6 -6 -1 2 3 -0 -4 -5 -4 -1 2 3 3 2 -1 -3 -4 -4 -3 -2 -2 -1 -0 1 2 3 3 3 3 3 2 1 1 3 4 5 5 6 7 8 7 6 4 2 -0 -1 -2 -3 -3 -4 -4 -3 -1 -0 -1 -2 -4 -3 -1 3 6 5 4 3 4 4 5 6 7 8 6 2 -3 -8 -13 -11 -8 -6 -8 -10 -9 -8 -7 -6 -4 -2 -0 1 1 -0 -2 -3 -2 -1 -1 -0 -1 -3 -6 -7 -5 -2 -2 -1 -0 -0 -3 -7 -11 -14 -15 -13 -9 -5 -3 -6 -8 -10 -9 -8 -7 -7 -8 -10 -9 -8 -7 -7 -8 -9 -10 -10 -8 -6 -5 -5 -6 -8 -9 -11 -12 -12 -12 -11 -10 -9 -8 -8 -9 -9 -9 -9 -9 -11 -12 -12 -13 -13 -13 -15 -18 -18 -16 -13 -10 -7 -6 -6 -7 -10 -12 -12 -10 -8 -6 -5 -5 -7 -8 -9 -9 -7 -5 -4 -4 -5 -9 -13 -17 -20 -22 -22 -19 -13 -5 -2 -6 -10 -13 -14 -16 -17 -15 -10 -4 -4 -6 -8 -9 -10 -9 -8 -7 -9 -11 -12 -12 -12 -14 -16 -17 -17 -14 -9 -5 -3 -5 -8 -11 -14 -17 -20 -20 -18 -15 -15 -17 -19 -20 -20 -19 -19 -19 -20 -22 -22 -22 -21 -23 -24 -24 -24 -23 -23 -23 -23 -23 -25 -26 -26 -24 -23 -23 -23 -22 -22 -23 -23 -23 -24 -24 -25 -25 -25 -26 -27 -27 -26 -26 -25 -24 -22 -20 -20 -21 -23 -24 -24 -22 -20 -21 -22 -23 -23 -23 -24 -24 -25 -25 -25 -25 -24 -21 -19 -17 -16 -18 -23 -26 -25 -22 -20 -18 -18 -19 -19 -20 -21 -24 -26 -28 -23 -23 -25 -26 -25 -24 -24 -25 -25 -24 -22 -21 -19 -19 -19 -18 -16 -15 -16 -17 -18 -18 -18 -19 -19 -18 -18 -18 -18 -18 -18 -17 -17 -19 -21 -22 -21 -20 -18 -17 -17 -17 -17 -17 -17 -18 -20 -23 -22 -20 -20 -20 -20 -22 -21 -21 -22 -23 -24 -24 -23 -22 -23 -3 -4 -5 -5 -4 -2 -0 -0 -0 -1 -2 -3 -4 -5 -5 -5 -4 -4 -6 -7 -7 -7 -7 -7 -8 -9 -8 -8 -7 -5 1 3 1 -2 -5 -6 -4 -1 2 3 3 1 -1 -3 -4 -4 -4 -4 -4 -2 -0 3 3 3 4 4 5 4 2 1 2 3 5 7 8 8 7 6 6 5 3 3 2 -0 -2 -3 -4 -5 -4 -2 -0 1 1 -0 -3 -4 -3 -0 4 6 6 6 4 4 5 6 7 7 5 2 -4 -10 -14 -12 -8 -5 -7 -8 -9 -8 -6 -6 -6 -5 -4 -3 -1 -1 -2 -3 -4 -5 -4 -2 -0 -1 -2 -4 -4 -3 -3 -3 -3 -3 -4 -7 -10 -14 -16 -16 -12 -8 -5 -5 -6 -8 -9 -8 -8 -8 -8 -9 -9 -9 -8 -8 -8 -8 -9 -11 -10 -8 -5 -3 -4 -5 -6 -9 -12 -13 -13 -11 -10 -10 -9 -9 -9 -9 -8 -7 -8 -9 -11 -12 -13 -13 -13 -14 -17 -19 -18 -16 -13 -10 -7 -5 -5 -8 -11 -13 -12 -11 -9 -7 -5 -5 -7 -9 -10 -10 -8 -6 -5 -5 -8 -10 -14 -16 -18 -21 -22 -19 -12 -4 -2 -3 -7 -10 -14 -17 -18 -15 -8 -5 -4 -6 -7 -8 -7 -6 -6 -9 -10 -12 -13 -13 -14 -16 -18 -18 -15 -11 -7 -4 -3 -6 -10 -14 -17 -19 -19 -17 -14 -13 -16 -18 -19 -19 -19 -19 -19 -21 -23 -22 -21 -21 -21 -23 -24 -24 -24 -24 -24 -24 -24 -26 -27 -27 -25 -24 -22 -22 -21 -22 -23 -23 -23 -24 -24 -24 -25 -25 -25 -26 -26 -26 -26 -25 -24 -21 -19 -17 -18 -22 -24 -25 -23 -22 -22 -23 -24 -24 -24 -24 -24 -25 -25 -26 -26 -25 -22 -19 -17 -16 -18 -22 -25 -24 -21 -20 -19 -19 -20 -20 -19 -20 -23 -26 -27 -24 -25 -27 -26 -25 -25 -25 -25 -25 -24 -23 -21 -20 -19 -19 -19 -18 -17 -15 -15 -17 -17 -17 -19 -20 -18 -18 -19 -19 -18 -17 -17 -18 -21 -23 -22 -20 -18 -18 -17 -16 -16 -17 -18 -18 -19 -20 -21 -20 -20 -20 -20 -20 -20 -21 -21 -22 -23 -25 -25 -25 -24 -24 -4 -5 -6 -6 -4 -2 -0 -0 -1 -2 -2 -2 -3 -5 -6 -6 -5 -6 -6 -7 -7 -7 -6 -7 -8 -9 -8 -8 -6 -2 3 3 -0 -3 -4 -5 -4 -1 2 3 3 1 -1 -3 -3 -4 -4 -5 -5 -3 -0 2 2 2 3 5 5 5 2 1 2 4 7 9 11 11 9 6 4 2 2 2 3 2 -0 -2 -5 -6 -5 -3 -2 -1 -0 -0 -1 -1 -1 -0 2 4 5 5 5 5 5 6 6 7 6 2 -3 -10 -14 -12 -8 -5 -6 -9 -9 -7 -3 -2 -3 -4 -4 -4 -3 -2 -2 -3 -4 -5 -5 -4 -1 1 -0 -1 -3 -3 -3 -4 -4 -6 -6 -7 -8 -8 -10 -11 -12 -13 -11 -8 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -8 -10 -11 -9 -6 -3 -3 -3 -5 -7 -10 -14 -14 -13 -11 -10 -10 -9 -9 -8 -8 -7 -7 -8 -10 -11 -12 -13 -14 -15 -17 -19 -19 -18 -15 -12 -9 -7 -5 -7 -10 -12 -12 -12 -11 -9 -6 -4 -5 -7 -9 -10 -10 -8 -7 -6 -6 -7 -10 -13 -16 -21 -24 -24 -20 -9 -2 1 -2 -7 -11 -14 -17 -17 -12 -6 -3 -2 -5 -6 -6 -6 -6 -7 -9 -11 -13 -13 -14 -16 -17 -17 -14 -12 -10 -7 -4 -6 -10 -14 -17 -18 -19 -17 -13 -13 -15 -17 -19 -20 -19 -19 -19 -21 -23 -22 -21 -20 -20 -21 -23 -24 -25 -25 -25 -25 -25 -26 -27 -28 -27 -24 -22 -21 -21 -22 -23 -23 -24 -24 -24 -24 -24 -24 -25 -26 -26 -27 -27 -25 -23 -21 -18 -17 -18 -22 -25 -26 -25 -23 -23 -23 -24 -25 -25 -25 -25 -25 -25 -25 -25 -23 -21 -20 -19 -19 -19 -21 -23 -22 -20 -20 -19 -19 -19 -19 -18 -19 -22 -26 -27 -26 -26 -27 -27 -26 -25 -24 -24 -24 -24 -23 -21 -20 -19 -19 -18 -18 -17 -15 -15 -16 -16 -17 -19 -20 -19 -19 -19 -19 -17 -17 -17 -19 -21 -24 -21 -20 -19 -19 -17 -16 -15 -17 -18 -19 -19 -19 -21 -19 -19 -19 -21 -21 -20 -20 -21 -22 -23 -25 -26 -26 -25 -25 -5 -5 -6 -6 -4 -2 -0 -0 -1 -1 -1 -1 -2 -5 -6 -7 -7 -7 -7 -7 -7 -7 -6 -7 -8 -9 -8 -6 -3 1 3 2 -0 -2 -3 -5 -4 -2 2 3 2 -0 -2 -3 -3 -4 -5 -5 -3 -1 1 2 2 2 3 3 3 3 2 1 2 4 6 8 9 10 9 6 3 2 1 2 2 2 2 -1 -3 -4 -5 -4 -3 -3 -3 -2 -1 -0 1 2 2 3 4 5 5 4 5 5 6 6 6 3 -3 -8 -12 -11 -8 -5 -6 -7 -8 -6 -2 -0 -0 -1 -2 -3 -4 -4 -3 -3 -3 -4 -5 -4 -3 -2 -2 -2 -2 -1 -0 -0 -2 -6 -7 -8 -7 -7 -7 -9 -12 -15 -16 -13 -10 -7 -6 -5 -6 -7 -7 -7 -7 -9 -9 -9 -8 -8 -8 -10 -11 -10 -8 -5 -4 -3 -4 -5 -9 -14 -16 -15 -11 -8 -10 -9 -8 -8 -7 -6 -6 -7 -9 -11 -12 -12 -13 -15 -17 -19 -19 -18 -17 -15 -12 -9 -6 -6 -8 -10 -10 -11 -11 -9 -7 -5 -5 -5 -7 -9 -10 -10 -9 -7 -5 -5 -7 -10 -14 -19 -24 -26 -23 -15 -6 -1 -0 -3 -7 -11 -14 -18 -16 -11 -6 -3 -3 -6 -6 -6 -5 -5 -7 -10 -12 -12 -13 -14 -15 -14 -12 -12 -11 -9 -7 -8 -10 -12 -14 -17 -18 -18 -16 -15 -16 -17 -19 -20 -20 -19 -19 -20 -22 -22 -22 -21 -20 -20 -21 -24 -26 -26 -26 -26 -25 -26 -27 -27 -26 -24 -22 -21 -21 -22 -22 -23 -24 -24 -24 -24 -24 -24 -25 -26 -26 -27 -27 -26 -23 -20 -19 -19 -21 -24 -26 -27 -27 -24 -24 -24 -25 -25 -24 -24 -24 -24 -24 -25 -25 -23 -21 -22 -23 -23 -22 -22 -22 -21 -20 -20 -19 -19 -18 -17 -16 -18 -22 -26 -25 -26 -26 -27 -27 -27 -25 -23 -22 -23 -23 -22 -20 -20 -19 -19 -18 -17 -15 -15 -15 -16 -16 -17 -19 -20 -20 -19 -19 -18 -17 -17 -17 -19 -21 -24 -22 -21 -20 -20 -19 -17 -16 -16 -18 -19 -19 -19 -20 -19 -18 -18 -20 -21 -21 -22 -22 -23 -24 -26 -27 -26 -25 -24 -5 -6 -6 -5 -3 -1 -1 -1 -1 -1 -1 -1 -2 -5 -6 -7 -7 -7 -7 -8 -8 -8 -7 -7 -8 -10 -7 -4 -1 2 2 2 1 -0 -3 -5 -4 -3 -0 1 1 -0 -2 -2 -3 -4 -5 -4 -1 1 2 2 2 2 1 -0 -1 -0 1 2 2 3 4 6 6 6 6 5 3 1 1 1 1 1 -0 -0 -2 -2 -3 -2 -1 -2 -3 -2 -1 1 2 3 3 3 4 4 4 4 5 6 7 7 5 2 -3 -8 -11 -11 -8 -6 -6 -6 -7 -6 -2 1 1 -0 -0 -0 -2 -3 -4 -4 -4 -4 -3 -2 -2 -3 -4 -4 -2 -0 1 2 -0 -3 -5 -7 -8 -8 -7 -7 -9 -13 -18 -18 -15 -10 -6 -3 -4 -6 -7 -6 -6 -6 -8 -8 -9 -8 -8 -9 -11 -11 -10 -7 -4 -2 -2 -5 -8 -14 -18 -16 -10 -6 -8 -9 -8 -7 -7 -6 -6 -6 -8 -11 -12 -13 -13 -15 -16 -18 -19 -19 -18 -16 -13 -11 -9 -8 -8 -8 -9 -8 -8 -8 -8 -8 -6 -5 -5 -7 -9 -10 -10 -9 -7 -6 -6 -8 -12 -17 -22 -25 -24 -19 -12 -6 -3 -2 -3 -6 -10 -15 -17 -15 -11 -6 -3 -4 -5 -5 -3 -3 -6 -9 -10 -10 -12 -13 -13 -11 -10 -11 -11 -11 -10 -10 -10 -9 -11 -14 -17 -19 -19 -18 -17 -17 -19 -20 -21 -21 -20 -19 -21 -22 -22 -21 -20 -19 -20 -22 -26 -26 -27 -26 -26 -26 -27 -27 -26 -25 -23 -22 -21 -22 -22 -23 -23 -24 -24 -24 -24 -25 -26 -27 -27 -27 -26 -26 -23 -21 -20 -20 -22 -24 -25 -27 -27 -24 -24 -24 -25 -24 -24 -23 -23 -23 -24 -25 -25 -23 -22 -23 -24 -24 -24 -24 -23 -20 -20 -20 -20 -19 -18 -17 -17 -19 -23 -27 -26 -27 -28 -27 -25 -25 -24 -22 -22 -23 -23 -22 -20 -20 -19 -19 -18 -17 -15 -15 -15 -16 -16 -16 -16 -18 -19 -19 -18 -17 -17 -17 -17 -19 -20 -23 -22 -21 -21 -20 -20 -18 -16 -17 -18 -19 -19 -19 -19 -19 -19 -19 -20 -21 -23 -24 -23 -24 -26 -27 -27 -27 -25 -24 -6 -6 -6 -4 -2 -1 -1 -2 -1 -1 -1 -2 -3 -5 -6 -7 -7 -7 -7 -8 -9 -9 -9 -8 -9 -9 -5 -2 -1 -0 1 3 2 -0 -3 -5 -4 -3 -1 -1 -2 -2 -2 -2 -3 -4 -3 -1 1 2 2 2 3 2 -0 -2 -2 -0 2 3 3 2 3 5 5 4 3 3 2 1 1 -0 -1 -2 -2 -2 -2 -1 -1 -0 1 -0 -1 -2 -1 1 2 2 3 3 4 4 4 4 5 6 8 8 6 2 -4 -10 -12 -12 -9 -6 -6 -6 -7 -6 -3 -0 1 1 1 1 -0 -1 -3 -4 -4 -4 -3 -2 -1 -2 -3 -5 -4 -2 -0 -0 -0 -2 -3 -6 -9 -10 -8 -6 -7 -10 -14 -17 -17 -14 -9 -4 -3 -4 -6 -6 -4 -4 -5 -8 -8 -8 -8 -8 -10 -12 -13 -11 -6 -2 -1 -3 -7 -14 -17 -15 -8 -4 -6 -8 -8 -7 -8 -8 -7 -6 -7 -10 -12 -13 -14 -14 -15 -16 -18 -20 -19 -17 -15 -13 -11 -10 -9 -8 -8 -7 -6 -6 -7 -8 -8 -7 -6 -6 -8 -9 -11 -11 -9 -7 -6 -6 -10 -15 -19 -22 -24 -20 -16 -12 -8 -5 -3 -3 -6 -11 -15 -16 -14 -11 -5 -4 -4 -4 -3 -4 -7 -9 -10 -10 -12 -12 -12 -10 -9 -10 -10 -12 -12 -12 -10 -7 -8 -11 -15 -18 -19 -19 -18 -17 -18 -21 -22 -21 -19 -18 -19 -21 -22 -21 -20 -19 -19 -20 -24 -26 -27 -27 -26 -26 -27 -27 -26 -25 -24 -23 -22 -22 -22 -22 -23 -24 -24 -24 -25 -26 -27 -27 -27 -26 -26 -25 -23 -21 -21 -21 -21 -22 -23 -25 -25 -23 -23 -24 -23 -23 -23 -22 -21 -23 -24 -25 -25 -24 -23 -22 -23 -23 -24 -25 -24 -22 -21 -22 -21 -19 -18 -19 -21 -23 -26 -27 -28 -28 -28 -27 -23 -23 -23 -23 -22 -23 -23 -21 -18 -19 -20 -20 -19 -18 -16 -16 -17 -16 -16 -15 -15 -16 -17 -18 -17 -17 -17 -17 -17 -19 -20 -22 -22 -22 -22 -21 -21 -20 -17 -18 -18 -19 -20 -20 -18 -19 -20 -20 -22 -21 -22 -23 -24 -24 -25 -27 -27 -27 -26 -24 -6 -6 -5 -4 -2 -2 -2 -1 -1 -1 -1 -3 -3 -5 -6 -7 -7 -7 -7 -7 -9 -10 -10 -9 -8 -6 -3 -2 -1 -0 3 3 1 -2 -4 -4 -4 -3 -3 -4 -4 -4 -3 -3 -3 -2 -1 2 2 1 1 1 2 1 -0 -1 -0 1 3 4 3 2 3 4 5 4 3 2 1 -0 -0 -1 -2 -2 -2 -2 -2 -1 -1 1 2 2 1 -0 -0 1 1 2 2 3 3 4 5 5 6 8 10 10 8 3 -4 -12 -16 -14 -10 -6 -5 -6 -7 -6 -4 -1 -0 -0 -1 -0 1 -0 -1 -2 -2 -3 -3 -2 -0 1 -1 -3 -5 -4 -2 -1 -1 -3 -4 -6 -9 -12 -11 -9 -8 -8 -10 -14 -17 -17 -13 -7 -3 -2 -4 -5 -4 -4 -4 -6 -7 -8 -8 -8 -8 -10 -11 -12 -9 -3 -0 -0 -3 -11 -15 -14 -8 -3 -5 -6 -7 -8 -9 -9 -8 -7 -7 -8 -10 -12 -13 -13 -14 -15 -17 -20 -20 -19 -17 -15 -12 -11 -10 -10 -8 -7 -6 -5 -5 -7 -7 -7 -6 -6 -7 -9 -11 -11 -11 -10 -7 -6 -8 -11 -15 -19 -21 -19 -17 -15 -12 -9 -6 -5 -5 -8 -12 -14 -15 -13 -8 -6 -5 -4 -3 -3 -4 -7 -9 -10 -11 -11 -10 -10 -8 -8 -9 -11 -14 -14 -12 -7 -6 -9 -13 -16 -18 -20 -19 -18 -18 -21 -22 -21 -19 -18 -19 -21 -22 -21 -21 -19 -19 -19 -22 -25 -26 -27 -26 -26 -26 -26 -26 -26 -25 -24 -23 -22 -22 -22 -22 -23 -23 -24 -25 -27 -28 -28 -27 -26 -25 -23 -22 -22 -21 -21 -20 -20 -22 -23 -23 -22 -22 -22 -22 -22 -21 -20 -20 -22 -23 -24 -25 -25 -24 -22 -22 -23 -25 -26 -26 -25 -25 -24 -22 -20 -19 -22 -24 -25 -26 -27 -27 -27 -27 -26 -23 -22 -22 -22 -22 -23 -22 -20 -18 -20 -21 -21 -20 -18 -16 -16 -17 -17 -16 -15 -15 -16 -16 -18 -18 -18 -18 -17 -17 -19 -20 -22 -22 -22 -22 -22 -23 -22 -20 -18 -18 -19 -21 -20 -19 -20 -21 -21 -22 -21 -21 -23 -25 -23 -25 -27 -27 -27 -26 -24 -6 -6 -4 -3 -2 -2 -1 -1 -0 -0 -2 -4 -5 -6 -7 -7 -7 -7 -6 -7 -9 -11 -10 -9 -6 -4 -2 -2 -2 -0 3 3 1 -2 -4 -3 -2 -3 -4 -6 -6 -5 -4 -3 -3 -2 -0 2 2 1 -0 -1 -2 -1 -0 2 3 4 4 4 3 3 4 4 4 4 3 1 -1 -2 -2 -2 -1 -1 -0 -1 -1 -2 -1 -0 1 2 2 2 2 1 1 1 1 2 3 5 5 6 7 10 12 13 11 6 -3 -13 -18 -17 -11 -5 -2 -4 -6 -7 -6 -3 -2 -2 -3 -3 -2 -0 -0 -0 -0 -1 -2 -2 -1 1 1 -0 -3 -4 -4 -4 -4 -6 -7 -7 -8 -12 -14 -13 -11 -8 -9 -12 -16 -18 -14 -8 -4 -3 -4 -5 -5 -5 -4 -4 -6 -8 -8 -8 -7 -8 -10 -12 -12 -9 -4 -1 -1 -6 -11 -11 -7 -3 -4 -5 -6 -8 -9 -10 -10 -10 -8 -7 -8 -9 -11 -12 -13 -14 -16 -19 -20 -20 -20 -18 -14 -11 -10 -11 -10 -9 -7 -6 -5 -5 -6 -6 -6 -6 -7 -8 -10 -11 -12 -12 -10 -8 -8 -9 -12 -16 -19 -18 -17 -16 -14 -12 -11 -9 -8 -7 -8 -12 -15 -15 -11 -8 -7 -7 -7 -5 -4 -5 -8 -9 -10 -9 -8 -7 -6 -6 -7 -10 -15 -17 -15 -10 -7 -8 -10 -13 -17 -20 -20 -19 -19 -21 -22 -22 -21 -20 -20 -21 -22 -22 -22 -20 -19 -18 -19 -22 -24 -25 -26 -26 -26 -26 -26 -26 -25 -24 -24 -23 -22 -22 -21 -21 -23 -24 -25 -27 -27 -28 -28 -27 -24 -21 -21 -22 -22 -20 -19 -19 -21 -23 -21 -21 -20 -21 -21 -22 -20 -19 -19 -20 -22 -23 -25 -26 -24 -23 -22 -25 -26 -27 -28 -28 -28 -27 -25 -23 -21 -22 -23 -23 -23 -25 -25 -25 -25 -25 -24 -23 -22 -22 -21 -21 -21 -21 -20 -20 -20 -21 -20 -17 -17 -17 -17 -16 -15 -15 -15 -15 -17 -18 -19 -18 -18 -18 -18 -19 -20 -22 -22 -23 -22 -22 -23 -23 -21 -19 -18 -18 -20 -19 -20 -21 -22 -22 -22 -21 -20 -21 -24 -23 -24 -27 -28 -28 -26 -24 -6 -4 -3 -3 -2 -2 -1 -0 1 -0 -3 -5 -6 -7 -8 -8 -7 -7 -6 -7 -10 -11 -10 -7 -4 -2 -2 -2 -1 -0 3 2 -0 -2 -3 -1 -1 -3 -5 -8 -7 -5 -4 -3 -2 -1 -0 1 1 -0 -1 -3 -4 -2 -0 3 5 4 3 3 3 4 5 5 4 3 2 -0 -2 -5 -6 -5 -3 -1 1 1 -0 -1 -2 -1 -1 -0 1 1 2 1 1 1 1 1 2 4 5 6 8 10 13 15 14 9 -0 -10 -18 -17 -11 -2 2 1 -2 -5 -7 -6 -5 -6 -7 -6 -5 -3 -1 -0 1 -0 -1 -2 -3 -1 -0 1 -0 -2 -3 -5 -7 -10 -11 -10 -9 -10 -13 -15 -14 -12 -10 -12 -15 -17 -13 -8 -5 -4 -4 -5 -6 -6 -5 -4 -5 -6 -8 -9 -7 -6 -7 -10 -13 -12 -10 -6 -3 -4 -7 -8 -6 -3 -3 -4 -5 -7 -8 -10 -11 -11 -11 -10 -9 -9 -9 -11 -12 -14 -16 -17 -19 -21 -21 -20 -16 -12 -10 -11 -11 -10 -9 -7 -6 -5 -5 -5 -4 -4 -6 -8 -10 -11 -12 -12 -13 -12 -10 -10 -11 -12 -14 -15 -16 -16 -16 -13 -13 -12 -12 -8 -7 -9 -13 -14 -12 -10 -10 -11 -11 -8 -6 -5 -7 -8 -9 -8 -6 -5 -4 -4 -6 -9 -14 -18 -18 -12 -9 -8 -9 -11 -16 -19 -20 -20 -20 -21 -22 -22 -21 -21 -21 -21 -22 -23 -22 -21 -20 -18 -19 -19 -21 -22 -24 -24 -24 -25 -25 -26 -25 -25 -24 -24 -23 -22 -21 -21 -22 -23 -25 -26 -27 -28 -28 -27 -24 -21 -21 -22 -23 -21 -19 -19 -21 -22 -21 -20 -19 -20 -21 -21 -21 -19 -19 -19 -21 -23 -25 -26 -25 -23 -23 -26 -26 -27 -27 -27 -29 -29 -27 -26 -25 -22 -21 -20 -21 -21 -22 -22 -22 -24 -24 -24 -23 -22 -21 -20 -20 -21 -21 -20 -20 -20 -20 -18 -17 -16 -16 -16 -16 -15 -15 -16 -18 -19 -19 -19 -18 -18 -19 -19 -20 -20 -21 -23 -22 -21 -22 -22 -20 -18 -17 -18 -18 -18 -20 -21 -21 -21 -21 -20 -20 -20 -21 -22 -24 -26 -28 -28 -27 -25 -6 -3 -2 -3 -3 -2 -1 -0 1 -1 -3 -5 -7 -9 -9 -9 -8 -8 -7 -8 -10 -11 -8 -4 -1 -1 -3 -2 -1 1 2 -0 -1 -1 -1 1 -1 -3 -6 -8 -7 -5 -3 -2 -2 -1 -1 -1 -2 -3 -4 -4 -3 -0 2 2 3 3 3 3 3 4 5 5 4 2 -0 -2 -4 -6 -7 -6 -4 -1 1 1 -0 -1 -2 -2 -1 -0 -0 1 1 1 -0 -0 -0 1 2 4 5 6 8 10 12 15 14 10 4 -3 -10 -11 -7 1 6 6 3 -0 -4 -6 -7 -8 -7 -7 -6 -5 -3 -0 1 2 1 -0 -2 -3 -4 -4 -3 -2 -3 -5 -8 -12 -14 -13 -9 -8 -11 -14 -16 -16 -14 -13 -13 -13 -12 -9 -6 -4 -3 -4 -6 -7 -7 -5 -4 -5 -6 -8 -7 -6 -6 -8 -11 -13 -13 -11 -8 -6 -6 -6 -5 -3 -3 -4 -5 -6 -7 -8 -10 -12 -13 -12 -10 -8 -7 -8 -11 -13 -16 -17 -19 -20 -21 -21 -19 -15 -11 -9 -10 -11 -10 -9 -8 -7 -5 -4 -4 -3 -4 -7 -10 -11 -11 -12 -13 -14 -13 -12 -10 -9 -10 -12 -15 -16 -16 -15 -14 -14 -14 -13 -10 -9 -10 -10 -9 -10 -11 -13 -14 -11 -8 -5 -6 -7 -8 -6 -4 -5 -4 -3 -4 -7 -14 -19 -20 -15 -11 -8 -8 -11 -15 -17 -19 -20 -21 -22 -22 -22 -20 -20 -21 -22 -22 -22 -22 -21 -20 -19 -19 -19 -19 -20 -22 -23 -24 -24 -25 -25 -26 -25 -25 -24 -23 -22 -22 -22 -22 -23 -24 -24 -26 -27 -28 -27 -24 -21 -21 -22 -23 -21 -19 -20 -22 -22 -22 -21 -19 -19 -20 -21 -21 -21 -20 -20 -21 -22 -24 -25 -25 -24 -24 -25 -24 -24 -24 -24 -27 -27 -27 -26 -26 -23 -21 -19 -19 -19 -19 -19 -20 -21 -23 -24 -25 -22 -21 -20 -19 -21 -22 -21 -20 -20 -20 -18 -16 -16 -16 -15 -15 -16 -17 -18 -19 -20 -20 -19 -19 -19 -19 -20 -19 -19 -20 -22 -21 -21 -20 -20 -19 -17 -17 -18 -18 -19 -20 -20 -20 -20 -20 -19 -20 -20 -20 -21 -23 -24 -27 -27 -27 -26 -5 -3 -2 -3 -3 -2 -2 -0 -0 -1 -3 -5 -8 -9 -10 -10 -10 -8 -8 -9 -10 -10 -5 -2 -0 -2 -3 -3 -1 -0 -0 -1 -2 -1 1 2 -0 -4 -7 -8 -7 -4 -1 -1 -1 -0 -0 -2 -5 -6 -5 -3 -0 3 3 3 3 4 5 5 4 4 4 3 2 1 -2 -3 -4 -4 -5 -4 -3 -2 -0 2 2 1 -0 -2 -3 -2 -1 -0 -0 1 -0 -0 -0 2 3 4 4 5 6 8 10 12 11 8 2 -3 -7 -6 -2 3 6 6 6 4 2 -1 -4 -6 -8 -7 -7 -6 -5 -1 2 5 6 6 3 -0 -4 -8 -12 -10 -8 -7 -8 -10 -12 -12 -9 -7 -8 -11 -14 -17 -18 -15 -11 -9 -10 -10 -8 -5 -3 -4 -5 -7 -8 -7 -6 -5 -5 -7 -7 -6 -6 -6 -8 -11 -13 -13 -12 -11 -10 -7 -5 -3 -3 -4 -5 -5 -6 -7 -8 -10 -12 -13 -12 -10 -8 -8 -9 -11 -13 -17 -19 -20 -20 -20 -21 -18 -13 -9 -9 -11 -11 -10 -10 -8 -7 -5 -5 -3 -4 -6 -9 -11 -11 -11 -12 -14 -15 -14 -12 -9 -7 -8 -11 -14 -16 -16 -15 -14 -14 -14 -13 -11 -9 -7 -6 -8 -10 -11 -13 -12 -10 -8 -6 -7 -6 -5 -3 -3 -4 -3 -3 -7 -13 -18 -20 -17 -12 -9 -8 -11 -15 -17 -19 -20 -20 -21 -21 -21 -20 -20 -21 -22 -22 -22 -22 -21 -21 -20 -18 -18 -18 -19 -21 -23 -24 -24 -25 -25 -26 -26 -25 -25 -24 -23 -22 -23 -23 -23 -23 -23 -25 -26 -28 -28 -25 -23 -22 -22 -23 -20 -19 -19 -21 -22 -22 -21 -19 -19 -20 -21 -22 -22 -22 -22 -22 -22 -23 -25 -26 -26 -24 -22 -22 -21 -21 -22 -25 -26 -25 -24 -24 -23 -22 -19 -19 -19 -19 -19 -19 -19 -22 -24 -25 -22 -20 -19 -18 -21 -22 -22 -22 -20 -20 -18 -16 -15 -15 -15 -15 -16 -18 -18 -20 -21 -21 -20 -20 -20 -20 -20 -19 -19 -20 -21 -21 -21 -20 -20 -19 -18 -18 -18 -19 -19 -20 -20 -19 -18 -18 -18 -20 -22 -21 -21 -22 -22 -25 -25 -26 -26 -3 -2 -2 -4 -4 -3 -2 -1 -0 -1 -3 -6 -8 -9 -10 -10 -10 -9 -9 -10 -10 -9 -3 -0 -1 -3 -4 -3 -2 -1 -1 -3 -3 -1 2 2 -1 -4 -6 -7 -6 -4 -1 -0 -0 -0 -0 -1 -5 -6 -5 -3 1 3 5 5 6 6 6 5 4 3 2 1 -0 -0 -2 -3 -4 -3 -3 -2 -2 -2 -1 1 3 3 2 -0 -2 -2 -1 -1 -1 -1 -1 -0 -0 1 2 4 4 4 4 5 6 8 8 6 1 -3 -7 -6 -2 3 5 5 5 4 4 2 -0 -3 -6 -7 -7 -8 -8 -6 -1 5 10 13 11 8 4 -1 -10 -14 -15 -15 -14 -11 -9 -9 -8 -7 -7 -8 -12 -17 -19 -14 -9 -5 -9 -10 -10 -8 -6 -5 -5 -7 -8 -9 -8 -7 -5 -4 -6 -6 -7 -6 -6 -8 -11 -13 -14 -14 -13 -10 -7 -5 -4 -5 -6 -6 -6 -6 -6 -8 -10 -12 -13 -13 -11 -10 -9 -9 -11 -15 -18 -19 -19 -19 -19 -18 -16 -12 -10 -10 -11 -10 -10 -10 -9 -7 -6 -5 -4 -6 -8 -10 -10 -10 -11 -13 -14 -15 -15 -12 -8 -6 -7 -11 -15 -16 -15 -13 -11 -13 -13 -13 -11 -7 -5 -6 -8 -9 -11 -13 -13 -12 -9 -7 -5 -4 -1 -1 -2 -3 -4 -8 -13 -17 -19 -17 -13 -9 -8 -11 -14 -17 -18 -20 -20 -21 -21 -21 -21 -20 -21 -21 -21 -22 -22 -22 -21 -20 -19 -19 -19 -19 -21 -23 -24 -25 -25 -25 -25 -25 -25 -25 -25 -24 -24 -24 -24 -23 -22 -22 -24 -26 -28 -29 -27 -24 -23 -23 -23 -20 -19 -18 -21 -21 -22 -21 -20 -20 -21 -22 -23 -24 -25 -25 -24 -23 -23 -24 -26 -27 -25 -23 -22 -22 -22 -23 -26 -27 -25 -23 -22 -22 -22 -20 -20 -19 -19 -19 -19 -19 -21 -23 -24 -21 -20 -18 -17 -19 -21 -23 -24 -21 -21 -19 -17 -15 -15 -15 -15 -17 -19 -19 -19 -20 -21 -20 -20 -20 -20 -20 -19 -19 -20 -20 -21 -21 -21 -21 -21 -20 -20 -19 -19 -19 -20 -20 -19 -18 -18 -18 -19 -22 -22 -22 -22 -21 -23 -24 -24 -26 -2 -2 -2 -4 -3 -3 -2 -2 -1 -2 -4 -6 -9 -9 -10 -10 -10 -10 -10 -11 -11 -8 -2 -1 -1 -3 -4 -4 -3 -2 -2 -4 -3 -0 2 2 -1 -3 -5 -5 -5 -4 -2 -0 -1 -0 -0 -1 -3 -4 -3 -1 1 3 6 7 8 7 6 5 3 2 -1 -2 -2 -2 -2 -3 -3 -4 -4 -3 -2 -2 -2 -1 1 3 4 3 -0 -1 -1 -1 -2 -3 -2 -1 -1 -1 -0 1 2 2 3 3 4 5 6 5 2 -1 -5 -6 -5 -0 3 4 3 2 3 3 2 1 -2 -5 -7 -8 -10 -11 -7 -1 6 10 12 12 10 7 -0 -8 -14 -17 -18 -12 -9 -7 -6 -4 -5 -8 -10 -13 -15 -11 -6 -3 -7 -9 -10 -10 -10 -9 -8 -7 -8 -9 -10 -8 -5 -4 -4 -6 -7 -8 -6 -6 -7 -10 -12 -13 -13 -12 -10 -7 -5 -6 -7 -7 -6 -5 -5 -6 -8 -10 -12 -13 -13 -12 -11 -9 -9 -13 -16 -18 -18 -18 -18 -18 -18 -14 -11 -10 -10 -10 -9 -9 -9 -8 -8 -7 -6 -6 -7 -9 -10 -10 -11 -11 -13 -15 -17 -15 -10 -7 -6 -8 -12 -14 -15 -13 -10 -11 -13 -13 -12 -8 -6 -6 -8 -9 -11 -13 -14 -14 -11 -8 -5 -3 -1 -0 -0 -2 -5 -8 -12 -14 -16 -16 -13 -11 -10 -12 -15 -17 -18 -20 -20 -20 -20 -21 -21 -20 -20 -20 -21 -21 -22 -22 -21 -21 -20 -20 -20 -20 -21 -22 -23 -23 -24 -24 -25 -25 -24 -24 -25 -25 -25 -25 -25 -24 -23 -22 -23 -25 -27 -29 -28 -25 -23 -24 -24 -21 -19 -18 -20 -21 -22 -21 -21 -21 -22 -24 -24 -25 -26 -27 -28 -26 -24 -24 -25 -27 -27 -24 -23 -23 -25 -27 -29 -29 -27 -22 -21 -22 -22 -22 -21 -20 -20 -19 -20 -20 -20 -22 -23 -23 -21 -19 -17 -17 -20 -23 -25 -23 -21 -20 -18 -17 -16 -16 -16 -17 -19 -19 -19 -20 -20 -21 -20 -20 -21 -20 -19 -19 -20 -20 -21 -21 -21 -21 -22 -21 -20 -20 -20 -20 -21 -22 -21 -21 -19 -18 -18 -20 -21 -22 -23 -21 -23 -24 -25 -26 -1 -2 -3 -3 -3 -3 -3 -2 -2 -3 -5 -6 -9 -9 -10 -11 -11 -11 -11 -11 -10 -7 -2 -1 -2 -3 -3 -3 -3 -3 -4 -4 -3 -0 2 -0 -2 -3 -3 -4 -4 -4 -3 -2 -2 -2 -2 -3 -3 -2 -1 1 2 3 6 8 9 8 6 4 2 -0 -3 -4 -3 -2 -1 -2 -4 -5 -6 -5 -4 -3 -3 -3 -2 1 4 4 3 1 -0 -0 -2 -2 -2 -2 -2 -2 -2 -1 -0 1 1 2 2 3 3 4 3 1 -2 -5 -6 -4 -0 2 2 1 1 2 2 2 1 -3 -4 -6 -9 -11 -11 -8 -2 4 7 8 7 6 3 -2 -8 -12 -15 -11 -8 -5 -4 -2 -4 -6 -10 -13 -12 -8 -4 -2 -4 -6 -8 -9 -11 -12 -11 -9 -8 -9 -10 -10 -7 -4 -2 -4 -7 -9 -8 -6 -6 -7 -10 -11 -12 -13 -12 -9 -7 -6 -8 -8 -7 -6 -5 -5 -6 -7 -9 -11 -13 -13 -13 -11 -10 -11 -14 -17 -18 -17 -17 -17 -18 -16 -14 -12 -10 -10 -9 -9 -8 -8 -8 -7 -7 -7 -7 -9 -10 -11 -10 -10 -11 -13 -16 -15 -13 -10 -7 -7 -9 -12 -14 -13 -10 -10 -11 -13 -12 -9 -7 -6 -7 -9 -12 -14 -14 -14 -12 -9 -6 -3 -1 1 1 -1 -4 -7 -10 -11 -14 -15 -14 -13 -12 -14 -16 -17 -18 -19 -19 -20 -20 -20 -20 -19 -19 -19 -20 -20 -21 -22 -22 -22 -21 -21 -21 -21 -21 -21 -21 -22 -22 -23 -24 -25 -25 -26 -27 -27 -27 -26 -25 -24 -23 -23 -23 -24 -26 -28 -27 -24 -22 -24 -24 -22 -19 -18 -19 -20 -21 -21 -21 -21 -23 -25 -25 -24 -26 -28 -30 -30 -26 -24 -24 -26 -27 -25 -24 -24 -27 -29 -29 -27 -26 -22 -21 -22 -22 -22 -22 -21 -21 -20 -20 -20 -21 -24 -27 -26 -24 -21 -18 -18 -19 -22 -24 -24 -23 -21 -19 -18 -18 -17 -17 -18 -18 -18 -18 -18 -19 -21 -21 -21 -20 -20 -19 -20 -20 -20 -21 -21 -21 -23 -24 -23 -21 -21 -21 -21 -22 -24 -24 -22 -21 -19 -19 -19 -20 -22 -23 -22 -24 -26 -28 -27 -2 -3 -4 -4 -4 -3 -3 -3 -2 -4 -6 -8 -9 -9 -10 -12 -13 -13 -12 -11 -9 -6 -3 -3 -3 -3 -3 -3 -3 -3 -5 -5 -3 -1 -0 -1 -2 -2 -2 -3 -4 -5 -5 -4 -4 -4 -4 -3 -2 -1 1 3 4 4 6 8 9 8 6 4 2 -1 -3 -4 -3 -1 -0 -2 -5 -7 -7 -6 -4 -3 -3 -3 -3 -1 2 4 4 3 1 -0 -0 -0 -0 -0 -1 -1 -1 -1 -0 -0 -0 1 2 2 1 2 2 -0 -2 -5 -7 -6 -2 1 2 2 2 2 1 1 -0 -1 -2 -3 -4 -7 -11 -11 -7 -2 1 1 -0 -3 -4 -5 -6 -8 -11 -10 -8 -6 -4 -3 -3 -5 -10 -15 -12 -7 -3 -2 -3 -4 -5 -7 -10 -12 -12 -11 -10 -10 -10 -10 -9 -6 -4 -3 -5 -9 -10 -9 -8 -7 -8 -9 -10 -12 -12 -9 -7 -7 -8 -8 -9 -8 -6 -5 -5 -6 -7 -9 -10 -12 -12 -12 -11 -12 -13 -15 -17 -17 -16 -16 -17 -17 -15 -13 -11 -10 -9 -8 -8 -7 -7 -7 -7 -8 -8 -10 -11 -11 -10 -8 -9 -11 -13 -13 -13 -12 -10 -8 -8 -10 -11 -12 -11 -10 -10 -12 -13 -11 -9 -8 -8 -9 -12 -14 -14 -13 -12 -10 -8 -4 -2 -1 -0 -1 -5 -7 -8 -9 -12 -14 -15 -14 -13 -14 -16 -17 -18 -19 -19 -20 -20 -20 -19 -19 -19 -19 -19 -19 -20 -21 -22 -22 -23 -22 -22 -21 -21 -21 -21 -21 -21 -22 -23 -24 -26 -27 -28 -29 -28 -27 -26 -25 -24 -24 -23 -23 -23 -25 -24 -22 -21 -22 -23 -22 -20 -19 -20 -20 -20 -20 -21 -22 -24 -25 -25 -24 -25 -27 -29 -30 -27 -24 -23 -25 -27 -26 -25 -24 -27 -28 -27 -25 -24 -22 -21 -22 -22 -22 -22 -22 -22 -21 -20 -21 -23 -27 -30 -29 -26 -22 -20 -19 -19 -21 -23 -25 -25 -23 -20 -20 -19 -19 -18 -18 -17 -17 -16 -17 -19 -21 -22 -20 -20 -19 -19 -20 -20 -21 -21 -22 -22 -24 -24 -23 -22 -22 -21 -21 -22 -24 -23 -22 -21 -20 -19 -19 -20 -21 -23 -25 -26 -27 -28 -28 -2 -4 -4 -4 -4 -4 -3 -3 -3 -4 -6 -8 -8 -8 -10 -12 -14 -14 -13 -12 -9 -6 -4 -4 -4 -3 -3 -3 -3 -4 -5 -5 -3 -2 -2 -2 -2 -2 -1 -1 -3 -5 -6 -6 -5 -4 -2 -1 -0 1 3 5 5 5 5 6 8 8 7 4 2 -1 -1 -1 -1 -0 -0 -3 -6 -9 -9 -6 -5 -3 -3 -3 -2 -1 -0 1 2 2 1 -1 1 3 4 4 3 2 1 1 2 3 2 2 2 2 2 1 -0 -1 -3 -5 -7 -6 -2 2 3 3 3 2 1 -1 -2 -2 -1 -0 -0 -3 -7 -10 -9 -5 -1 -2 -6 -10 -12 -11 -10 -9 -10 -11 -11 -9 -7 -5 -4 -6 -10 -14 -12 -6 -2 -2 -2 -3 -4 -5 -6 -9 -11 -11 -11 -11 -10 -10 -10 -8 -6 -4 -4 -6 -8 -9 -9 -7 -6 -6 -7 -9 -10 -9 -8 -7 -7 -8 -9 -9 -9 -8 -8 -7 -7 -7 -7 -8 -10 -12 -13 -13 -13 -14 -16 -16 -15 -14 -15 -16 -15 -13 -12 -10 -9 -8 -7 -7 -7 -7 -7 -6 -7 -9 -10 -11 -10 -9 -9 -9 -11 -12 -12 -13 -12 -11 -8 -8 -10 -12 -12 -9 -9 -9 -12 -11 -10 -9 -9 -10 -12 -14 -15 -12 -11 -10 -9 -6 -3 -2 -2 -2 -4 -6 -9 -11 -12 -12 -12 -13 -13 -13 -15 -17 -18 -18 -19 -20 -20 -20 -19 -19 -19 -18 -18 -19 -19 -20 -22 -23 -23 -23 -22 -22 -21 -21 -20 -21 -21 -22 -22 -24 -26 -27 -28 -30 -30 -28 -27 -26 -25 -24 -22 -21 -22 -23 -22 -20 -20 -20 -22 -22 -22 -21 -21 -20 -20 -19 -20 -23 -24 -24 -25 -24 -25 -25 -27 -27 -26 -23 -22 -23 -25 -26 -25 -24 -25 -25 -24 -22 -23 -22 -22 -22 -22 -22 -22 -23 -22 -21 -21 -22 -24 -29 -31 -30 -27 -22 -21 -20 -20 -21 -23 -27 -28 -27 -24 -22 -21 -20 -20 -18 -17 -16 -16 -16 -18 -20 -21 -20 -20 -18 -18 -20 -21 -21 -22 -22 -22 -23 -22 -21 -20 -22 -21 -20 -20 -23 -22 -21 -20 -19 -19 -18 -19 -20 -24 -26 -27 -27 -28 -28 -2 -4 -5 -5 -5 -5 -4 -4 -4 -5 -6 -7 -7 -7 -9 -12 -14 -15 -14 -12 -10 -7 -6 -5 -4 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -3 -3 -2 -1 -1 -3 -5 -7 -7 -4 -1 -0 1 2 2 4 5 5 5 5 4 5 6 6 4 2 1 1 2 2 1 -0 -4 -7 -9 -9 -6 -5 -4 -3 -3 -2 -1 -1 -1 -1 -1 -2 -2 -2 1 4 6 6 6 6 6 6 6 6 5 3 2 2 2 1 -1 -3 -6 -8 -8 -3 2 5 6 5 5 2 -1 -3 -3 -1 1 2 -0 -4 -7 -8 -6 -2 -2 -5 -9 -13 -12 -11 -11 -12 -15 -16 -15 -11 -8 -8 -9 -10 -10 -8 -5 -3 -2 -2 -3 -3 -2 -3 -6 -8 -9 -10 -11 -11 -10 -10 -10 -9 -6 -4 -4 -6 -7 -8 -8 -7 -6 -5 -6 -8 -8 -8 -6 -6 -7 -9 -10 -10 -9 -9 -9 -8 -7 -6 -6 -7 -10 -12 -12 -12 -13 -14 -14 -14 -14 -13 -14 -14 -14 -13 -12 -11 -9 -7 -6 -6 -6 -6 -5 -5 -7 -9 -10 -11 -10 -10 -9 -10 -11 -11 -12 -12 -12 -11 -10 -10 -12 -11 -9 -7 -7 -9 -11 -11 -10 -9 -10 -12 -15 -16 -13 -10 -9 -10 -8 -5 -4 -3 -3 -4 -6 -8 -11 -12 -11 -10 -10 -13 -13 -15 -17 -18 -18 -18 -19 -19 -19 -18 -18 -18 -18 -18 -18 -18 -19 -21 -23 -24 -24 -23 -23 -21 -20 -20 -21 -22 -22 -23 -23 -25 -27 -28 -30 -30 -29 -28 -27 -26 -24 -22 -20 -22 -23 -21 -19 -19 -19 -22 -23 -25 -24 -22 -20 -19 -19 -20 -22 -23 -23 -24 -24 -24 -23 -23 -23 -23 -22 -22 -22 -23 -25 -26 -24 -23 -22 -22 -22 -22 -22 -22 -22 -22 -22 -22 -23 -23 -23 -23 -24 -25 -28 -30 -30 -27 -23 -22 -21 -22 -23 -24 -27 -29 -29 -27 -24 -22 -21 -21 -19 -18 -17 -16 -17 -18 -19 -20 -20 -19 -19 -19 -20 -21 -22 -22 -21 -21 -21 -20 -19 -18 -21 -22 -21 -21 -24 -24 -22 -20 -19 -18 -17 -17 -18 -24 -26 -27 -28 -28 -28 -2 -4 -5 -6 -6 -5 -5 -4 -5 -5 -6 -7 -7 -7 -8 -11 -14 -15 -14 -13 -10 -7 -7 -6 -5 -4 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -3 -5 -7 -7 -6 -2 -0 1 2 2 4 4 5 5 5 5 5 3 2 1 2 3 3 4 4 3 1 -1 -4 -7 -7 -6 -4 -4 -4 -3 -2 -2 -1 -1 -2 -2 -2 -3 -4 -4 -3 -1 1 3 7 9 10 10 10 9 7 6 5 4 4 3 3 1 -2 -6 -8 -6 -1 4 7 7 6 3 -0 -3 -3 -1 1 2 1 -3 -6 -8 -7 -4 -2 -2 -4 -7 -8 -8 -10 -13 -19 -22 -21 -16 -11 -9 -9 -9 -9 -8 -6 -4 -3 -2 -2 -1 -1 -1 -3 -5 -6 -9 -10 -11 -11 -11 -11 -10 -9 -6 -4 -4 -6 -7 -9 -8 -6 -5 -4 -6 -7 -7 -6 -6 -8 -10 -12 -12 -11 -10 -10 -9 -9 -8 -6 -6 -6 -9 -10 -11 -11 -13 -13 -14 -13 -13 -13 -14 -15 -15 -14 -12 -10 -8 -6 -5 -5 -5 -4 -5 -6 -8 -9 -10 -11 -11 -10 -10 -10 -10 -11 -12 -12 -12 -12 -11 -12 -10 -8 -6 -5 -7 -11 -13 -12 -9 -9 -11 -14 -17 -15 -12 -10 -10 -10 -8 -7 -6 -6 -6 -6 -8 -11 -13 -12 -10 -10 -12 -14 -17 -18 -18 -18 -18 -18 -18 -18 -17 -17 -18 -19 -18 -18 -18 -18 -19 -21 -23 -24 -24 -24 -22 -21 -20 -21 -22 -21 -21 -22 -24 -25 -26 -28 -30 -30 -29 -28 -27 -25 -23 -21 -22 -23 -21 -19 -17 -18 -21 -24 -26 -27 -24 -21 -19 -19 -20 -21 -21 -22 -24 -25 -24 -22 -21 -21 -21 -21 -21 -21 -22 -25 -27 -25 -23 -22 -22 -22 -22 -22 -22 -22 -22 -21 -21 -22 -23 -25 -26 -26 -27 -27 -30 -31 -28 -25 -23 -23 -23 -24 -24 -27 -29 -30 -29 -25 -23 -22 -23 -21 -19 -18 -18 -18 -19 -20 -19 -19 -19 -19 -20 -20 -22 -22 -21 -21 -21 -21 -20 -20 -17 -20 -22 -22 -22 -23 -23 -22 -19 -18 -17 -17 -17 -18 -22 -25 -26 -27 -26 -26 -1 -3 -5 -6 -7 -6 -5 -5 -5 -5 -6 -6 -6 -7 -8 -11 -13 -14 -14 -12 -9 -8 -8 -7 -6 -4 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -2 -2 -2 -4 -7 -7 -6 -4 -1 -1 -0 1 3 4 4 4 5 5 5 4 2 -0 -1 -1 -0 2 3 3 2 -0 -3 -4 -4 -4 -3 -2 -2 -2 -1 -0 -0 -1 -3 -4 -3 -2 -2 -4 -5 -5 -5 -5 -3 -0 5 8 10 11 11 10 9 7 6 4 3 3 4 2 -1 -4 -3 -1 3 6 8 7 5 2 -0 -2 -1 -0 2 1 -1 -4 -7 -9 -8 -5 -4 -4 -5 -5 -5 -7 -10 -15 -20 -23 -21 -13 -8 -7 -8 -10 -10 -9 -7 -5 -4 -2 -1 -0 1 -0 -1 -3 -5 -7 -10 -12 -12 -12 -11 -10 -8 -6 -5 -5 -6 -8 -8 -8 -6 -4 -4 -6 -6 -6 -7 -8 -10 -12 -14 -13 -12 -11 -10 -10 -9 -8 -7 -6 -7 -8 -8 -8 -10 -12 -13 -13 -13 -13 -14 -15 -15 -15 -13 -11 -9 -6 -5 -5 -6 -6 -5 -5 -6 -7 -9 -10 -11 -11 -10 -10 -10 -11 -12 -13 -13 -13 -14 -16 -14 -11 -7 -4 -4 -8 -12 -13 -12 -9 -9 -11 -16 -16 -14 -12 -11 -12 -11 -10 -8 -8 -7 -6 -6 -8 -12 -13 -12 -10 -11 -15 -17 -18 -17 -17 -17 -18 -18 -18 -17 -17 -18 -19 -19 -18 -17 -17 -18 -20 -22 -24 -24 -24 -23 -22 -20 -20 -20 -20 -20 -21 -22 -23 -23 -25 -28 -30 -30 -29 -28 -27 -25 -24 -23 -23 -22 -20 -18 -18 -20 -22 -25 -26 -26 -23 -20 -20 -20 -20 -20 -21 -24 -25 -25 -23 -21 -20 -20 -20 -19 -20 -21 -23 -27 -26 -25 -24 -23 -22 -21 -22 -22 -22 -22 -21 -21 -22 -25 -26 -26 -26 -26 -29 -32 -33 -31 -28 -26 -24 -22 -24 -25 -27 -29 -31 -31 -28 -26 -24 -23 -22 -20 -19 -19 -20 -20 -20 -19 -18 -19 -20 -21 -21 -22 -22 -21 -21 -21 -21 -22 -21 -18 -19 -21 -22 -22 -22 -21 -20 -19 -19 -17 -17 -18 -18 -21 -24 -26 -25 -23 -23 -1 -3 -4 -6 -7 -7 -6 -5 -5 -5 -5 -5 -6 -6 -7 -9 -12 -13 -13 -11 -9 -8 -8 -7 -6 -5 -4 -5 -5 -5 -5 -5 -6 -6 -4 -3 -2 -2 -3 -5 -6 -5 -2 -0 -1 -2 -1 1 2 2 2 3 4 4 3 3 1 -0 -2 -2 -2 -0 -0 -0 -1 -4 -5 -4 -3 -2 -1 -2 -1 -0 1 2 2 -0 -4 -6 -4 -3 -2 -3 -4 -5 -7 -8 -8 -6 -3 1 4 7 9 10 10 8 6 4 3 1 3 3 3 2 2 2 3 5 8 8 7 5 2 -1 -1 -0 1 -0 -1 -3 -5 -8 -8 -7 -6 -6 -6 -5 -5 -5 -7 -9 -14 -19 -21 -16 -9 -5 -5 -8 -10 -10 -10 -8 -7 -5 -3 -0 2 2 -0 -1 -3 -5 -7 -10 -12 -12 -11 -10 -9 -9 -7 -5 -5 -7 -8 -8 -7 -6 -4 -4 -4 -5 -7 -8 -9 -11 -13 -14 -13 -12 -11 -10 -10 -9 -8 -7 -6 -6 -7 -7 -8 -10 -11 -13 -13 -13 -14 -15 -16 -16 -16 -14 -11 -8 -6 -6 -6 -6 -6 -6 -6 -6 -7 -9 -11 -12 -12 -10 -10 -10 -11 -13 -13 -14 -16 -20 -19 -14 -8 -3 -0 -4 -8 -12 -12 -10 -8 -8 -13 -16 -17 -16 -16 -16 -15 -12 -9 -8 -7 -5 -3 -5 -11 -14 -13 -10 -12 -15 -17 -17 -15 -16 -16 -17 -18 -18 -18 -19 -19 -19 -20 -19 -18 -17 -16 -18 -20 -22 -22 -23 -23 -21 -18 -19 -20 -20 -20 -19 -20 -20 -21 -22 -24 -26 -28 -28 -28 -27 -26 -25 -23 -23 -22 -21 -20 -19 -19 -20 -21 -23 -25 -25 -22 -21 -20 -19 -19 -19 -23 -25 -26 -24 -22 -21 -20 -19 -19 -19 -20 -21 -24 -25 -25 -25 -23 -22 -20 -20 -21 -22 -22 -21 -21 -22 -26 -26 -24 -23 -23 -26 -30 -33 -32 -31 -27 -23 -21 -24 -25 -27 -29 -31 -32 -31 -29 -26 -25 -23 -22 -20 -20 -22 -22 -21 -18 -18 -19 -20 -21 -22 -22 -21 -21 -20 -20 -21 -21 -23 -20 -18 -18 -20 -21 -21 -20 -19 -21 -21 -20 -18 -18 -21 -22 -24 -25 -25 -22 -21 -1 -3 -4 -5 -7 -7 -7 -6 -6 -5 -5 -5 -5 -6 -7 -9 -10 -12 -12 -10 -9 -8 -8 -7 -6 -5 -5 -5 -5 -5 -6 -7 -7 -6 -4 -3 -2 -2 -4 -5 -4 -1 1 2 -1 -1 -0 1 1 -0 1 2 4 4 2 2 1 1 -1 -2 -2 -2 -2 -3 -5 -7 -7 -6 -4 -2 -1 -1 -0 1 3 4 3 1 -2 -6 -4 -2 -1 -2 -2 -4 -6 -8 -9 -8 -7 -6 -4 -0 4 6 8 7 6 4 1 -1 -1 -0 1 4 5 6 5 6 7 8 8 6 3 1 -0 -0 -0 -1 -2 -3 -5 -7 -7 -6 -5 -4 -5 -6 -7 -7 -8 -7 -8 -12 -15 -14 -9 -4 -3 -5 -7 -9 -10 -10 -9 -8 -6 -3 -0 1 1 1 -1 -2 -4 -7 -10 -11 -11 -10 -9 -9 -8 -7 -7 -7 -8 -9 -8 -7 -7 -4 -3 -4 -6 -8 -9 -10 -11 -12 -13 -13 -12 -11 -10 -10 -9 -8 -6 -6 -6 -6 -7 -8 -10 -12 -13 -14 -15 -15 -16 -16 -17 -16 -13 -10 -8 -7 -6 -6 -6 -6 -6 -6 -6 -8 -9 -11 -11 -11 -10 -10 -11 -13 -13 -14 -16 -21 -22 -18 -12 -6 -1 -0 -3 -8 -11 -11 -9 -7 -8 -13 -16 -18 -18 -18 -16 -13 -9 -7 -7 -6 -3 -3 -9 -13 -13 -11 -13 -15 -16 -16 -15 -15 -15 -16 -17 -18 -18 -19 -19 -19 -19 -19 -18 -17 -16 -16 -18 -20 -20 -21 -21 -20 -18 -18 -20 -20 -19 -18 -18 -19 -21 -21 -22 -24 -25 -26 -27 -27 -26 -24 -22 -23 -23 -23 -21 -20 -19 -19 -19 -20 -24 -27 -25 -23 -21 -19 -18 -18 -20 -22 -24 -24 -23 -22 -21 -20 -19 -18 -18 -20 -23 -25 -26 -25 -23 -22 -20 -19 -20 -21 -21 -20 -20 -22 -26 -25 -22 -20 -21 -25 -29 -31 -31 -30 -26 -22 -19 -21 -24 -26 -29 -31 -33 -34 -32 -29 -27 -24 -23 -22 -21 -22 -22 -21 -18 -18 -18 -20 -21 -22 -22 -21 -19 -19 -20 -20 -20 -21 -21 -19 -18 -18 -20 -21 -21 -20 -23 -23 -22 -20 -21 -22 -23 -25 -26 -25 -22 -21 -1 -2 -3 -4 -7 -7 -8 -7 -6 -5 -4 -4 -5 -6 -6 -8 -9 -11 -10 -9 -9 -9 -10 -9 -7 -5 -5 -4 -4 -5 -7 -9 -8 -7 -5 -3 -3 -4 -4 -4 1 4 4 2 -0 -0 2 2 1 -0 1 3 4 4 2 2 2 1 -1 -2 -2 -2 -2 -4 -7 -9 -9 -7 -5 -3 -2 -1 -0 1 3 4 3 2 -0 -3 -2 -1 -1 -1 -0 -1 -3 -6 -7 -7 -7 -7 -7 -5 -2 1 4 6 5 3 1 -1 -3 -3 -3 -0 4 7 8 7 8 8 8 6 3 -0 -0 -0 1 -1 -3 -5 -7 -10 -9 -7 -4 -2 -2 -4 -6 -9 -11 -10 -9 -9 -9 -10 -7 -4 -3 -3 -3 -4 -6 -8 -9 -9 -9 -7 -4 -1 1 2 2 -0 -3 -5 -8 -10 -11 -10 -10 -9 -8 -8 -8 -8 -9 -8 -8 -8 -8 -6 -5 -5 -6 -8 -9 -9 -9 -9 -11 -13 -14 -13 -12 -10 -9 -8 -7 -7 -6 -6 -6 -7 -8 -10 -12 -14 -15 -15 -16 -16 -17 -17 -15 -13 -11 -9 -8 -6 -6 -6 -6 -7 -7 -8 -8 -10 -10 -11 -11 -11 -12 -13 -13 -13 -16 -21 -23 -20 -15 -11 -5 -2 -1 -4 -7 -9 -8 -6 -5 -8 -13 -17 -19 -19 -18 -14 -8 -7 -9 -9 -7 -5 -8 -11 -12 -11 -14 -16 -16 -16 -16 -15 -15 -15 -16 -16 -17 -18 -19 -19 -18 -18 -19 -18 -17 -16 -16 -18 -19 -19 -19 -19 -18 -18 -20 -20 -19 -17 -18 -19 -20 -20 -22 -23 -24 -25 -26 -27 -27 -25 -23 -23 -24 -24 -22 -21 -20 -20 -19 -20 -24 -28 -28 -25 -22 -20 -17 -16 -18 -20 -22 -24 -24 -23 -21 -20 -19 -18 -18 -19 -22 -25 -26 -25 -22 -21 -19 -18 -19 -20 -20 -20 -20 -21 -24 -24 -21 -19 -22 -26 -28 -29 -28 -28 -25 -21 -17 -17 -20 -25 -28 -31 -33 -34 -33 -31 -28 -26 -24 -23 -22 -22 -21 -20 -18 -18 -18 -19 -20 -21 -22 -21 -19 -18 -19 -19 -19 -20 -19 -19 -20 -21 -22 -23 -23 -23 -23 -23 -22 -22 -22 -22 -24 -25 -25 -23 -21 -20 -3 -2 -2 -3 -6 -7 -8 -8 -7 -4 -3 -4 -5 -6 -6 -7 -8 -9 -8 -8 -8 -9 -11 -10 -7 -5 -4 -4 -4 -6 -8 -9 -9 -8 -6 -5 -5 -6 -4 -1 4 6 4 1 2 3 3 2 2 1 2 3 4 3 3 3 2 1 -0 -1 -1 -0 -0 -3 -6 -9 -9 -7 -6 -4 -4 -3 -2 -0 -0 1 1 1 -0 -1 -1 -1 -1 -1 -0 -0 -1 -3 -4 -3 -3 -3 -5 -7 -6 -4 -0 4 4 4 3 1 -1 -2 -4 -4 -0 4 7 8 8 7 7 5 2 -1 -2 -0 2 1 -2 -5 -10 -14 -14 -11 -6 -2 -1 -2 -4 -7 -10 -13 -14 -12 -9 -7 -5 -4 -3 -2 -1 -1 -1 -3 -5 -8 -10 -10 -8 -6 -3 -0 2 1 -0 -2 -5 -8 -10 -11 -11 -10 -10 -10 -9 -9 -9 -8 -7 -6 -7 -7 -6 -5 -6 -8 -9 -9 -9 -9 -10 -12 -14 -14 -14 -12 -9 -8 -7 -7 -6 -6 -6 -6 -7 -8 -10 -12 -13 -14 -15 -15 -16 -17 -17 -15 -13 -11 -9 -8 -7 -6 -7 -7 -7 -8 -9 -9 -9 -9 -10 -11 -12 -12 -12 -13 -16 -19 -21 -20 -17 -14 -10 -7 -4 -1 -2 -5 -6 -5 -3 -4 -8 -13 -17 -18 -18 -15 -11 -9 -9 -10 -9 -9 -10 -10 -10 -10 -13 -15 -16 -16 -16 -15 -15 -15 -15 -15 -17 -18 -19 -18 -17 -17 -19 -19 -19 -18 -17 -17 -18 -19 -18 -18 -18 -19 -20 -20 -19 -17 -17 -18 -19 -19 -21 -22 -23 -24 -26 -27 -28 -28 -27 -26 -26 -26 -25 -23 -22 -22 -21 -21 -24 -28 -28 -25 -23 -20 -17 -15 -17 -19 -21 -23 -24 -23 -22 -21 -19 -18 -17 -18 -20 -23 -25 -24 -21 -20 -18 -17 -17 -18 -19 -20 -20 -21 -24 -25 -23 -21 -25 -27 -28 -27 -25 -25 -23 -20 -17 -15 -18 -22 -26 -29 -31 -32 -33 -30 -29 -27 -25 -23 -22 -22 -22 -21 -19 -18 -18 -18 -18 -20 -21 -21 -18 -18 -18 -18 -18 -18 -18 -18 -18 -20 -22 -23 -25 -24 -24 -23 -22 -22 -21 -22 -24 -25 -24 -21 -20 -20 -3 -2 -2 -3 -6 -8 -9 -9 -8 -5 -3 -3 -4 -6 -6 -7 -8 -8 -7 -7 -8 -10 -11 -10 -8 -5 -4 -4 -5 -7 -8 -9 -10 -9 -8 -7 -8 -6 -3 1 4 4 3 2 5 5 4 3 3 3 3 4 3 3 3 3 3 1 -0 -0 1 1 1 -1 -3 -6 -7 -7 -6 -5 -5 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -0 -0 -1 -2 -0 1 2 2 -2 -5 -7 -6 -0 4 6 6 4 3 2 1 -2 -2 -0 3 7 7 6 4 3 1 -3 -5 -4 -1 2 1 -3 -9 -17 -19 -16 -11 -6 -4 -3 -2 -3 -6 -12 -16 -18 -14 -9 -6 -4 -3 -3 -2 -0 1 1 -1 -4 -8 -11 -11 -9 -7 -4 -1 1 1 -0 -1 -5 -7 -9 -10 -10 -11 -11 -10 -10 -9 -8 -6 -6 -6 -6 -6 -6 -6 -7 -9 -10 -9 -9 -10 -11 -12 -13 -14 -14 -12 -9 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -11 -12 -14 -15 -16 -16 -17 -16 -14 -13 -11 -10 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -9 -10 -11 -12 -12 -13 -15 -16 -18 -19 -17 -13 -11 -9 -7 -2 -0 -1 -3 -3 -2 -2 -4 -9 -13 -16 -18 -18 -15 -12 -10 -9 -8 -11 -11 -11 -9 -9 -11 -13 -15 -16 -17 -17 -16 -15 -15 -15 -16 -17 -18 -18 -17 -17 -18 -19 -19 -19 -18 -17 -18 -19 -19 -18 -18 -18 -18 -19 -19 -18 -17 -16 -17 -18 -20 -21 -22 -24 -26 -27 -29 -30 -29 -28 -27 -27 -26 -24 -24 -25 -23 -23 -24 -25 -25 -23 -22 -20 -18 -16 -16 -18 -20 -23 -24 -24 -22 -21 -19 -18 -17 -17 -18 -21 -23 -24 -22 -20 -18 -17 -17 -17 -18 -19 -21 -24 -27 -27 -25 -25 -26 -26 -25 -26 -24 -24 -23 -20 -19 -19 -20 -22 -23 -25 -26 -28 -30 -29 -29 -28 -27 -24 -23 -23 -22 -22 -20 -19 -18 -18 -18 -20 -21 -20 -18 -18 -18 -18 -17 -17 -18 -17 -17 -18 -20 -22 -24 -24 -24 -23 -23 -23 -21 -22 -24 -25 -23 -21 -20 -22 -3 -2 -2 -3 -6 -8 -9 -9 -8 -5 -3 -3 -4 -6 -6 -6 -7 -7 -6 -6 -8 -10 -11 -10 -8 -6 -4 -4 -6 -8 -9 -9 -10 -10 -10 -10 -9 -5 -0 3 2 2 3 5 6 6 4 3 4 5 5 5 3 3 3 3 2 1 1 1 2 2 2 -0 -2 -3 -4 -5 -6 -6 -5 -4 -2 -1 -0 -0 -0 -1 -1 -1 -1 -1 -2 -3 -5 -5 -4 -4 -2 -2 1 5 9 6 -0 -6 -9 -7 -0 6 10 10 7 5 5 4 2 1 -0 2 5 6 4 1 -2 -5 -7 -8 -6 -0 2 -1 -8 -15 -18 -16 -12 -8 -8 -7 -6 -5 -5 -9 -14 -18 -17 -12 -8 -5 -3 -3 -3 -2 -0 2 2 -0 -3 -7 -9 -10 -10 -8 -5 -2 -0 -0 -0 -2 -4 -5 -7 -9 -11 -11 -11 -10 -9 -8 -7 -6 -6 -6 -6 -7 -7 -7 -8 -9 -9 -10 -11 -12 -12 -13 -13 -13 -12 -10 -7 -5 -5 -6 -6 -7 -7 -7 -6 -8 -9 -11 -12 -14 -15 -15 -16 -17 -16 -14 -12 -10 -10 -9 -8 -8 -7 -7 -7 -8 -8 -7 -7 -8 -9 -10 -11 -13 -15 -18 -19 -18 -16 -13 -12 -12 -12 -8 -2 1 1 -1 -2 -2 -3 -5 -7 -12 -17 -20 -20 -16 -12 -9 -8 -11 -12 -12 -10 -9 -10 -13 -15 -17 -17 -17 -16 -15 -15 -15 -16 -16 -17 -17 -17 -17 -17 -18 -19 -19 -18 -18 -18 -18 -19 -19 -19 -18 -18 -19 -19 -18 -17 -16 -17 -18 -19 -21 -22 -24 -25 -26 -28 -30 -29 -28 -27 -28 -26 -24 -24 -26 -27 -26 -25 -22 -21 -21 -21 -20 -19 -17 -16 -17 -19 -22 -24 -24 -23 -21 -19 -19 -18 -18 -18 -20 -22 -25 -24 -22 -19 -17 -16 -16 -17 -20 -23 -26 -29 -29 -27 -26 -24 -22 -22 -24 -24 -24 -22 -20 -23 -23 -23 -23 -21 -21 -21 -22 -24 -27 -29 -29 -29 -26 -25 -23 -22 -20 -20 -19 -19 -19 -19 -20 -20 -20 -19 -19 -18 -17 -17 -17 -17 -17 -17 -17 -19 -21 -22 -23 -23 -24 -24 -24 -22 -22 -23 -22 -21 -21 -22 -24